public async Task TestStoreCredential() { var testSecret = "This is a secret"; var test = new StoredCredential { ProviderType = "DNS01.API.Route53", Title = "A test credential", StorageKey = Guid.NewGuid().ToString(), Secret = testSecret }; var credentialsManager = new CredentialsManager(); credentialsManager.StorageSubfolder = "Tests\\credentials"; var result = await credentialsManager.Update(test); Assert.IsNotNull(result, "Credential stored OK"); var list = await credentialsManager.GetCredentials(); Assert.IsTrue(list.Any(l => l.StorageKey == test.StorageKey), "Credential retrieved"); var secret = await credentialsManager.GetUnlockedCredential(test.StorageKey); Assert.IsNotNull(secret); Assert.IsTrue(secret == testSecret, "Credential decrypted"); }
public async Task TestStoreCredentialDictionary() { var secrets = new Dictionary <string, string>(); secrets.Add("zoneid", "ABC123"); secrets.Add("secretid", "thereisnosecret"); var test = new StoredCredential { ProviderType = "DNS01.API.Route53", Title = "A test credential", StorageKey = Guid.NewGuid().ToString(), Secret = Newtonsoft.Json.JsonConvert.SerializeObject(secrets) }; var credentialsManager = new CredentialsManager(); credentialsManager.StorageSubfolder = "Tests\\credentials"; var result = await credentialsManager.Update(test); Assert.IsNotNull(result, "Credential stored OK"); var list = await credentialsManager.GetCredentials(); Assert.IsTrue(list.Any(l => l.StorageKey == test.StorageKey), "Credential retrieved"); var secret = await credentialsManager.GetUnlockedCredentialsDictionary(test.StorageKey); Assert.IsNotNull(secret); Assert.IsTrue(secret["zoneid"] == "ABC123", "Credential decrypted"); }
public async Task CreateTestCredentials() { var credentialsManager = new CredentialsManager { StorageSubfolder = "credentials\\test" }; var secrets = new Dictionary <string, string> { { "username", "ubuntu" }, { "password", "testuser" } }; var storedCred = await credentialsManager.Update(new StoredCredential { StorageKey = "atestsshuser", Title = "Test: SSH", DateCreated = DateTime.Now, ProviderType = "SSH", Secret = JsonConvert.SerializeObject(secrets) }); secrets = new Dictionary <string, string> { { "username", "testuser" }, { "password", "testuser" } }; storedCred = await credentialsManager.Update(new StoredCredential { StorageKey = ConfigSettings["TestCredentialsKey_UNC"], Title = "Test: UNC testuser", DateCreated = DateTime.Now, ProviderType = "Windows", Secret = JsonConvert.SerializeObject(secrets) }); }
public async Task <StoredCredential> UpdateCredentials(StoredCredential credential) { DebugLog(); return(await credentialsManager.Update(credential)); }