public void TestCreateResponse() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); twilioRestClient.Request(Arg.Any <Request>()) .Returns(new Response( System.Net.HttpStatusCode.Created, "{\"status\": \"initialized\",\"sink_configuration\": {\"arn\": \"4242\",\"role_arn\": \"abc123\",\"external_id\": \"010101\"},\"description\": \"description\",\"sid\": \"DGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"date_created\": \"2015-07-30T20:00:00Z\",\"sink_type\": \"kinesis\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"url\": \"https://events.twilio.com/v1/Sinks/DGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"links\": {\"sink_test\": \"https://events.twilio.com/v1/Sinks/DGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Test\",\"sink_validate\": \"https://events.twilio.com/v1/Sinks/DGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Validate\"}}" )); var response = SinkResource.Create("description", "{}", SinkResource.SinkTypeEnum.Kinesis, client: twilioRestClient); Assert.NotNull(response); }
public void TestCreateRequest() { var twilioRestClient = Substitute.For <ITwilioRestClient>(); var request = new Request( HttpMethod.Post, Twilio.Rest.Domain.Events, "/v1/Sinks", "" ); request.AddPostParam("Description", Serialize("description")); request.AddPostParam("SinkConfiguration", Serialize("{}")); request.AddPostParam("SinkType", Serialize(SinkResource.SinkTypeEnum.Kinesis)); twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content")); try { SinkResource.Create("description", "{}", SinkResource.SinkTypeEnum.Kinesis, client: twilioRestClient); Assert.Fail("Expected TwilioException to be thrown for 500"); } catch (ApiException) {} twilioRestClient.Received().Request(request); }