Added test to check that URL replacement is done correctly
This commit is contained in:
@@ -133,6 +133,36 @@ public class SecretProviderHelperTests : BasicSetupHelper
|
||||
Assert.AreEqual("test://host?pass=secret2&user=secret1&other=123", argsInternal[0].ToString());
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Category("SecretHelper")]
|
||||
public void ReplacesSecretsWithUrlEscaping()
|
||||
{
|
||||
var secretProvider = new MockedSecretProvider();
|
||||
secretProvider.Secrets["key1"] = "secret 1%&+abc";
|
||||
|
||||
var settings = new Dictionary<string, string>
|
||||
{
|
||||
{"key1", "$key1"}
|
||||
};
|
||||
|
||||
var argsSys = new[] {
|
||||
new System.Uri("test://host/?pass=$key1&user=user")
|
||||
};
|
||||
|
||||
var argsInternal = new[] {
|
||||
new Library.Utility.Uri("test://host?pass=$key1&user=user")
|
||||
};
|
||||
|
||||
SecretProviderHelper.ApplySecretProviderAsync(argsSys, argsInternal, settings, null, secretProvider, CancellationToken.None).Await();
|
||||
|
||||
// Check no escaping is done for options
|
||||
Assert.AreEqual("secret 1%&+abc", settings["key1"]);
|
||||
|
||||
// Check escaping is done for the URL
|
||||
Assert.AreEqual("test://host/?pass=secret%201%25%26%2Babc&user=user", argsSys[0].ToString());
|
||||
Assert.AreEqual("test://host?pass=secret%201%25%26%2Babc&user=user", argsInternal[0].ToString());
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Category("SecretHelper")]
|
||||
public void ReplaceSecretsWithExtendedPattern()
|
||||
|
||||
Reference in New Issue
Block a user