public void TestReadFullResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"meta\": {\"page\": 10,\"page_size\": 5,\"first_page_url\": \"https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=0\",\"previous_page_url\": \"https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=9&PageToken=DP10\",\"next_page_url\": null,\"key\": \"metrics\",\"url\": \"https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=10\"},\"metrics\": [{\"timestamp\": \"2019-10-07T22:32:06Z\",\"call_sid\": \"CA7569efe0253644fa4a88aa97beca3310\",\"account_sid\": \"AC998c10b68cbfda9f67277f7d8f4439c9\",\"edge\": \"sdk_edge\",\"direction\": \"both\",\"sdk_edge\": {\"interval\": {\"packets_received\": 50,\"packets_lost\": 0,\"audio_in\": {\"value\": 81.0},\"audio_out\": {\"value\": 5237.0},\"jitter\": {\"value\": 9},\"mos\": {\"value\": 4.39},\"rtt\": {\"value\": 81}},\"cumulative\": {\"bytes_received\": 547788,\"bytes_sent\": 329425,\"packets_received\": 3900,\"packets_lost\": 0,\"packets_sent\": 3934}},\"client_edge\": null,\"carrier_edge\": null,\"sip_edge\": null,\"gateway\": null,\"client\": null}]}"
                         ));

            var response = MetricResource.Read("CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);

            Assert.NotNull(response);
        }
        public void TestReadRequest()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();
            var request          = new Request(
                HttpMethod.Get,
                Twilio.Rest.Domain.Insights,
                "/v1/Voice/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Metrics",
                ""
                );

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

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