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()); }
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); }
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()); }
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); }
public Uri CreateFirstPageUri(string path) { var firstPage = new RequestUriBuilder(); firstPage.Reset(_vaultUri); firstPage.AppendPath(path); firstPage.AppendQuery("api-version", ApiVersion); return(firstPage.ToUri()); }
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()); }
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); }
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); }
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); }
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(); }
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); }
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()); }
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()); }
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); }
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); }