Esempio n. 1
0
        public void AppendingQueryWithSpecialCharacters()
        {
            var uriBuilder = new RequestUriBuilder();

            uriBuilder.Reset(new Uri("http://localhost/"));
            uriBuilder.AppendQuery("a", "~!@#$%^&*()_+");

            Assert.AreEqual("http://localhost/?a=~%21%40%23%24%25%5E%26%2A%28%29_%2B", uriBuilder.ToString());
#if NETCOREAPP
            Assert.AreEqual("http://localhost/?a=~%21%40%23%24%25^%26%2A%28%29_%2B", uriBuilder.ToUri().ToString());
#else
            Assert.AreEqual("http://localhost/?a=~!%40%23%24%25^%26*()_%2B", uriBuilder.ToUri().ToString());
#endif
        }
        public void RoundtripWithUri(Uri uri)
        {
            var uriBuilder = new RequestUriBuilder();

            uriBuilder.Reset(uri);

            Assert.AreEqual(uri.Scheme, uriBuilder.Scheme);
            Assert.AreEqual(uri.Host, uriBuilder.Host);
            Assert.AreEqual(uri.Port, uriBuilder.Port);
            Assert.AreEqual(uri.AbsolutePath, uriBuilder.Path);
            Assert.AreEqual(uri.Query, uriBuilder.Query);
            Assert.AreEqual(uri, uriBuilder.ToUri());
            Assert.AreSame(uri, uriBuilder.ToUri());
        }
        public void SettingQueryToEmptyRemovesQuestionMark(string query)
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80,
                Query  = "a"
            };

            Assert.AreEqual("http://localhost/?a", uriBuilder.ToUri().ToString());

            uriBuilder.Query = query;

            Assert.AreEqual("http://localhost/", uriBuilder.ToUri().ToString());
        }
Esempio n. 4
0
        public void AppendPathWorks(string initialPath, string[] appends, string query, string expectedResult, bool escape = false)
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80,
                Path   = initialPath
            };

            if (!string.IsNullOrEmpty(query))
            {
                uriBuilder.Query = query;
            }

            if (escape)
            {
                foreach (var append in appends)
                {
                    uriBuilder.AppendPath(append);
                }
            }
            else
            {
                foreach (var append in appends)
                {
                    uriBuilder.AppendPath(append, escape: false);
                }
            }

            Assert.AreEqual(expectedResult, uriBuilder.ToUri().OriginalString);
        }
Esempio n. 5
0
        private static Uri ToHttps(Uri uri)
        {
            RequestUriBuilder builder = new RequestUriBuilder();

            builder.Reset(uri);
            builder.Scheme = Constants.Https;
            builder.Port   = Constants.Blob.HttpsPort;
            return(builder.ToUri());
        }
        public void AppendingPathResetsUri()
        {
            var uriBuilder = new RequestUriBuilder();

            uriBuilder.Reset(new Uri("http://localhost/"));
            uriBuilder.AppendPath("a");

            Assert.AreEqual("http://localhost/a", uriBuilder.ToUri().ToString());
        }
        public void AppendingQueryResetsUri()
        {
            var uriBuilder = new RequestUriBuilder();

            uriBuilder.Reset(new Uri("http://localhost/"));
            uriBuilder.AppendQuery("a", "b");

            Assert.AreEqual("http://localhost/?a=b", uriBuilder.ToUri().ToString());
        }
Esempio n. 8
0
        public void FilterContains()
        {
            var selector = new SettingSelector("*key*", "*label*");
            var builder  = new RequestUriBuilder();

            builder.Reset(new Uri("http://localhost/"));

            ConfigurationClient.BuildBatchQuery(builder, selector, null);

            Assert.AreEqual("http://localhost/?key=%2Akey%2A&label=%2Alabel%2A", builder.ToUri().AbsoluteUri);
        }
Esempio n. 9
0
        public Uri CreateFirstPageUri(string path)
        {
            var firstPage = new RequestUriBuilder();

            firstPage.Reset(_vaultUri);

            firstPage.AppendPath(path);
            firstPage.AppendQuery("api-version", ApiVersion);

            return(firstPage.ToUri());
        }
Esempio n. 10
0
        public Uri CreateFirstPageUri(string path)
        {
            var firstPage = new RequestUriBuilder();

            firstPage.Reset(VaultEndpoint);

            firstPage.AppendPath(path, escape: false);
            firstPage.AppendQuery("api-version", ApiVersion);

            return(firstPage.ToUri());
        }
        public void QueryIsNotEscaped()
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80,
                Query  = "\u1234"
            };

            Assert.AreEqual("http://localhost/?\u1234", uriBuilder.ToUri().ToString());
        }
Esempio n. 12
0
        public void FilterNullLabel()
        {
            var selector = new SettingSelector(SettingSelector.Any, string.Empty);

            var builder = new RequestUriBuilder();

            builder.Reset(new Uri("http://localhost/"));

            ConfigurationClient.BuildBatchQuery(builder, selector, null);

            Assert.AreEqual("http://localhost/?key=%2A&label=%00", builder.ToUri().AbsoluteUri);
        }
        public void ResolveNonExistantSecretId()
        {
            var uriBuilder = new RequestUriBuilder();

            uriBuilder.Reset(VaultUri);

            uriBuilder.AppendPath($"/secrets/", escape: false);

            uriBuilder.AppendPath(Recording.GenerateId());

            Assert.ThrowsAsync <RequestFailedException>(() => Resolver.ResolveAsync(uriBuilder.ToUri()));
        }
        public void AddsLeadingQuestionMarkToQuery(string query, string expected)
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80,
                Query  = query
            };

            Assert.AreEqual(expected, uriBuilder.ToUri().ToString());
        }
        public void AppendingPathAfterQueryAndSettingTheUriWorks()
        {
            var uriBuilder = new RequestUriBuilder();

            uriBuilder.Reset(new Uri("http://localhost/"));
            uriBuilder.AppendQuery("query", "value");
            uriBuilder.AppendPath("a");
            uriBuilder.AppendPath("b");
            uriBuilder.AppendQuery("c", "d");

            Assert.AreEqual("http://localhost/ab?query=value&c=d", uriBuilder.ToUri().ToString());
        }
        public void AddsLeadingSlashToPath(string path, string expected)
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80,
                Path   = path
            };

            Assert.AreEqual(expected, uriBuilder.ToUri().ToString());
        }
        public void PathIsEscaped(string path, string expectedPath)
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80,
                Path   = path
            };

            Assert.AreEqual("http://localhost/" + expectedPath, uriBuilder.ToUri().OriginalString);
        }
        public void AppendQueryWithEmptyValueWorks()
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80
            };

            uriBuilder.AppendQuery("a", null);

            Assert.AreEqual("http://localhost/?a=", uriBuilder.ToUri().ToString());
        }
        public void AppendPathWorks(string initialPath, string append, string expectedResult)
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80,
                Path   = initialPath
            };

            uriBuilder.AppendPath(append);

            Assert.AreEqual(expectedResult, uriBuilder.ToUri().OriginalString);
        }
Esempio n. 20
0
        public void FilterOnlyLabel()
        {
            var label    = "my-label";
            var selector = new SettingSelector(null, label);


            var builder = new RequestUriBuilder();

            builder.Reset(new Uri("http://localhost/"));

            ConfigurationClient.BuildBatchQuery(builder, selector, null);

            Assert.AreEqual($"http://localhost/?key=%2A&label={label}", builder.ToUri().AbsoluteUri);
        }
Esempio n. 21
0
        public void FilterOnlyKey()
        {
            var key      = "my-key";
            var selector = new SettingSelector(key);


            var builder = new RequestUriBuilder();

            builder.Reset(new Uri("http://localhost/"));

            ConfigurationClient.BuildBatchQuery(builder, selector, null);

            Assert.AreEqual($"http://localhost/?key={key}", builder.ToUri().AbsoluteUri);
        }
Esempio n. 22
0
        public void SettingSomeFields()
        {
            var selector = new SettingSelector("key")
            {
                Fields = SettingFields.Key | SettingFields.Value
            };

            var builder = new RequestUriBuilder();

            builder.Assign(new Uri("http://localhost/"));

            ConfigurationClient.BuildBatchQuery(builder, selector, null);

            Assert.AreEqual($"http://localhost/?key=key&$select=key,%20value", builder.ToUri().AbsoluteUri);
        }
        public void AppendQueryWorks(string initialQuery, string expectedResult)
        {
            var uriBuilder = new RequestUriBuilder
            {
                Scheme = "http",
                Host   = "localhost",
                Port   = 80,
                Query  = initialQuery
            };

            uriBuilder.AppendQuery("a", "b");
            uriBuilder.AppendQuery("c", "d");

            Assert.AreEqual(expectedResult, uriBuilder.ToUri().ToString());
        }
        internal CertificateOperationProperties(Uri vaultUri, string name)
        {
            VaultUri = vaultUri;
            Name     = name;

            RequestUriBuilder builder = new RequestUriBuilder
            {
                Scheme = vaultUri.Scheme,
                Host   = vaultUri.Host,
                Port   = vaultUri.Port,
                Path   = Collection + name,
            };

            Id = builder.ToUri();
        }
Esempio n. 25
0
        public void SettingAllFields()
        {
            var selector = new SettingSelector("key")
            {
                Fields = SettingFields.All
            };

            var builder = new RequestUriBuilder();

            builder.Reset(new Uri("http://localhost/"));

            ConfigurationClient.BuildBatchQuery(builder, selector, null);

            Assert.AreEqual($"http://localhost/?key=key", builder.ToUri().AbsoluteUri);
        }
Esempio n. 26
0
        public Uri CreateFirstPageUri(string path, params ValueTuple <string, string>[] queryParams)
        {
            var firstPage = new RequestUriBuilder();

            firstPage.Reset(_vaultUri);

            firstPage.AppendPath(path);
            firstPage.AppendQuery("api-version", ApiVersion);

            foreach ((string, string)tuple in queryParams)
            {
                firstPage.AppendQuery(tuple.Item1, tuple.Item2);
            }

            return(firstPage.ToUri());
        }
Esempio n. 27
0
        private string NormalizeUri(string uriToNormalize)
        {
            var req = new RequestUriBuilder();
            var uri = new Uri(uriToNormalize);

            req.Reset(uri);
            req.Query = "";
            NameValueCollection queryParams = HttpUtility.ParseQueryString(uri.Query);

            foreach (string param in queryParams)
            {
                req.AppendQuery(
                    param,
                    VolatileQueryParameters.Contains(param) ? VolatileValue : queryParams[param]);
            }
            return(req.ToUri().ToString());
        }
Esempio n. 28
0
        public void FilterNullLabel()
        {
            var selector = new SettingSelector()
            {
                Labels = new List <string>()
                {
                    ""
                },
            };

            var builder = new RequestUriBuilder();

            builder.Assign(new Uri("http://localhost/"));

            ConfigurationClient.BuildBatchQuery(builder, selector, null);

            Assert.AreEqual("http://localhost/?key=*&label=%00", builder.ToUri().AbsoluteUri);
        }
Esempio n. 29
0
        private string NormalizeUri(string uriToNormalize)
        {
            var req = new RequestUriBuilder();
            var uri = new Uri(uriToNormalize);

            req.Reset(uri);
            req.Query = "";
            NameValueCollection queryParams = HttpUtility.ParseQueryString(uri.Query);

            if (_ignoreQueryOrdering)
            {
                AddQueriesToUri(req, queryParams.AllKeys.OrderBy(x => x), queryParams);
            }
            else
            {
                AddQueriesToUri(req, queryParams.AllKeys, queryParams);
            }

            return(req.ToUri().ToString());
        }
        public void FilterContains()
        {
            var selector = new SettingSelector()
            {
                Keys = new List <string>()
                {
                    "*key*"
                },
                Labels = new List <string>()
                {
                    "*label*"
                },
            };

            var builder = new RequestUriBuilder();

            builder.Reset(new Uri("http://localhost/"));

            ConfigurationClient.BuildBatchQuery(builder, selector, null);

            Assert.AreEqual("http://localhost/?key=*key*&label=*label*", builder.ToUri().AbsoluteUri);
        }