Braintree.Tests.OAuthTest.ConnectUrl_ReturnsCorrectUrl C# (CSharp) Метод

ConnectUrl_ReturnsCorrectUrl() приватный Метод

private ConnectUrl_ReturnsCorrectUrl ( ) : void
Результат void
        public void ConnectUrl_ReturnsCorrectUrl()
        {
            string url = gateway.OAuth.ConnectUrl(new OAuthConnectUrlRequest {
                MerchantId = "integration_merchant_id",
                RedirectUri = "http://bar.example.com",
                Scope = "read_write",
                State = "baz_state",
                LandingPage = "login",
                User = new OAuthConnectUrlUserRequest {
                    Country = "USA",
                    Email = "[email protected]",
                    FirstName = "Bob",
                    LastName = "Jones",
                    Phone = "555-555-5555",
                    DobYear = "1970",
                    DobMonth = "01",
                    DobDay = "01",
                    StreetAddress = "222 W Merchandise Mart",
                    Locality = "Chicago",
                    Region = "IL",
                    PostalCode = "60606",
                },
                Business = new OAuthConnectUrlBusinessRequest {
                    Name = "14 Ladders",
                    RegisteredAs = "14.0 Ladders",
                    Industry = "Ladders",
                    Description = "We sell the best ladders",
                    StreetAddress = "111 N Canal",
                    Locality = "Chicago",
                    Region = "IL",
                    PostalCode = "60606",
                    Country = "USA",
                    AnnualVolumeAmount = "1000000",
                    AverageTransactionAmount = "100",
                    MaximumTransactionAmount = "10000",
                    ShipPhysicalGoods = true,
                    FulfillmentCompletedIn = 7,
                    Currency = "USD",
                    Website = "http://example.com",
                    EstablishedOn = "2010-10",
                },
            });

            var uri = new Uri(url);
#if netcore
            IDictionary query = QueryHelpers.ParseQuery(uri.Query);
#else
            var query = HttpUtility.ParseQueryString(uri.Query); ;
#endif
            Assert.AreEqual("localhost", uri.Host);
            Assert.AreEqual("/oauth/connect", uri.AbsolutePath);

            Assert.AreEqual("integration_merchant_id", query["merchant_id"]);
            Assert.AreEqual("client_id$development$integration_client_id", query["client_id"]);
            Assert.AreEqual("http://bar.example.com", query["redirect_uri"]);
            Assert.AreEqual("read_write", query["scope"]);
            Assert.AreEqual("baz_state", query["state"]);
            Assert.AreEqual("login", query["landing_page"]);

            Assert.AreEqual("USA", query["user[country]"]);
            Assert.AreEqual("[email protected]", query["user[email]"]);
            Assert.AreEqual("Bob", query["user[first_name]"]);
            Assert.AreEqual("Jones", query["user[last_name]"]);
            Assert.AreEqual("555-555-5555", query["user[phone]"]);
            Assert.AreEqual("1970", query["user[dob_year]"]);
            Assert.AreEqual("01", query["user[dob_month]"]);
            Assert.AreEqual("01", query["user[dob_day]"]);
            Assert.AreEqual("222 W Merchandise Mart", query["user[street_address]"]);
            Assert.AreEqual("Chicago", query["user[locality]"]);
            Assert.AreEqual("IL", query["user[region]"]);
            Assert.AreEqual("60606", query["user[postal_code]"]);

            Assert.AreEqual("14 Ladders", query["business[name]"]);
            Assert.AreEqual("14.0 Ladders", query["business[registered_as]"]);
            Assert.AreEqual("Ladders", query["business[industry]"]);
            Assert.AreEqual("We sell the best ladders", query["business[description]"]);
            Assert.AreEqual("111 N Canal", query["business[street_address]"]);
            Assert.AreEqual("Chicago", query["business[locality]"]);
            Assert.AreEqual("IL", query["business[region]"]);
            Assert.AreEqual("60606", query["business[postal_code]"]);
            Assert.AreEqual("USA", query["business[country]"]);
            Assert.AreEqual("1000000", query["business[annual_volume_amount]"]);
            Assert.AreEqual("100", query["business[average_transaction_amount]"]);
            Assert.AreEqual("10000", query["business[maximum_transaction_amount]"]);
            Assert.AreEqual("true", query["business[ship_physical_goods]"]);
            Assert.AreEqual("7", query["business[fulfillment_completed_in]"]);
            Assert.AreEqual("USD", query["business[currency]"]);
            Assert.AreEqual("http://example.com", query["business[website]"]);
            Assert.AreEqual("2010-10", query["business[established_on]"]);
            Assert.AreEqual(64, query["signature"].ToString().Length);

            var hexRegex = new Regex("^[a-f0-9]+$");
            Assert.IsTrue(hexRegex.IsMatch(query["signature"].ToString()));
            Assert.AreEqual("SHA256", query["algorithm"]);
        }