예제 #1
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        // DANGER! This is insecure. See http://twil.io/secure
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var settings = SettingsResource.Update(dialingPermissionsInheritance: true);

        Console.WriteLine(settings.DialingPermissionsInheritance);
    }
예제 #2
0
        public void TestUpdateResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"dialing_permissions_inheritance\": true,\"url\": \"https://voice.twilio.com/v1/Settings\"}"
                         ));

            var response = SettingsResource.Update(client: twilioRestClient);

            Assert.NotNull(response);
        }
예제 #3
0
        public static IEnumerable <T> Enumerate <T>(
            string resourceType,
            Dictionary <string, Dictionary <string, VersionManifestEntry> > customResources)
        {
            if (customResources == null)
            {
                Control.LogDebug(DType.CustomResource, $"customResources not found");
                yield break;
            }

            if (!customResources.TryGetValue(resourceType, out var entries))
            {
                Control.LogDebug(DType.CustomResource, $"{resourceType} not found");
                yield break;
            }

            foreach (var entry in entries.Values)
            {
                var settings = new SettingsResource <T>();
                try
                {
                    Control.LogDebug(DType.CustomResource, $"Reading {entry.FilePath}");
                    using (var reader = new StreamReader(entry.FilePath))
                    {
                        var json = reader.ReadToEnd();
                        JSONSerializationUtility.FromJSON(settings, json);
                    }
                }
                catch (Exception e)
                {
                    Control.LogDebug(DType.CustomResource, $"Couldn't read {entry.FilePath}", e);
                }

                if (settings.Settings == null)
                {
                    Control.LogDebug(DType.CustomResource, $"Settings is null in {entry.FilePath}");
                    continue;
                }

                Control.LogDebug(DType.CustomResource, $" - total {settings.Settings.Count} entries loaded");

                foreach (var settingsEntry in settings.Settings)
                {
                    yield return(settingsEntry);
                }
            }
        }
예제 #4
0
        public void TestUpdateRequest()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();
            var request          = new Request(
                HttpMethod.Post,
                Twilio.Rest.Domain.Voice,
                "/v1/Settings",
                ""
                );

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

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