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

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"valid\": true}"
                         ));

            var response = FlowValidateResource.Update("friendly_name", FlowValidateResource.StatusEnum.Draft, "{}", client: twilioRestClient);

            Assert.NotNull(response);
        }
        public void TestUpdateRequest()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();
            var request          = new Request(
                HttpMethod.Post,
                Twilio.Rest.Domain.Studio,
                "/v2/Flows/Validate",
                ""
                );

            request.AddPostParam("FriendlyName", Serialize("friendly_name"));
            request.AddPostParam("Status", Serialize(FlowValidateResource.StatusEnum.Draft));
            request.AddPostParam("Definition", Serialize("{}"));
            twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content"));

            try
            {
                FlowValidateResource.Update("friendly_name", FlowValidateResource.StatusEnum.Draft, "{}", client: twilioRestClient);
                Assert.Fail("Expected TwilioException to be thrown for 500");
            }
            catch (ApiException) {}
            twilioRestClient.Received().Request(request);
        }