コード例 #1
0
        public void CookieTokenizer_MultiCookieResponse_Parsed()
        {
            Response response = new Response(System.Net.HttpStatusCode.OK, "");

            response.Headers.Add("Set-Cookie", new List <string> {
                "test_name=test_value; HttpOnly",
                "test_name2=test_value2; SameSite=Strict",
                "test_name3=test_value3; SameSite=Strict; HttpOnly"
            });

            CookieTokenizer tokenizer = new CookieTokenizer();

            TokenCollection tokens = tokenizer.ExtractTokens(response);

            Assert.Equal(3, tokens.Count());

            IToken token = tokens.GetByName("test_name")[0];

            Assert.Equal("test_name", token.Name);
            Assert.Equal("test_value", token.Value);

            token = tokens.GetByName("test_name2")[0];
            Assert.Equal("test_name2", token.Name);
            Assert.Equal("test_value2", token.Value);

            token = tokens.GetByName("test_name3")[0];
            Assert.Equal("test_name3", token.Name);
            Assert.Equal("test_value3", token.Value);
        }
コード例 #2
0
        public void CookieTokenizer_SimpleCookieRequest_Parsed()
        {
            Request request = new Request(new Uri("http://test.com"), HttpMethod.Get);

            request.Content = "";
            List <String> cookieHeaderVals = new List <string> {
                "test1=test2;test3=test4"
            };

            request.Headers.Add("Cookie", cookieHeaderVals);

            CookieTokenizer tokenizer = new CookieTokenizer();

            TokenCollection tokens = tokenizer.ExtractTokens(request);

            Assert.Equal(2, tokens.Count());

            IToken token = tokens.GetByName("test1")[0];

            Assert.Equal("test1", token.Name);
            Assert.Equal("test2", token.Value);

            token = tokens.GetByName("test3")[0];
            Assert.Equal("test3", token.Name);
            Assert.Equal("test4", token.Value);
        }
コード例 #3
0
        public void JsonTokenizer_SimpleJson_Tokenized()
        {
            Request addItemToCart = new Request(new Uri(@"http://localhost/api/BasketItems/"), HttpMethod.Post);

            addItemToCart.Content = "{\"ProductId\":24,\"BasketId\":\"7\",\"quantity\":1}";

            List <IRequestTokenizer> request_tokenizers = new List <IRequestTokenizer>();

            request_tokenizers.Add(new JsonTokenizer());

            TokenCollection tokens = addItemToCart.GetRequirements(request_tokenizers);

            Assert.Equal(3, tokens.Count());

            IToken token = tokens.GetByName("ProductId")[0];

            Assert.Equal("24", token.Value);
            Assert.Equal(Types.Integer, token.SupportedTypes);

            token = tokens.GetByName("BasketId")[0];
            Assert.Equal("7", token.Value);
            Assert.Equal(Types.Integer | Types.String, token.SupportedTypes);

            token = tokens.GetByName("quantity")[0];
            Assert.Equal("1", token.Value);
            Assert.Equal(Types.Integer, token.SupportedTypes);
        }
コード例 #4
0
        public void Request_ExtractJsonRequirements_ExpectedValues()
        {
            Request addItemToCart = new Request(new Uri(@"http://localhost/api/BasketItems/"), HttpMethod.Post);

            addItemToCart.Content = "{\"ProductId\":24,\"BasketId\":\"7\",\"quantity\":1}";

            List <IRequestTokenizer> request_tokenizers = new List <IRequestTokenizer>();

            request_tokenizers.Add(new JsonTokenizer());

            TokenCollection requirements = addItemToCart.GetRequirements(request_tokenizers);

            List <IToken> product_id = requirements.GetByName("ProductId");

            Assert.Single(product_id);
            Assert.Equal("ProductId", product_id[0].Name);
            Assert.Equal(Types.Integer, product_id[0].SupportedTypes);

            List <IToken> basket_id = requirements.GetByName("BasketId");

            Assert.Single(basket_id);
            Assert.Equal("BasketId", basket_id[0].Name);
            Assert.Equal(Types.Integer | Types.String, basket_id[0].SupportedTypes);

            List <IToken> quantity = requirements.GetByName("quantity");

            Assert.Single(quantity);
            Assert.Equal("quantity", quantity[0].Name);
            Assert.Equal(Types.Integer, quantity[0].SupportedTypes);
        }
コード例 #5
0
        public void Request_ConstantSubstitution_ExpectedValue()
        {
            Request request = new Request(new Uri(@"http://localhost/rest/user/login/"), HttpMethod.Get);

            request.Content = "{ \"email\":\"[email protected]\",\"password\":\"123456\"}";

            IRequestTokenizer tokenizer = new JsonTokenizer();
            TokenCollection   tokens    = tokenizer.ExtractTokens(request);

            List <IToken> email = tokens.GetByName("email");

            Assert.Single(email);

            ISubstitution substitution = new SubstituteConstant(email[0], "*****@*****.**");

            substitution.MakeSubstitution(null, request);

            tokens = tokenizer.ExtractTokens(request);
            email  = tokens.GetByName("email");
            Assert.Equal("*****@*****.**", email[0].Value);
        }
コード例 #6
0
ファイル: QueryToken.cs プロジェクト: rmkerr/RiverFuzz
        public IToken?FindClosestEquivalent(TokenCollection tokens)
        {
            List <IToken> matches = tokens.GetByName(this.Name);

            if (matches.Count > 1)
            {
                Console.WriteLine("WARNING: Multiple query tokens with the same name. This probably shouldn't happen.");
            }
            if (matches.Count >= 1)
            {
                return(matches[0]);
            }
            return(null);
        }
コード例 #7
0
        public void BearerToken_RequestHeaders_TokenReplaced()
        {
            Request initializeCart = new Request(new Uri(@"http://localhost/api/BasketItems/"), HttpMethod.Post);

            initializeCart.Content = "{\"ProductId\":24,\"BasketId\":\"20\",\"quantity\":1}";
            initializeCart.Headers.Add("Authorization", new List <string> {
                $"Bearer {BearerExample}"
            });

            BearerTokenizer tokenizer = new BearerTokenizer();
            TokenCollection tokens    = tokenizer.ExtractTokens(initializeCart);

            List <IToken> match = tokens.GetByName("BearerToken");

            Assert.Single(match);

            match[0].ReplaceValue(initializeCart, "testresult");

            Assert.Equal("Bearer testresult", initializeCart.Headers["Authorization"][0]);
        }