예제 #1
0
        public void TestReadEmptyResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"types\": [],\"meta\": {\"page\": 0,\"page_size\": 10,\"first_page_url\": \"https://events.twilio.com/v1/Types?PageSize=10&Page=0\",\"previous_page_url\": null,\"url\": \"https://events.twilio.com/v1/Types?PageSize=10&Page=0\",\"next_page_url\": null,\"key\": \"types\"}}"
                         ));

            var response = EventTypeResource.Read(client: twilioRestClient);

            Assert.NotNull(response);
        }
예제 #2
0
        public void TestReadResultsResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"types\": [{\"date_created\": \"2020-08-13T12:50:18Z\",\"date_updated\": \"2020-08-13T13:28:48Z\",\"type\": \"com.twilio.test.example\",\"schema_id\": \"EventStreams.SampleSchema\",\"description\": \"A sample event type\",\"url\": \"https://events.twilio.com/v1/Types/com.twilio.test.example\",\"links\": {\"schema\": \"https://events.twilio.com/v1/Schemas/EventStreams.SampleSchema/Versions\"}},{\"date_created\": \"2020-08-13T12:50:19Z\",\"date_updated\": \"2020-08-13T13:28:49Z\",\"type\": \"com.twilio.test.example2\",\"schema_id\": \"EventStreams.SampleSchema\",\"description\": \"Another sample event type\",\"url\": \"https://events.twilio.com/v1/Types/com.twilio.test.example2\",\"links\": {\"schema\": \"https://events.twilio.com/v1/Schemas/EventStreams.SampleSchema/Versions\"}}],\"meta\": {\"page\": 0,\"page_size\": 20,\"first_page_url\": \"https://events.twilio.com/v1/Types?PageSize=20&Page=0\",\"previous_page_url\": null,\"url\": \"https://events.twilio.com/v1/Types?PageSize=20&Page=0\",\"next_page_url\": null,\"key\": \"types\"}}"
                         ));

            var response = EventTypeResource.Read(client: twilioRestClient);

            Assert.NotNull(response);
        }
예제 #3
0
        public void TestFetchResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"date_created\": \"2020-08-13T12:50:18Z\",\"date_updated\": \"2020-08-13T13:28:48Z\",\"type\": \"com.twilio.test.example\",\"schema_id\": \"EventStreams.SampleSchema\",\"description\": \"A sample subscription\",\"url\": \"https://events.twilio.com/v1/Types/com.twilio.test.example\",\"links\": {\"schema\": \"https://events.twilio.com/v1/Schemas/EventStreams.SampleSchema/Versions\"}}"
                         ));

            var response = EventTypeResource.Fetch("type", client: twilioRestClient);

            Assert.NotNull(response);
        }
예제 #4
0
        public void TestFetchRequest()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();
            var request          = new Request(
                HttpMethod.Get,
                Twilio.Rest.Domain.Events,
                "/v1/Types/type",
                ""
                );

            twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content"));

            try
            {
                EventTypeResource.Fetch("type", client: twilioRestClient);
                Assert.Fail("Expected TwilioException to be thrown for 500");
            }
            catch (ApiException) {}
            twilioRestClient.Received().Request(request);
        }