public void AzureCredType() { LiveTestRequest request = new LiveTestRequest(); request.Params = new Dictionary <string, object>() { { "__reserved", new Dictionary <string, object>() { { "credentials", new LiveTestCredentials[] { new LiveTestCredentials() { Type = "azure", Properties = new Dictionary <string, object>() { { "tenantId", "testTenantId" }, { "clientId", "testClientId" }, { "secret", "testSecret" } } } } } } } }; LiveTestCredentialFactory test = new LiveTestCredentialFactory(); IEnumerable <ICredentialProvider> result = test.Create(request, this.logger); Assert.Equal(1, result.Count()); ICredentialProvider first = result.First(); Assert.NotNull(first); Assert.IsType <AzureCredentialProvider>(first); AzureCredentialProvider provider = (AzureCredentialProvider)first; Assert.Equal("testTenantId", provider.TenantId); Assert.Equal("testClientId", provider.ClientId); Assert.Equal("testSecret", provider.Secret); }
public void ExceptionWhenCredentialsPropertiesAreMissing() { AzureCredentialProvider test = new AzureCredentialProvider(this.logger); test.Set("tenantId", "testTenantId"); test.Set("clientId", "testClientId"); MockRunspaceManager runspace = new MockRunspaceManager(); Assert.Throws <InvalidTestCredentialsException>(() => test.Process(runspace.CreateCommand())); }
public void ExceptionWhenCommandFails() { AzureCredentialProvider test = new AzureCredentialProvider(this.logger); test.Set("tenantId", "testTenantId"); test.Set("clientId", "testClientId"); test.Set("secret", "testSecret"); MockRunspaceManager runspace = new MockRunspaceManager(); runspace.CommandBuilders.Add(new MockCommandBuilder(runspace) { MockResult = new CommandExecutionResult(null, new List <string>() { "This is an error" }, true) }); Assert.Throws <CommandFailedException>(() => test.Process(runspace.CommandBuilders[0])); }
public void HappyPathDefaultCredType() { AzureCredentialProvider test = new AzureCredentialProvider(this.logger); test.Set("tenantId", "testTenantId"); test.Set("clientId", "testClientId"); test.Set("secret", "testSecret"); MockRunspaceManager runspace = new MockRunspaceManager(); runspace.CommandBuilders.Add(new MockCommandBuilder(runspace) { MockResult = new CommandExecutionResult(null, null, false) }); runspace.CommandBuilders.Add(new MockCommandBuilder(runspace) { MockResult = new CommandExecutionResult(null, null, false) }); test.Process(runspace.CommandBuilders[0]); Assert.Equal(2, runspace.InvokeHistory.Count); Assert.Equal("import-module [name azurerm.profile]", ((string)runspace.InvokeHistory[0]).ToLowerInvariant()); Assert.Equal("add-azurermaccount [credential (testclientid testsecret)] [tenantid testtenantid] [serviceprincipal true]", ((string)runspace.InvokeHistory[1]).ToLowerInvariant()); }