コード例 #1
0
        public void UnitTests_V2_PhaxCode_RetrievePngWithIdentifier()
        {
            var pngBytes = BinaryFixtures.GetTestPhaxCode();

            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Resource("phax_codes/1234.png")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsPng()
                             .RawBytes(pngBytes)
                             .Ok()
                             .Build();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var phaxCode = new PhaxCode {
                Identifier = "1234", PhaxioClient = phaxio
            };

            Assert.AreEqual(pngBytes, phaxCode.Png);
        }
コード例 #2
0
        public void UnitTests_V2_Fax_Download()
        {
            var pdfInBytes = BinaryFixtures.GetTestPdf();

            Action <IRestRequest> parameterAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(parameters["thumbnail"], "l");
            };

            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Custom(parameterAsserts)
                                 .Resource("faxes/123456/file")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsPdf()
                             .RawBytes(pdfInBytes)
                             .Ok()
                             .Build();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var fax = new FaxFile(123456, thumbnail: "l");

            fax.PhaxioClient = phaxio;

            var faxBytes = fax.Bytes;

            Assert.AreEqual(pdfInBytes, faxBytes, "Fax bytes should be the same");
        }
コード例 #3
0
        public void UnitTests_V2_PhoneNumber_Retrieve()
        {
            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Resource("phone_numbers/+18475551234")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/provision_number"))
                             .Ok()
                             .Build <Response <PhoneNumber> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var number = phaxio.PhoneNumber.Retrieve("+18475551234");

            var lastBilledAt  = Convert.ToDateTime("2016-06-16T15:45:32.000-06:00");
            var provisionedAt = Convert.ToDateTime("2016-06-16T15:45:32.000-06:00");

            Assert.AreEqual("+18475551234", number.Number);
            Assert.AreEqual("Northbrook", number.City);
            Assert.AreEqual("Illinois", number.State);
            Assert.AreEqual("United States", number.Country);
            Assert.AreEqual(200, number.Cost);
            Assert.AreEqual(lastBilledAt, number.LastBilledAt);
            Assert.AreEqual(provisionedAt, number.ProvisionedAt);
            Assert.AreEqual("http://example.com", number.CallbackUrl);
        }
コード例 #4
0
        public void UnitTests_V2_Fax_Create_With_Byte_Arrays()
        {
            var testPdfBytes = BinaryFixtures.GetTestPdf();
            var testPdfName  = "FileName";

            Action <IRestRequest> parameterAsserts = req =>
            {
                Assert.AreEqual(1, req.Files.Count);
                Assert.AreEqual(testPdfName, req.Files.First().FileName);
                Assert.AreEqual(testPdfBytes, req.Files.First().Bytes);
            };

            var requestAsserts = new RequestAsserts()
                                 .Post()
                                 .Custom(parameterAsserts)
                                 .Resource("faxes")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/fax_send"))
                             .Ok()
                             .Build <Response <Fax> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var fax = phaxio.Fax.Create(to: "123",
                                        byteArrays: new byte[][] { testPdfBytes },
                                        fileNames: new string[] { testPdfName });
        }
コード例 #5
0
        public async void RestClientBuilder_CreateInstanceTest()
        {
            RestClientBuilder <IFakeAPI> builder = new RestClientBuilder <IFakeAPI>();
            var obj = builder.Build();

            Assert.NotNull(obj);
        }
コード例 #6
0
        public void UnitTests_V2_PhaxCode_Create()
        {
            Action <IRestRequest> parameterAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual("stuff", parameters["metadata"]);
            };

            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Post()
                                 .Custom(parameterAsserts)
                                 .Resource("phax_codes.json")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/phax_code"))
                             .Ok()
                             .Build <Response <PhaxCode> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var code = phaxio.PhaxCode.Create("stuff");

            Assert.AreEqual("1234", code.Identifier);
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: cDoru/Misc
        static void Main(string[] args)
        {
            const string buildUrl = "http://*****:*****@"C:\Users\Daniel\Documents\Visual Studio 2013\Projects\OwinSelfHost\Cache\");

            var inMemoryStorage = new InMemoryStorage();

            var client = builder
                         .WithLoading(inMemoryStorage)
                         .WithSaving(inMemoryStorage)
                         .Build();

            //builder.Splitter.Routes(
            //    r => r.Logic(p => p.Contains("product")).Route(r => r.CacheToFile("fdff").EndPoint("fdsfdf"))
            //    );

            var logger = new RestClientLogger(client);

            using (var server = new Server(buildUrl, logger))
            {
                System.Console.WriteLine("Press any key to close");
                System.Console.ReadKey();
            }
        }
コード例 #8
0
        public void UnitTests_V2_Fax_Retrieve()
        {
            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Resource("faxes/123456")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/fax_info"))
                             .Ok()
                             .Build <Response <Fax> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var faxInfo = phaxio.Fax.Retrieve(123456);

            DateTime completedAt = Convert.ToDateTime("2015-09-02T11:28:54.000-05:00");

            Assert.AreEqual(123456, faxInfo.Id, "");
            Assert.AreEqual("Alice", faxInfo.CallerName, "");
            Assert.AreEqual(2, faxInfo.Barcodes.Count(), "");

            var barcode = faxInfo.Barcodes.First();

            Assert.AreEqual("barcode-type-1", barcode.Type, "");
            Assert.AreEqual(1, barcode.Page, "");
            Assert.AreEqual("barcode-value-1", barcode.Value, "");
            Assert.AreEqual("phax-code-id-1", barcode.Identifier, "");
            Assert.AreEqual("phax-code-metadata-1", barcode.Metadata, "");

            Assert.AreEqual("sent", faxInfo.Direction, "");
            Assert.AreEqual(3, faxInfo.NumPages, "");
            Assert.AreEqual("success", faxInfo.Status, "");
            Assert.IsTrue(faxInfo.IsTest, "");
            Assert.AreEqual(completedAt, faxInfo.CompletedAt.Value, "");
            Assert.AreEqual(21, faxInfo.Cost, "");
            Assert.AreEqual("123", faxInfo.FromNumber, "");
            Assert.AreEqual("order_id", faxInfo.Tags.First().Key, "");
            Assert.AreEqual("1234", faxInfo.Tags.First().Value, "");
            Assert.AreEqual("321", faxInfo.ToNumber, "");
            Assert.AreEqual(42, faxInfo.ErrorId.Value, "");
            Assert.AreEqual("error_type", faxInfo.ErrorType, "");
            Assert.AreEqual("error_message", faxInfo.ErrorMessage, "");

            var recipient = faxInfo.Recipients.First();

            Assert.AreEqual("+14141234567", recipient.PhoneNumber);
            Assert.AreEqual("success", recipient.Status, "");
            Assert.AreEqual(0, recipient.RetryCount);
            Assert.AreEqual(completedAt, recipient.CompletedAt.Value, "");
            Assert.AreEqual(14400, recipient.Bitrate);
            Assert.AreEqual(8040, recipient.Resolution);
            Assert.AreEqual(41, recipient.ErrorId.Value, "");
            Assert.AreEqual("recipient_error_type", recipient.ErrorType, "");
            Assert.AreEqual("recipient_error_message", recipient.ErrorMessage, "");
        }
コード例 #9
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.Register(x => RestClientBuilder.New().WithSerializer(new JsonSerializer()).Build()).As <IRestClient>().SingleInstance();

            builder.Register(x => new NLogLogger("BookWorm"))
            .As <Bolt.Logger.ILogger>()
            .SingleInstance();
        }
コード例 #10
0
        public void UnitTests_V2_Fax_Create()
        {
            var testPdf = BinaryFixtures.getTestPdfFile();

            Action <IRestRequest> parameterAsserts = req =>
            {
                Assert.AreEqual(1, req.Files.Count);
                Assert.AreEqual(testPdf.Name, req.Files.First().FileName);

                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual("123", parameters["to"]);
                Assert.AreEqual("http://example.com", parameters["content_url"]);
                Assert.AreEqual("blah", parameters["header_text"]);
                Assert.AreEqual(10, parameters["batch_delay"]);
                Assert.AreEqual(true, parameters["batch_collision_avoidance"]);
                Assert.AreEqual("http://example.org", parameters["callback_url"]);
                Assert.AreEqual(30, parameters["cancel_timeout"]);
                Assert.AreEqual("value", parameters["tag[key]"]);
                Assert.AreEqual("Bob", parameters["caller_id"]);
                Assert.AreEqual("Send failure", parameters["test_fail"]);
            };

            var requestAsserts = new RequestAsserts()
                                 .Post()
                                 .Custom(parameterAsserts)
                                 .Resource("faxes")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/fax_send"))
                             .Ok()
                             .Build <Response <Fax> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var fax = phaxio.Fax.Create(to: "123",
                                        file: testPdf,
                                        contentUrl: "http://example.com",
                                        headerText: "blah",
                                        batchDelay: 10,
                                        batchCollisionAvoidance: true,
                                        callbackUrl: "http://example.org",
                                        cancelTimeout: 30,
                                        tags: new Dictionary <string, string>()
            {
                { "key", "value" }
            },
                                        callerId: "Bob",
                                        testFail: "Send failure");

            Assert.AreEqual(1234, fax.Id);
        }
コード例 #11
0
        public async void RestClientBuilder_CallInstanceMethodTest()
        {
            RestClientBuilder <IFakeAPI> builder = new RestClientBuilder <IFakeAPI>();
            var obj  = builder.Build();
            var temp = await obj.GetPosts();

            Assert.NotEmpty(temp);

            var result = await obj.GetEarthquakesLocation();

            Assert.NotNull(result);
        }
コード例 #12
0
        public void UnitTests_V2_Fax_List()
        {
            var createdBeforeTxt = "2016-02-01T00:00:00Z";
            var createdBefore    = DateTime.Parse(createdBeforeTxt).ToUniversalTime();

            var createdAfterTxt = "2016-01-01T00:00:00Z";
            var createdAfter    = DateTime.Parse(createdAfterTxt).ToUniversalTime();

            Action <IRestRequest> parameterAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(createdBeforeTxt, parameters["created_before"]);
                Assert.AreEqual(createdAfterTxt, parameters["created_after"]);
                Assert.AreEqual("sent", parameters["direction"]);
                Assert.AreEqual("finished", parameters["status"]);
                Assert.AreEqual("1234", parameters["phone_number"]);
                Assert.AreEqual("value", parameters["tag[key]"]);
                Assert.AreEqual(25, parameters["per_page"]);
                Assert.AreEqual(1, parameters["page"]);
            };

            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Custom(parameterAsserts)
                                 .Resource("faxes")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/fax_list"))
                             .Ok()
                             .Build <Response <List <Fax> > >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var list = phaxio.Fax.List(
                createdBefore: createdBefore,
                createdAfter: createdAfter,
                direction: "sent",
                status: "finished",
                phoneNumber: "1234",
                tagName: "key",
                tagValue: "value",
                page: 1,
                perPage: 25
                );

            Assert.AreEqual(3, list.Count());
        }
コード例 #13
0
        public void Should_Set_ReadWriteTimeout_To_Default_If_Config_Null()
        {
            // Arrange.
            Config config = null;
            int    expectedReadWriteTimeout = RestClientBuilder.DEFAULT_READWRITE_TIMEOUT;

            // Act.
            IRestClient restClient = new RestClientBuilder().createRestClient(config);

            // Assert.
            Assert.IsNotNull(restClient, "RestClient should not be null.");
            Assert.AreEqual(expectedReadWriteTimeout, restClient.ReadWriteTimeout);
        }
コード例 #14
0
        public void Should_Not_Set_Credentials_When_Password_Missing()
        {
            // Arrange.
            Config config = GetConfigWithCredentials();;

            config.remove("http.basicauth.password");

            // Act.
            IRestClient restClient = new RestClientBuilder().createRestClient(config);

            // Assert.
            Assert.IsNotNull(restClient, "RestClient should not be null.");
            Assert.IsNull(restClient.Credentials);
        }
コード例 #15
0
        public void Should_Not_Set_Proxy_When_ProxyHost_Not_Supplied()
        {
            // Arrange.
            Config config = GetConfigWithProxyInfo();

            config.remove("http.proxy.host");

            // Act.
            IRestClient restClient = new RestClientBuilder().createRestClient(config);

            // Assert.
            Assert.IsNotNull(restClient, "RestClient should not be null.");
            Assert.IsNull(restClient.Proxy);
        }
コード例 #16
0
        public void Should_Set_Credentials_When_UserName_And_Password_Supplied()
        {
            // Arrange.
            Config config = GetConfigWithCredentials();

            // Act.
            IRestClient restClient = new RestClientBuilder().createRestClient(config);

            // Assert.
            Assert.IsNotNull(restClient, "RestClient should not be null.");
            Assert.IsNotNull(restClient.Credentials, "Credentials should not be null.");
            Assert.AreEqual(config.get("http.basicauth.username"), restClient.Credentials.UserName);
            Assert.AreEqual(config.get("http.basicauth.password"), restClient.Credentials.Password);
        }
コード例 #17
0
        public void UnitTests_V2_Numbers_ListAreaCodes()
        {
            Action <IRestRequest> parameterAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual(true, parameters["toll_free"]);
                Assert.AreEqual("1", parameters["country_code"]);
                Assert.AreEqual("US", parameters["country"]);
                Assert.AreEqual("WA", parameters["state"]);
                Assert.AreEqual(25, parameters["per_page"]);
                Assert.AreEqual(1, parameters["page"]);
            };

            var requestAsserts = new RequestAsserts()
                                 .Get()
                                 .Custom(parameterAsserts)
                                 .Resource("public/area_codes")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/list_area_codes"))
                             .Ok()
                             .Build <Response <List <AreaCode> > >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var list = phaxio.Public.AreaCode.List(
                countryCode: "1",
                tollFree: true,
                country: "US",
                state: "WA",
                page: 1,
                perPage: 25
                );

            Assert.AreEqual(3, list.Count());

            var areaCode = list.First();

            Assert.AreEqual("1", areaCode.CountryCode);
            Assert.AreEqual("201", areaCode.AreaCodeNumber);
            Assert.AreEqual("Bayonne, Jersey City, Union City", areaCode.City);
            Assert.AreEqual("New Jersey", areaCode.State);
            Assert.AreEqual("United States", areaCode.Country);
            Assert.IsFalse(areaCode.TollFree);
        }
コード例 #18
0
        public void callback(SparqlResultSet results, Object u)
        {
            try
            {
                List <Event>  events = new List <Event>();
                IMessengerApi api    = RestClientBuilder.GetMessengerApi();
                //System.Console.WriteLine("Query Callback");

                if (results.Count > 0 && u is CallbackData)
                {
                    CallbackData user = (CallbackData)u;
                    //System.Console.WriteLine("Found Results");
                    foreach (SparqlResult res in results)
                    {
                        try
                        {
                            Event e = ResultParser.GetEvent(res);
                            events.Add(e);
                            //System.Console.WriteLine("Datum: " + e.startDate);
                            //System.Console.WriteLine("Dend: " + e.endDate);
                        } catch (Exception ex)
                        {
                            System.Console.WriteLine(ex);
                        }
                    }
                    rm.SendTextMessage(user.Id, DataConstants.GetMessage("Found", user.Language));
                    //System.Console.WriteLine(JsonConvert.SerializeObject(CarouselFactory.makeCarousel(user.Id, events, user.Language)));
                    String result = api.SendMessageToUser(CarouselFactory.makeCarousel(user.Id, events, user.Language)).Result;
                }
                else if (u is CallbackData)
                {
                    CallbackData user = (CallbackData)u;
                    rm.SendNoEventFound(user.Id, user.Language);
                    rm.SendConfirmation(user.Id, user.Language);
                }
                else if (u is VDS.RDF.AsyncError)
                {
                    VDS.RDF.AsyncError error = (VDS.RDF.AsyncError)u;
                    CallbackData       user  = (CallbackData)error.State;
                    string             hmess = DataConstants.GetMessage("Error", user.Language);
                    rm.SendTextMessage(user.Id, hmess);
                }
                // System.Console.WriteLine("End of query method");
            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex);
            }
        }
コード例 #19
0
        public void UnitTests_V2_Fax_Create_With_Byte_Arrays_No_File_Names()
        {
            var testPdfBytes = BinaryFixtures.GetTestPdf();

            var restClient = new RestClientBuilder()
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/fax_send"))
                             .Ok()
                             .Build <Response <Fax> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            Assert.Throws <ArgumentException>(
                () => { phaxio.Fax.Create(to: "123", byteArrays: new byte[][] { testPdfBytes }); });
        }
コード例 #20
0
        public void Should_Set_ProxyPort_To_Default_When_No_ProxyPort_Supplied()
        {
            // Arrange.
            Config config = GetConfigWithProxyInfo();

            config.remove("http.proxy.port");
            int expectedPort = RestClientBuilder.DEFAULT_PROXY_PORT;

            // Act.
            IRestClient restClient = new RestClientBuilder().createRestClient(config);

            // Assert.
            Assert.IsNotNull(restClient, "RestClient should not be null.");
            Assert.IsNotNull(restClient.Proxy, "Proxy should not be null.");
            Assert.AreEqual(expectedPort, restClient.Proxy.Port);
        }
コード例 #21
0
        public void GivenRequestContextWithMissingAuthorization_WhenBuildRestClient_ThenItPopulatesCorrelationIdOnly()
        {
            // ARRANGE
            var context = _fixture.Fake <IRequestContext>();

            context.CorrelationId.Returns(CorrelationIdValue);

            var sut = new RestClientBuilder(context);

            // ACT
            var actual = sut.Build <ISampleClient>("http://sampleapi.com");

            // ASSERT
            actual.Authorization.Should().BeNull();
            actual.CorrelationId.Should().Be(CorrelationIdValue);
        }
コード例 #22
0
        public void Should_Set_ReadWriteTimeout_To_Value_In_Config()
        {
            // Arrange.
            Config config           = Config.getConfig();
            string clientTimeoutKey = "http.client.connection.timeout";

            config.add(clientTimeoutKey, "1500");
            int expectedReadWriteTimeout = config.getAsInteger(clientTimeoutKey,
                                                               RestClientBuilder.DEFAULT_READWRITE_TIMEOUT);

            // Act.
            IRestClient restClient = new RestClientBuilder().createRestClient(config);

            // Assert.
            Assert.IsNotNull(restClient, "RestClient should not be null.");
            Assert.AreEqual(expectedReadWriteTimeout, restClient.ReadWriteTimeout);
        }
コード例 #23
0
        public void UnitTests_V2_PhoneNumber_Create()
        {
            Action <IRestRequest> parameterAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual("1", parameters["country_code"]);
                Assert.AreEqual("808", parameters["area_code"]);
                Assert.AreEqual("http://example.com", parameters["callback_url"]);
            };

            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Post()
                                 .Custom(parameterAsserts)
                                 .Resource("phone_numbers")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/provision_number"))
                             .Ok()
                             .Build <Response <PhoneNumber> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var number = phaxio.PhoneNumber.Create(
                countryCode: "1",
                areaCode: "808",
                callbackUrl: "http://example.com"
                );

            var lastBilledAt  = Convert.ToDateTime("2016-06-16T15:45:32.000-06:00");
            var provisionedAt = Convert.ToDateTime("2016-06-16T15:45:32.000-06:00");

            Assert.AreEqual("+18475551234", number.Number);
            Assert.AreEqual("Northbrook", number.City);
            Assert.AreEqual("Illinois", number.State);
            Assert.AreEqual("United States", number.Country);
            Assert.AreEqual(200, number.Cost);
            Assert.AreEqual(lastBilledAt, number.LastBilledAt);
            Assert.AreEqual(provisionedAt, number.ProvisionedAt);
            Assert.AreEqual("http://example.com", number.CallbackUrl);
        }
コード例 #24
0
        public void GivenProperRequestContext_WhenBuildRestClient_ThenItPopulatesCorrelationIdAndAuthorizationHeader()
        {
            // ARRANGE
            var context = _fixture.Fake <IRequestContext>();

            context.AuthorizationHeader.Returns(AuthorizationHeaderValue);
            context.CorrelationId.Returns(CorrelationIdValue);

            var sut = new RestClientBuilder(context);

            // ACT
            var actual = sut.Build <ISampleClient>("http://sampleapi.com");

            // ASSERT
            actual.Authorization.Parameter.Should().Be("AuthorizationHeader");
            actual.Authorization.Scheme.Should().Be("Bearer");
            actual.CorrelationId.Should().Be(CorrelationIdValue);
        }
コード例 #25
0
        public void Should_Set_Proxy_When_ProxyHost_Supplied()
        {
            // Arrange.
            Config config       = GetConfigWithProxyInfo();
            int    expectedPort =
                config.getAsInteger("http.proxy.port", RestClientBuilder.DEFAULT_PROXY_PORT);

            // Act.
            IRestClient restClient = new RestClientBuilder().createRestClient(config);

            // Assert.
            Assert.IsNotNull(restClient, "RestClient should not be null.");
            Assert.IsNotNull(restClient.Proxy, "Proxy should not be null.");
            Assert.AreEqual(config.get("http.proxy.host"), restClient.Proxy.Address);
            Assert.AreEqual(expectedPort, restClient.Proxy.Port);
            Assert.AreEqual(config.get("http.proxy.username"), restClient.Proxy.UserName);
            Assert.AreEqual(config.get("http.proxy.password"), restClient.Proxy.Password);
            Assert.AreEqual(config.get("http.proxy.domain"), restClient.Proxy.Domain);
        }
コード例 #26
0
        public void UnitTests_V2_InvalidRequestException()
        {
            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Resource("account/status")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/error_invalid_entity"))
                             .InvalidEntity()
                             .Build <Response <AccountStatus> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            Assert.Throws(typeof(InvalidRequestException), () => Console.Write(phaxio.Account.Status.Balance));
        }
コード例 #27
0
        public void UnitTests_V2_NonJsonErrorHandled()
        {
            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Resource("account/status")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsText()
                             .Content("There was an error")
                             .InternalServerError()
                             .Build <Response <AccountStatus> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            Assert.Throws(typeof(ServiceException), () => Console.Write(phaxio.Account.Status.Balance));
        }
コード例 #28
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.Register(x => RestClientBuilder.New()
                             .WithSerializer(new JsonSerializer())
                             //.WithProxy("http://localhost:8888", true)
                             .WithLogger(Bolt.Logger.NLog.LoggerFactory.Create("Bolt.RestClient"))
                             .WithTimeTakenNotifier(new LogBasedReportTimeTaken(Bolt.Logger.NLog.LoggerFactory.Create("Bolt.RestClient")))
                             .Build()
                             ).As <IRestClient>()
            .SingleInstance();

            builder.Register(x => Bolt.Logger.NLog.LoggerFactory.Create(typeof(Startup)))
            .As <Bolt.Logger.ILogger>()
            .SingleInstance();

            builder.RegisterGeneric(typeof(BookWorm.Web.Features.Shared.CategoryMenu.LoadCategoryMenuOnPageLoadEventHandler <>)).As(typeof(Bolt.RequestBus.IAsyncEventHandler <>));
            builder.RegisterGeneric(typeof(BookWorm.Web.Features.Shared.LoginStatus.LoadLoginStatusOnPageLoadEventHandler <>)).As(typeof(Bolt.RequestBus.IAsyncEventHandler <>));
            builder.RegisterGeneric(typeof(BookWorm.Web.Features.Shared.SavedBooks.LoadSavedBooksOnPageLoadEventHandler <>)).As(typeof(Bolt.RequestBus.IAsyncEventHandler <>));
            builder.RegisterGeneric(typeof(BookWorm.Web.Features.Shared.Cart.LoadCartOnPageLoadEventHandler <>)).As(typeof(Bolt.RequestBus.IAsyncEventHandler <>));
        }
コード例 #29
0
        public void UnitTests_V2_PhoneNumber_List()
        {
            Action <IRestRequest> parameterAsserts = req =>
            {
                var parameters = ParametersHelper.ToDictionary(req.Parameters);

                Assert.AreEqual("1", parameters["country_code"]);
                Assert.AreEqual("808", parameters["area_code"]);
                Assert.AreEqual(25, parameters["per_page"]);
                Assert.AreEqual(1, parameters["page"]);
            };

            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Custom(parameterAsserts)
                                 .Resource("phone_numbers")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/list_numbers"))
                             .Ok()
                             .Build <Response <List <PhoneNumber> > >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var list = phaxio.PhoneNumber.List(
                countryCode: "1",
                areaCode: "808",
                page: 1,
                perPage: 25
                );

            Assert.AreEqual(2, list.Count());

            var number = list.First();

            Assert.AreEqual("+18475551234", number.Number);
        }
コード例 #30
0
        public void UnitTests_V2_PhaxCode_RetrieveWithId()
        {
            var requestAsserts = new RequestAsserts()
                                 .Auth()
                                 .Get()
                                 .Resource("phax_codes/1234.json")
                                 .Build();

            var restClient = new RestClientBuilder()
                             .WithRequestAsserts(requestAsserts)
                             .AsJson()
                             .Content(JsonResponseFixtures.FromFile("V2/phax_code"))
                             .Ok()
                             .Build <Response <PhaxCode> >();

            var phaxio = new PhaxioClient(RestClientBuilder.TEST_KEY, RestClientBuilder.TEST_SECRET, restClient);

            var code = phaxio.PhaxCode.Retrieve("1234");

            Assert.AreEqual("1234", code.Identifier);
        }