public void SetAzureSubscriptionDerivesEnvironmentFromEnvironmentParameterOnAdd() { SetAzureSubscriptionCommand cmdlt = new SetAzureSubscriptionCommand(); // Setup ProfileClient client = new ProfileClient(); client.AddOrSetEnvironment(azureEnvironment); client.Profile.Save(); cmdlt.CommandRuntime = commandRuntimeMock.Object; cmdlt.SubscriptionId = Guid.NewGuid().ToString(); cmdlt.SubscriptionName = "NewSubscriptionName"; cmdlt.CurrentStorageAccountName = "NewCloudStorage"; cmdlt.Environment = azureEnvironment.Name; cmdlt.Certificate = SampleCertificate; // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); // Verify client = new ProfileClient(); var newSubscription = client.Profile.Subscriptions[new Guid(cmdlt.SubscriptionId)]; Assert.Equal(cmdlt.SubscriptionName, newSubscription.Name); Assert.Equal(cmdlt.Environment, newSubscription.Environment); Assert.Equal(cmdlt.CurrentStorageAccountName, newSubscription.GetProperty(AzureSubscription.Property.StorageAccount)); }
public override void ExecuteCmdlet() { var newEnvironment = new AzureEnvironment { Name = Name }; newEnvironment.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl] = PublishSettingsFileUrl; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement] = ServiceEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ResourceManager] = ResourceManagerEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ManagementPortalUrl] = ManagementPortalUrl; newEnvironment.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix] = StorageEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectory] = ActiveDirectoryEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId] = ActiveDirectoryServiceEndpointResourceId; newEnvironment.Endpoints[AzureEnvironment.Endpoint.Gallery] = GalleryEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.Graph] = GraphEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix] = AzureKeyVaultDnsSuffix; newEnvironment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId] = AzureKeyVaultServiceEndpointResourceId; ProfileClient.AddOrSetEnvironment(newEnvironment); List <object> args = new List <object> { "Name", newEnvironment.Name }; foreach (AzureEnvironment.Endpoint property in Enum.GetValues(typeof(AzureEnvironment.Endpoint))) { args.AddRange(new object[] { property, newEnvironment.GetEndpoint(property) }); } WriteObject(base.ConstructPSObject(null, args.ToArray())); }
public void RemovesAzureEnvironment() { var commandRuntimeMock = new Mock <ICommandRuntime>(); commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny <string>(), It.IsAny <string>())).Returns(true); const string name = "test"; var profile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); AzureSMCmdlet.CurrentProfile = profile; ProfileClient client = new ProfileClient(profile); client.AddOrSetEnvironment(new AzureEnvironment { Name = name }); client.Profile.Save(); var cmdlet = new RemoveAzureEnvironmentCommand() { CommandRuntime = commandRuntimeMock.Object, Force = true, Name = name }; cmdlet.InvokeBeginProcessing(); cmdlet.ExecuteCmdlet(); cmdlet.InvokeEndProcessing(); client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); Assert.False(client.Profile.Environments.ContainsKey(name)); }
public override void ExecuteCmdlet() { if ((Name == "AzureCloud") || (Name == "AzureChinaCloud")) { throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, Resources.CannotChangeBuiltinEnvironment, Name)); } var newEnvironment = new AzureEnvironment { Name = Name, OnPremise = EnableAdfsAuthentication }; if (ProfileClient.Profile.Environments.ContainsKey(Name)) { newEnvironment = ProfileClient.Profile.Environments[Name]; } SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.PublishSettingsFileUrl, PublishSettingsFileUrl); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ServiceManagement, ServiceEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ResourceManager, ResourceManagerEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ManagementPortalUrl, ManagementPortalUrl); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.StorageEndpointSuffix, StorageEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ActiveDirectory, ActiveDirectoryEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId, ActiveDirectoryServiceEndpointResourceId); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.Gallery, GalleryEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.Graph, GraphEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix, AzureKeyVaultDnsSuffix); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId, AzureKeyVaultServiceEndpointResourceId); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.TrafficManagerDnsSuffix, TrafficManagerDnsSuffix); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix, SqlDatabaseDnsSuffix); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AdTenant, AdTenant); ProfileClient.AddOrSetEnvironment(newEnvironment); WriteObject((PSAzureEnvironment)newEnvironment); }
public void ClearAzureProfileClearsCustomProfile() { string subscriptionDataFile = "C:\\foo.json"; ClearAzureProfileCommand cmdlt = new ClearAzureProfileCommand(); // Setup ProfileClient client = new ProfileClient(subscriptionDataFile); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.Profile.Save(); cmdlt.CommandRuntime = commandRuntimeMock; cmdlt.Force = new SwitchParameter(true); cmdlt.SubscriptionDataFile = subscriptionDataFile; // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); // Verify client = new ProfileClient(subscriptionDataFile); Assert.Equal(0, client.Profile.Subscriptions.Count); Assert.Equal(0, client.Profile.Accounts.Count); Assert.Equal(2, client.Profile.Environments.Count); //only default environments }
public void SetAzureSubscriptionDerivesEnvironmentFromBothEndpointParameters() { SetAzureSubscriptionCommand cmdlt = new SetAzureSubscriptionCommand(); // Setup ProfileClient client = new ProfileClient(); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.Profile.Save(); cmdlt.CommandRuntime = commandRuntimeMock.Object; cmdlt.SubscriptionId = azureSubscription1.Id.ToString(); cmdlt.CurrentStorageAccountName = "NewCloudStorage"; cmdlt.ServiceEndpoint = azureEnvironment.GetEndpoint(AzureEnvironment.Endpoint.ServiceManagement); cmdlt.ResourceManagerEndpoint = azureEnvironment.GetEndpoint(AzureEnvironment.Endpoint.ResourceManager); // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); // Verify client = new ProfileClient(); var newSubscription = client.Profile.Subscriptions[new Guid(cmdlt.SubscriptionId)]; Assert.Equal(cmdlt.Environment, newSubscription.Environment); Assert.Equal(cmdlt.CurrentStorageAccountName, newSubscription.GetProperty(AzureSubscription.Property.StorageAccount)); }
public override void ExecuteCmdlet() { var newEnvironment = new AzureEnvironment { Name = Name, OnPremise = EnableAdfsAuthentication }; newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.PublishSettingsFileUrl, PublishSettingsFileUrl); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.ServiceManagement, ServiceEndpoint); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.ResourceManager, ResourceManagerEndpoint); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.ManagementPortalUrl, ManagementPortalUrl); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.StorageEndpointSuffix, StorageEndpoint); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.ActiveDirectory, ActiveDirectoryEndpoint); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId, ActiveDirectoryServiceEndpointResourceId); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.Gallery, GalleryEndpoint); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.Graph, GraphEndpoint); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix, AzureKeyVaultDnsSuffix); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId, AzureKeyVaultServiceEndpointResourceId); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.TrafficManagerDnsSuffix, TrafficManagerDnsSuffix); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix, SqlDatabaseDnsSuffix); newEnvironment.SetEndpoint(AzureEnvironment.Endpoint.AdTenant, AdTenant); ProfileClient.AddOrSetEnvironment(newEnvironment); WriteObject((PSAzureEnvironment)newEnvironment); }
// TODO: fix flaky test //[Trait(Category.AcceptanceType, Category.CheckIn)] public void SetsAzureEnvironment() { Mock <ICommandRuntime> commandRuntimeMock = new Mock <ICommandRuntime>(); string name = "Katal"; ProfileClient client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); client.AddOrSetEnvironment(new AzureEnvironment { Name = name }); SetAzureEnvironmentCommand cmdlet = new SetAzureEnvironmentCommand() { CommandRuntime = commandRuntimeMock.Object, Name = "KATaL", PublishSettingsFileUrl = "http://microsoft.com", ServiceEndpoint = "endpoint.net", ManagementPortalUrl = "management portal url", StorageEndpoint = "endpoint.net", GalleryEndpoint = "galleryendpoint" }; cmdlet.InvokeBeginProcessing(); cmdlet.ExecuteCmdlet(); cmdlet.InvokeEndProcessing(); commandRuntimeMock.Verify(f => f.WriteObject(It.IsAny <PSAzureEnvironment>()), Times.Once()); client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); AzureEnvironment env = client.Profile.Environments["KaTaL"]; Assert.Equal(env.Name.ToLower(), cmdlet.Name.ToLower()); Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl], cmdlet.PublishSettingsFileUrl); Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.ServiceManagement], cmdlet.ServiceEndpoint); Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.ManagementPortalUrl], cmdlet.ManagementPortalUrl); Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.Gallery], "galleryendpoint"); }
// TODO: fix flaky test //[Trait(Category.AcceptanceType, Category.CheckIn)] public void SetsAzureEnvironment() { Mock<ICommandRuntime> commandRuntimeMock = new Mock<ICommandRuntime>(); string name = "Katal"; ProfileClient client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); client.AddOrSetEnvironment(new AzureEnvironment { Name = name }); SetAzureEnvironmentCommand cmdlet = new SetAzureEnvironmentCommand() { CommandRuntime = commandRuntimeMock.Object, Name = "KATaL", PublishSettingsFileUrl = "http://microsoft.com", ServiceEndpoint = "endpoint.net", ManagementPortalUrl = "management portal url", StorageEndpoint = "endpoint.net", GalleryEndpoint = "galleryendpoint" }; cmdlet.InvokeBeginProcessing(); cmdlet.ExecuteCmdlet(); cmdlet.InvokeEndProcessing(); commandRuntimeMock.Verify(f => f.WriteObject(It.IsAny<PSAzureEnvironment>()), Times.Once()); client = new ProfileClient(new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); AzureEnvironment env = client.Profile.Environments["KaTaL"]; Assert.Equal(env.Name.ToLower(), cmdlet.Name.ToLower()); Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl], cmdlet.PublishSettingsFileUrl); Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.ServiceManagement], cmdlet.ServiceEndpoint); Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.ManagementPortalUrl], cmdlet.ManagementPortalUrl); Assert.Equal(env.Endpoints[AzureEnvironment.Endpoint.Gallery], "galleryendpoint"); }
public override void ExecuteCmdlet() { var newEnvironment = new AzureEnvironment { Name = Name }; if (ProfileClient.Profile.Environments.ContainsKey(Name)) { newEnvironment = ProfileClient.Profile.Environments[Name]; } SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.PublishSettingsFileUrl, PublishSettingsFileUrl); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ServiceManagement, ServiceEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ResourceManager, ResourceManagerEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ManagementPortalUrl, ManagementPortalUrl); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.StorageEndpointSuffix, StorageEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ActiveDirectory, ActiveDirectoryEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId, ActiveDirectoryServiceEndpointResourceId); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.Gallery, GalleryEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.Graph, GraphEndpoint); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix, AzureKeyVaultDnsSuffix); SetEndpointIfProvided(newEnvironment, AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId, AzureKeyVaultServiceEndpointResourceId); ProfileClient.AddOrSetEnvironment(newEnvironment); WriteObject(newEnvironment); }
public override void ExecuteCmdlet() { var newEnvironment = new AzureEnvironment { Name = Name, OnPremise = EnableAdfsAuthentication }; newEnvironment.Endpoints[AzureEnvironment.Endpoint.PublishSettingsFileUrl] = PublishSettingsFileUrl; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement] = ServiceEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ResourceManager] = ResourceManagerEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ManagementPortalUrl] = ManagementPortalUrl; newEnvironment.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix] = StorageEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectory] = ActiveDirectoryEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId] = ActiveDirectoryServiceEndpointResourceId; newEnvironment.Endpoints[AzureEnvironment.Endpoint.Gallery] = GalleryEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.Graph] = GraphEndpoint; newEnvironment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultDnsSuffix] = AzureKeyVaultDnsSuffix; newEnvironment.Endpoints[AzureEnvironment.Endpoint.AzureKeyVaultServiceEndpointResourceId] = AzureKeyVaultServiceEndpointResourceId; newEnvironment.Endpoints[AzureEnvironment.Endpoint.TrafficManagerDnsSuffix] = TrafficManagerDnsSuffix; newEnvironment.Endpoints[AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix] = SqlDatabaseDnsSuffix; newEnvironment.Endpoints[AzureEnvironment.Endpoint.AdTenant] = AdTenant; ProfileClient.AddOrSetEnvironment(newEnvironment); WriteObject((PSAzureEnvironment)newEnvironment); }
public void RemovesAzureEnvironment() { var commandRuntimeMock = new Mock<ICommandRuntime>(); commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny<string>(), It.IsAny<string>())).Returns(true); const string name = "test"; ProfileClient client = new ProfileClient(); client.AddOrSetEnvironment(new AzureEnvironment { Name = name }); client.Profile.Save(); var cmdlet = new RemoveAzureEnvironmentCommand() { CommandRuntime = commandRuntimeMock.Object, Force = true, Name = name }; cmdlet.InvokeBeginProcessing(); cmdlet.ExecuteCmdlet(); cmdlet.InvokeEndProcessing(); client = new ProfileClient(); Assert.False(client.Profile.Environments.ContainsKey(name)); }
public void ClearAzureProfileClearsDefaultProfile() { ClearAzureProfileCommand cmdlt = new ClearAzureProfileCommand(); // Setup var profile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); AzurePSCmdlet.CurrentProfile = profile; ProfileClient client = new ProfileClient(profile); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.Profile.Save(); cmdlt.CommandRuntime = commandRuntimeMock; cmdlt.Force = new SwitchParameter(true); // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); // Verify client = new ProfileClient(new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile))); Assert.Equal(0, client.Profile.Subscriptions.Count); Assert.Equal(0, client.Profile.Accounts.Count); Assert.Equal(2, client.Profile.Environments.Count); //only default environments }
private ProfileClient SetupDefaultProfile() { ProfileClient client = new ProfileClient(); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetAccount(azureAccount); client.AddOrSetSubscription(azureSubscription1); client.AddOrSetSubscription(azureSubscription2); client.Profile.Save(); return(client); }
public void ProfileSerializeDeserializeWorks() { var dataStore = new MockDataStore(); var currentProfile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); AzureSession.DataStore = dataStore; var client = new ProfileClient(currentProfile); var tenant = Guid.NewGuid().ToString(); var environment = new AzureEnvironment { Name = "testCloud", Endpoints = { { AzureEnvironment.Endpoint.ActiveDirectory, "http://contoso.com" } } }; var account = new AzureAccount { Id = "*****@*****.**", Type = AzureAccount.AccountType.User, Properties = { { AzureAccount.Property.Tenants, tenant } } }; var sub = new AzureSubscription { Account = account.Id, Environment = environment.Name, Id = new Guid(), Name = "Contoso Test Subscription", Properties = { { AzureSubscription.Property.Tenants, tenant } } }; client.AddOrSetEnvironment(environment); client.AddOrSetAccount(account); client.AddOrSetSubscription(sub); AzureProfile deserializedProfile; // Round-trip the exception: Serialize and de-serialize with a BinaryFormatter BinaryFormatter bf = new BinaryFormatter(); using (MemoryStream ms = new MemoryStream()) { // "Save" object state bf.Serialize(ms, currentProfile); // Re-use the same stream for de-serialization ms.Seek(0, 0); // Replace the original exception with de-serialized one deserializedProfile = (AzureProfile)bf.Deserialize(ms); } Assert.NotNull(deserializedProfile); var jCurrentProfile = JsonConvert.SerializeObject(currentProfile); var jDeserializedProfile = JsonConvert.SerializeObject(deserializedProfile); Assert.Equal(jCurrentProfile, jDeserializedProfile); }
public void ProfileSaveDoesNotSerializeContext() { var dataStore = new MockDataStore(); var currentProfile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); AzureSession.DataStore = dataStore; var client = new ProfileClient(currentProfile); var tenant = Guid.NewGuid().ToString(); var environment = new AzureEnvironment { Name = "testCloud", Endpoints = { { AzureEnvironment.Endpoint.ActiveDirectory, "http://contoso.com" } } }; var account = new AzureAccount { Id = "*****@*****.**", Type = AzureAccount.AccountType.User, Properties = { { AzureAccount.Property.Tenants, tenant } } }; var sub = new AzureSubscription { Account = account.Id, Environment = environment.Name, Id = new Guid(), Name = "Contoso Test Subscription", Properties = { { AzureSubscription.Property.Tenants, tenant } } }; client.AddOrSetEnvironment(environment); client.AddOrSetAccount(account); client.AddOrSetSubscription(sub); currentProfile.Save(); var profileFile = currentProfile.ProfilePath; string profileContents = dataStore.ReadFileAsText(profileFile); var readProfile = JsonConvert.DeserializeObject <Dictionary <string, object> >(profileContents); Assert.False(readProfile.ContainsKey("Context")); AzureProfile parsedProfile = new AzureProfile(); var serializer = new JsonProfileSerializer(); Assert.True(serializer.Deserialize(profileContents, parsedProfile)); Assert.NotNull(parsedProfile); Assert.NotNull(parsedProfile.Environments); Assert.True(parsedProfile.Environments.ContainsKey(environment.Name)); Assert.NotNull(parsedProfile.Accounts); Assert.True(parsedProfile.Accounts.ContainsKey(account.Id)); Assert.NotNull(parsedProfile.Subscriptions); Assert.True(parsedProfile.Subscriptions.ContainsKey(sub.Id)); }
/// <summary> /// Common helper method for other tests to create a unit test subscription /// that connects to the mock server. /// </summary> /// <param name="powershell">The powershell instance used for the test.</param> public static AzureSubscription SetupUnitTestSubscription(System.Management.Automation.PowerShell powershell) { UnitTestHelper.ImportAzureModule(powershell); X509Certificate2 certificate = UnitTestHelper.GetUnitTestClientCertificate(); Guid subscriptionId = new Guid(UnitTestSubscriptionId); // Set the client certificate used in the subscription powershell.Runspace.SessionStateProxy.SetVariable( "clientCertificate", certificate); var profile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); AzureSMCmdlet.CurrentProfile = profile; ProfileClient client = new ProfileClient(profile); client.AddOrSetEnvironment(new AzureEnvironment { Name = UnitTestEnvironmentName, Endpoints = new Dictionary <AzureEnvironment.Endpoint, string> { { AzureEnvironment.Endpoint.ServiceManagement, MockHttpServer.DefaultHttpsServerPrefixUri.AbsoluteUri }, { AzureEnvironment.Endpoint.SqlDatabaseDnsSuffix, ".database.windows.net" } } }); var account = new AzureAccount { Id = certificate.Thumbprint, Type = AzureAccount.AccountType.Certificate }; var subscription = new AzureSubscription { Id = subscriptionId, Name = UnitTestSubscriptionName, Environment = UnitTestEnvironmentName, Account = account.Id }; client.AddOrSetAccount(account); client.AddOrSetSubscription(subscription); client.SetSubscriptionAsDefault(subscriptionId, account.Id); client.Profile.Save(); return(subscription); }
public void SetAzureSubscriptionThrowsExceptionWithoutCertificateOnAdd() { SetAzureSubscriptionCommand cmdlt = new SetAzureSubscriptionCommand(); // Setup ProfileClient client = new ProfileClient(); client.AddOrSetEnvironment(azureEnvironment); client.Profile.Save(); cmdlt.CommandRuntime = commandRuntimeMock.Object; cmdlt.SubscriptionId = Guid.NewGuid().ToString(); cmdlt.SubscriptionName = "NewSubscriptionName"; cmdlt.CurrentStorageAccountName = "NewCloudStorage"; cmdlt.Environment = azureEnvironment.Name; // Verify cmdlt.InvokeBeginProcessing(); Assert.Throws <ArgumentException>(() => cmdlt.ExecuteCmdlet()); }
public void SetAzureSubscriptionUpdatesSubscriptionWithCertificate() { SetAzureSubscriptionCommand cmdlt = new SetAzureSubscriptionCommand(); // Setup ProfileClient client = new ProfileClient(); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.Profile.Save(); cmdlt.CommandRuntime = commandRuntimeMock.Object; cmdlt.SubscriptionId = azureSubscription1.Id.ToString(); cmdlt.CurrentStorageAccountName = "NewCloudStorage"; cmdlt.Certificate = SampleCertificate; // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); // Verify client = new ProfileClient(); var newSubscription = client.Profile.Subscriptions[new Guid(cmdlt.SubscriptionId)]; var newAccount = client.Profile.Accounts[SampleCertificate.Thumbprint]; var existingAccount = client.Profile.Accounts[azureAccount.Id]; Assert.Equal(azureEnvironment.Name, newSubscription.Environment); Assert.Equal(cmdlt.CurrentStorageAccountName, newSubscription.GetProperty(AzureSubscription.Property.StorageAccount)); Assert.Equal(newAccount.Id, newSubscription.Account); Assert.Equal(AzureAccount.AccountType.Certificate, newAccount.Type); Assert.Equal(SampleCertificate.Thumbprint, newAccount.Id); Assert.Equal(cmdlt.SubscriptionId, newAccount.GetProperty(AzureAccount.Property.Subscriptions)); Assert.Equal(azureAccount.Id, existingAccount.Id); Assert.Equal(AzureAccount.AccountType.User, existingAccount.Type); Assert.True(existingAccount.GetPropertyAsArray(AzureAccount.Property.Subscriptions).Contains(cmdlt.SubscriptionId)); }
public void RefreshSubscriptionsUpdatesAccounts() { SetMocks(new[] { rdfeSubscription1, rdfeSubscription2 }.ToList(), new[] { csmSubscription1, csmSubscription1withDuplicateId }.ToList()); MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); PowerShellUtilities.GetCurrentModeOverride = () => AzureModule.AzureResourceManager; client.AddOrSetEnvironment(azureEnvironment); client.Profile.Accounts[azureAccount.Id] = azureAccount; client.AddOrSetSubscription(azureSubscription1); var subscriptions = client.RefreshSubscriptions(azureEnvironment); Assert.True(client.Profile.Accounts[azureAccount.Id].HasSubscription(new Guid(rdfeSubscription1.SubscriptionId))); Assert.True(client.Profile.Accounts[azureAccount.Id].HasSubscription(new Guid(rdfeSubscription2.SubscriptionId))); Assert.True(client.Profile.Accounts[azureAccount.Id].HasSubscription(new Guid(csmSubscription1.SubscriptionId))); Assert.True(client.Profile.Accounts[azureAccount.Id].HasSubscription(new Guid(csmSubscription1withDuplicateId.SubscriptionId))); }
public void GetCurrentEnvironmentReturnsCorrectValue() { MemoryDataStore dataStore = new MemoryDataStore(); AzureSession.DataStore = dataStore; ProfileClient client = new ProfileClient(currentProfile); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetAccount(azureAccount); client.AddOrSetSubscription(azureSubscription1); currentProfile.DefaultSubscription = azureSubscription1; var newEnv = client.GetEnvironmentOrDefault(azureEnvironment.Name); Assert.Equal(azureEnvironment.Name, newEnv.Name); }
public void AddOrSetAzureSubscriptionChecksAndUpdates() { MemoryDataStore dataStore = new MemoryDataStore(); AzureSession.DataStore = dataStore; currentProfile = new AzureSMProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); ProfileClient client = new ProfileClient(currentProfile); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); Assert.Equal(1, client.Profile.Subscriptions.Count); var subscription = client.AddOrSetSubscription(azureSubscription1); Assert.Equal(1, client.Profile.Subscriptions.Count); Assert.Equal(1, client.Profile.Accounts.Count); Assert.Equal(subscription, azureSubscription1); Assert.Throws<ArgumentNullException>(() => client.AddOrSetSubscription(null)); Assert.Throws<ArgumentNullException>(() => client.AddOrSetSubscription( new AzureSubscription { Id = new Guid(), Environment = null, Name = "foo" })); }
public void ImportPublishSettingsUsesPassedInEnvironment() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.SetSubscriptionAsDefault(azureSubscription1.Name, azureAccount.Id); client.Profile.Save(); client = new ProfileClient(); dataStore.WriteFile("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", Properties.Resources.ValidProfile3); client.AddOrSetEnvironment(azureEnvironment); var subscriptions = client.ImportPublishSettings("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", azureEnvironment.Name); Assert.True(subscriptions.All(s => s.Environment == azureEnvironment.Name)); Assert.Equal(6, subscriptions.Count); Assert.Equal(7, client.Profile.Subscriptions.Count); }
public void ImportPublishSettingsUsesProperEnvironmentWithManagementUrl() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.AddOrSetAccount(azureAccount); azureEnvironment.Endpoints[AzureEnvironment.Endpoint.ServiceManagement] = "https://newmanagement.core.windows.net/"; client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.SetSubscriptionAsDefault(azureSubscription1.Name, azureAccount.Id); client.Profile.Save(); client = new ProfileClient(); dataStore.WriteFile("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", Properties.Resources.ValidProfile3); client.AddOrSetEnvironment(azureEnvironment); var subscriptions = client.ImportPublishSettings("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", null); Assert.True(subscriptions.All(s => s.Environment == azureEnvironment.Name)); Assert.Equal(6, subscriptions.Count); Assert.Equal(7, client.Profile.Subscriptions.Count); }
public void SetAzureSubscriptionAsCurrentSetsCurrent() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.Profile.Accounts[azureAccount.Id] = azureAccount; client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.AddOrSetSubscription(azureSubscription2); Assert.Null(AzureSession.CurrentContext.Subscription); client.SetSubscriptionAsCurrent(azureSubscription2.Name, azureSubscription2.Account); Assert.Equal(azureSubscription2.Id, AzureSession.CurrentContext.Subscription.Id); Assert.Throws<ArgumentException>(() => client.SetSubscriptionAsCurrent("bad", null)); Assert.Throws<ArgumentNullException>(() => client.SetSubscriptionAsCurrent(null, null)); }
public void GetAzureSubscriptionByIdChecksAndReturnsOnlyLocal() { SetMocks(new[] { rdfeSubscription1, rdfeSubscription2 }.ToList(), new[] { csmSubscription1, csmSubscription1withDuplicateId }.ToList()); MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.AddOrSetAccount(azureAccount); PowerShellUtilities.GetCurrentModeOverride = () => AzureModule.AzureResourceManager; client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.AddOrSetSubscription(azureSubscription2); var subscriptions = client.GetSubscription(azureSubscription1.Id); Assert.Equal(azureSubscription1.Id, subscriptions.Id); Assert.Throws<ArgumentException>(() => client.GetSubscription(new Guid())); }
public void RefreshSubscriptionsMergesFromServer() { SetMocks(new[] { rdfeSubscription1, rdfeSubscription2 }.ToList(), new[] { csmSubscription1, csmSubscription1withDuplicateId }.ToList()); MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); PowerShellUtilities.GetCurrentModeOverride = () => AzureModule.AzureResourceManager; client.AddOrSetEnvironment(azureEnvironment); client.Profile.Accounts[azureAccount.Id] = azureAccount; client.AddOrSetSubscription(azureSubscription1); var subscriptions = client.RefreshSubscriptions(azureEnvironment); Assert.Equal(4, subscriptions.Count); Assert.Equal(4, subscriptions.Count(s => s.Account == "test")); Assert.Equal(1, subscriptions.Count(s => s.Id == azureSubscription1.Id)); Assert.Equal(1, subscriptions.Count(s => s.Id == new Guid(rdfeSubscription1.SubscriptionId))); Assert.Equal(2, subscriptions.First(s => s.Id == new Guid(rdfeSubscription1.SubscriptionId)).GetPropertyAsArray(AzureSubscription.Property.SupportedModes).Count()); Assert.Equal(1, subscriptions.Count(s => s.Id == new Guid(rdfeSubscription2.SubscriptionId))); Assert.Equal(1, subscriptions.Count(s => s.Id == new Guid(csmSubscription1.SubscriptionId))); }
public void SetAzureSubscriptionDerivesEnvironmentFromResourcesEndpointParameterOnSet() { // Setup var profile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); ProfileClient client = new ProfileClient(profile); AzurePSCmdlet.CurrentProfile = profile; client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.Profile.Save(); SetAzureSubscriptionCommand cmdlt = new SetAzureSubscriptionCommand(); cmdlt.CommandRuntime = commandRuntimeMock; cmdlt.SubscriptionId = azureSubscription1.Id.ToString(); cmdlt.CurrentStorageAccountName = "NewCloudStorage"; cmdlt.ResourceManagerEndpoint = azureEnvironment.GetEndpoint(AzureEnvironment.Endpoint.ResourceManager); // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); // Verify client = new ProfileClient(profile); var newSubscription = client.Profile.Subscriptions[new Guid(cmdlt.SubscriptionId)]; Assert.Equal(cmdlt.Environment, newSubscription.Environment); Assert.Equal(cmdlt.CurrentStorageAccountName, newSubscription.GetProperty(AzureSubscription.Property.StorageAccount)); }
private AzureProfile SetupCustomProfile(string path) { var profile = new AzureProfile(path); ProfileClient client = new ProfileClient(profile); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetAccount(azureAccount); client.AddOrSetSubscription(azureSubscription1); client.AddOrSetSubscription(azureSubscription2); profile.Save(path); return profile; }
private ProfileClient SetupDefaultProfile() { var profile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile)); AzurePSCmdlet.CurrentProfile = profile; ProfileClient client = new ProfileClient(profile); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetAccount(azureAccount); client.AddOrSetSubscription(azureSubscription1); client.AddOrSetSubscription(azureSubscription2); client.Profile.Save(); return client; }
public void RefreshSubscriptionsListsAllSubscriptions() { SetMocks(new[] { rdfeSubscription1, rdfeSubscription2 }.ToList(), new[] { csmSubscription1, csmSubscription1withDuplicateId }.ToList()); MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); PowerShellUtilities.GetCurrentModeOverride = () => AzureModule.AzureServiceManagement; var subscriptions = client.RefreshSubscriptions(azureEnvironment); Assert.Equal(4, subscriptions.Count); Assert.Equal(1, subscriptions.Count(s => s.Id == new Guid(rdfeSubscription1.SubscriptionId))); Assert.Equal(1, subscriptions.Count(s => s.Id == new Guid(rdfeSubscription2.SubscriptionId))); Assert.Equal(1, subscriptions.Count(s => s.Id == new Guid(csmSubscription1.SubscriptionId))); Assert.True(subscriptions.All(s => s.Environment == "Test")); Assert.True(subscriptions.All(s => s.Account == "test")); }
public void ClearAzureProfileClearsCustomProfile() { string subscriptionDataFile = Path.GetTempFileName(); ClearAzureProfileCommand cmdlt = new ClearAzureProfileCommand(); // Setup ProfileClient client = new ProfileClient(new AzureProfile(subscriptionDataFile)); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.Profile.Save(); cmdlt.CommandRuntime = commandRuntimeMock; cmdlt.Force = new SwitchParameter(true); cmdlt.Profile = new AzureProfile(subscriptionDataFile); // Act cmdlt.InvokeBeginProcessing(); cmdlt.ExecuteCmdlet(); cmdlt.InvokeEndProcessing(); // Verify client = new ProfileClient(new AzureProfile(subscriptionDataFile)); Assert.Equal(0, client.Profile.Subscriptions.Count); Assert.Equal(0, client.Profile.Accounts.Count); Assert.Equal(2, client.Profile.Environments.Count); //only default environments }
public void ClearDefaultAzureSubscriptionClearsDefault() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.Profile.Accounts[azureAccount.Id] = azureAccount; client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription2); Assert.Null(client.Profile.DefaultSubscription); client.SetSubscriptionAsDefault(azureSubscription2.Name, azureSubscription2.Account); Assert.Equal(azureSubscription2.Id, client.Profile.DefaultSubscription.Id); client.ClearDefaultSubscription(); Assert.Null(client.Profile.DefaultSubscription); }
public void AddAzureEnvironmentAddsEnvironment() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); Assert.Equal(2, client.Profile.Environments.Count); Assert.Throws<ArgumentNullException>(() => client.AddOrSetEnvironment(null)); var env = client.AddOrSetEnvironment(azureEnvironment); Assert.Equal(3, client.Profile.Environments.Count); Assert.Equal(env, azureEnvironment); }
public void ImportPublishSettingsLoadsAndReturnsSubscriptions() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); dataStore.WriteFile("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", Properties.Resources.ValidProfile); client.AddOrSetEnvironment(azureEnvironment); var subscriptions = client.ImportPublishSettings("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", azureEnvironment.Name); var account = client.Profile.Accounts.Values.First(); Assert.True(subscriptions.All(s => s.Account == account.Id)); Assert.Equal(6, subscriptions.Count); Assert.Equal(6, client.Profile.Subscriptions.Count); }
public void SetAzureEnvironmentUpdatesEnvironment() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); Assert.Equal(2, client.Profile.Environments.Count); Assert.Throws<ArgumentNullException>(() => client.AddOrSetEnvironment(null)); var env2 = client.AddOrSetEnvironment(azureEnvironment); Assert.Equal(env2.Name, azureEnvironment.Name); Assert.NotNull(env2.Endpoints[AzureEnvironment.Endpoint.ServiceManagement]); AzureEnvironment newEnv = new AzureEnvironment { Name = azureEnvironment.Name }; newEnv.Endpoints[AzureEnvironment.Endpoint.Graph] = "foo"; env2 = client.AddOrSetEnvironment(newEnv); Assert.Equal("foo", env2.Endpoints[AzureEnvironment.Endpoint.Graph]); Assert.NotNull(env2.Endpoints[AzureEnvironment.Endpoint.ServiceManagement]); }
public void ImportPublishSettingsUsesProperEnvironmentWithChinaManagementUrlOld() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); dataStore.WriteFile("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", Properties.Resources.ValidProfileChinaOld); client.AddOrSetEnvironment(azureEnvironment); var subscriptions = client.ImportPublishSettings("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", null); Assert.True(subscriptions.All(s => s.Environment == EnvironmentName.AzureChinaCloud)); Assert.Equal(1, subscriptions.Count); Assert.Equal(1, client.Profile.Subscriptions.Count); }
public void GetAzureEnvironmentReturnsCorrectValue() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.AddOrSetEnvironment(azureEnvironment); Assert.Equal(EnvironmentName.AzureCloud, AzureSession.CurrentContext.Environment.Name); var defaultEnv = client.GetEnvironmentOrDefault(null); Assert.Equal(EnvironmentName.AzureCloud, defaultEnv.Name); var newEnv = client.GetEnvironmentOrDefault(azureEnvironment.Name); Assert.Equal(azureEnvironment.Name, newEnv.Name); Assert.Throws<ArgumentException>(() => client.GetEnvironmentOrDefault("bad")); }
public void ImportPublishSettingsAddsSecondCertificate() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); var newSubscription = new AzureSubscription { Id = new Guid("f62b1e05-af8f-4203-8f97-421089adc053"), Name = "Microsoft Azure Sandbox 9-220", Environment = EnvironmentName.AzureCloud, Account = azureAccount.Id }; azureAccount.SetProperty(AzureAccount.Property.Subscriptions, newSubscription.Id.ToString()); client.AddOrSetAccount(azureAccount); client.AddOrSetSubscription(newSubscription); client.Profile.Save(); client = new ProfileClient(); dataStore.WriteFile("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", Properties.Resources.ValidProfile); client.AddOrSetEnvironment(azureEnvironment); var subscriptions = client.ImportPublishSettings("ImportPublishSettingsLoadsAndReturnsSubscriptions.publishsettings", azureEnvironment.Name); Assert.Equal(2, client.Profile.Accounts.Count()); var certAccount = client.Profile.Accounts.Values.First(a => a.Type == AzureAccount.AccountType.Certificate); var userAccount = client.Profile.Accounts.Values.First(a => a.Type == AzureAccount.AccountType.User); Assert.True(subscriptions.All(s => s.Account == certAccount.Id)); Assert.Equal(azureAccount.Id, client.Profile.Subscriptions.Values.First(s => s.Id == newSubscription.Id).Account); Assert.True(userAccount.GetPropertyAsArray(AzureAccount.Property.Subscriptions).Contains(newSubscription.Id.ToString())); Assert.True(certAccount.GetPropertyAsArray(AzureAccount.Property.Subscriptions).Contains(newSubscription.Id.ToString())); Assert.Equal(6, subscriptions.Count); Assert.Equal(6, client.Profile.Subscriptions.Count); }
public void AddOrSetAzureSubscriptionChecksAndUpdates() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); Assert.Equal(1, client.Profile.Subscriptions.Count); var subscription = client.AddOrSetSubscription(azureSubscription1); Assert.Equal(1, client.Profile.Subscriptions.Count); Assert.Equal(1, client.Profile.Accounts.Count); Assert.Equal(subscription, azureSubscription1); Assert.Throws<ArgumentNullException>(() => client.AddOrSetSubscription(null)); Assert.Throws<ArgumentNullException>(() => client.AddOrSetSubscription( new AzureSubscription { Id = new Guid(), Environment = null, Name = "foo"})); }
public void SetAzureSubscriptionThrowsExceptionWithoutCertificateOnAdd() { SetAzureSubscriptionCommand cmdlt = new SetAzureSubscriptionCommand(); // Setup ProfileClient client = new ProfileClient(); client.AddOrSetEnvironment(azureEnvironment); client.Profile.Save(); cmdlt.CommandRuntime = commandRuntimeMock.Object; cmdlt.SubscriptionId = Guid.NewGuid().ToString(); cmdlt.SubscriptionName = "NewSubscriptionName"; cmdlt.CurrentStorageAccountName = "NewCloudStorage"; cmdlt.Environment = azureEnvironment.Name; // Verify cmdlt.InvokeBeginProcessing(); Assert.Throws<ArgumentException>(()=> cmdlt.ExecuteCmdlet()); }
public void AddOrSetAzureSubscriptionUpdatesInMemory() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.AddOrSetAccount(azureAccount); client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); AzureSession.SetCurrentContext(azureSubscription1, azureEnvironment, azureAccount); azureSubscription1.Properties[AzureSubscription.Property.StorageAccount] = "testAccount"; Assert.Equal(azureSubscription1.Id, AzureSession.CurrentContext.Subscription.Id); Assert.Equal(azureSubscription1.Properties[AzureSubscription.Property.StorageAccount], AzureSession.CurrentContext.Subscription.Properties[AzureSubscription.Property.StorageAccount]); var newSubscription = new AzureSubscription { Id = azureSubscription1.Id, Environment = azureSubscription1.Environment, Account = azureSubscription1.Account, Name = azureSubscription1.Name }; newSubscription.Properties[AzureSubscription.Property.StorageAccount] = "testAccount1"; client.AddOrSetSubscription(newSubscription); var newSubscriptionFromProfile = client.Profile.Subscriptions[newSubscription.Id]; Assert.Equal(newSubscription.Id, AzureSession.CurrentContext.Subscription.Id); Assert.Equal(newSubscription.Id, newSubscriptionFromProfile.Id); Assert.Equal(newSubscription.Properties[AzureSubscription.Property.StorageAccount], AzureSession.CurrentContext.Subscription.Properties[AzureSubscription.Property.StorageAccount]); Assert.Equal(newSubscription.Properties[AzureSubscription.Property.StorageAccount], newSubscriptionFromProfile.Properties[AzureSubscription.Property.StorageAccount]); }
public void RemoveAzureSubscriptionChecksAndRemoves() { MockDataStore dataStore = new MockDataStore(); ProfileClient.DataStore = dataStore; ProfileClient client = new ProfileClient(); client.Profile.Accounts[azureAccount.Id] = azureAccount; client.AddOrSetEnvironment(azureEnvironment); client.AddOrSetSubscription(azureSubscription1); client.SetSubscriptionAsCurrent(azureSubscription1.Name, azureSubscription1.Account); client.SetSubscriptionAsDefault(azureSubscription1.Name, azureSubscription1.Account); Assert.Equal(1, client.Profile.Subscriptions.Count); List<string> log = new List<string>(); client.WarningLog = log.Add; var subscription = client.RemoveSubscription(azureSubscription1.Name); Assert.Equal(0, client.Profile.Subscriptions.Count); Assert.Equal(azureSubscription1.Name, subscription.Name); Assert.Equal(2, log.Count); Assert.Equal( "The default subscription is being removed. Use Select-AzureSubscription -Default <subscriptionName> to select a new default subscription.", log[0]); Assert.Equal( "The current subscription is being removed. Use Select-AzureSubscription <subscriptionName> to select a new current subscription.", log[1]); Assert.Throws<ArgumentException>(() => client.RemoveSubscription("bad")); Assert.Throws<ArgumentNullException>(() => client.RemoveSubscription(null)); }