public void ScaleOutTest() { string executingAssemblyPath = typeof(AnalysisServices.Tests.ScenarioTests.ServerOperationsTests).GetTypeInfo().Assembly.Location; HttpMockServer.RecordsDirectory = Path.Combine(Path.GetDirectoryName(executingAssemblyPath), "SessionRecords"); var defaultScaleOutCap = 2; var s1SKU = "S1"; using (var context = MockContext.Start(this.GetType())) { var client = this.GetAnalysisServicesClient(context); AnalysisServicesServer analysisServicesServer = AnalysisServicesTestUtilities.GetDefaultAnalysisServicesResource(); SkuEnumerationForNewResourceResult skusListForNew = client.Servers.ListSkusForNew(); analysisServicesServer.Sku = skusListForNew.Value.Where((s) => s.Name == s1SKU).First(); analysisServicesServer.Sku.Capacity = defaultScaleOutCap; AnalysisServicesServer resultCreate = null; try { // Create a test server resultCreate = client.Servers.Create( AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName, analysisServicesServer); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Assert.Equal("Succeeded", resultCreate.ProvisioningState); Assert.Equal("Succeeded", resultCreate.State); // get the server and ensure that all the values are properly set. var resultGet = client.Servers.GetDetails(AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName); // validate the server creation process Assert.Equal(AnalysisServicesTestUtilities.DefaultLocation, resultGet.Location); Assert.Equal(AnalysisServicesTestUtilities.DefaultServerName, resultGet.Name); Assert.NotEmpty(resultGet.ServerFullName); Assert.Equal(analysisServicesServer.Sku.Name, resultGet.Sku.Name); Assert.Equal(2, resultGet.Tags.Count); Assert.True(resultGet.Tags.ContainsKey("key1")); Assert.Equal(2, resultGet.AsAdministrators.Members.Count); Assert.Equal("Microsoft.AnalysisServices/servers", resultGet.Type); Assert.Equal(2, resultGet.Sku.Capacity); // Confirm that the server creation did succeed Assert.True(resultGet.ProvisioningState == "Succeeded"); Assert.True(resultGet.State == "Succeeded"); // Scale in the server and verify ResourceSku newSku = resultGet.Sku; newSku.Capacity = 1; AnalysisServicesServerUpdateParameters updateParameters = new AnalysisServicesServerUpdateParameters() { Sku = newSku }; var resultUpdate = client.Servers.Update( AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName, updateParameters); Assert.Equal("Succeeded", resultUpdate.ProvisioningState); Assert.Equal("Succeeded", resultUpdate.State); Assert.Equal(1, resultUpdate.Sku.Capacity); // get the server and ensure that all the values are properly set. resultGet = client.Servers.GetDetails(AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName); // validate the server creation process Assert.Equal(AnalysisServicesTestUtilities.DefaultLocation, resultGet.Location); Assert.Equal(AnalysisServicesTestUtilities.DefaultServerName, resultGet.Name); Assert.NotEmpty(resultGet.ServerFullName); Assert.Equal(newSku.Name, resultGet.Sku.Name); Assert.Equal(newSku.Tier, resultGet.Sku.Tier); Assert.Equal(2, resultGet.Tags.Count); Assert.True(resultGet.Tags.ContainsKey("key1")); Assert.Equal(2, resultGet.AsAdministrators.Members.Count); Assert.Equal("Microsoft.AnalysisServices/servers", resultGet.Type); Assert.Equal(1, resultGet.Sku.Capacity); // delete the server with its old name, which should also succeed. client.Servers.Delete(AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName); } }
public void FirewallTest() { string executingAssemblyPath = typeof(AnalysisServices.Tests.ScenarioTests.ServerOperationsTests).GetTypeInfo().Assembly.Location; HttpMockServer.RecordsDirectory = Path.Combine(Path.GetDirectoryName(executingAssemblyPath), "SessionRecords"); var s1SKU = "S1"; var sampleIPV4FirewallSetting = new IPv4FirewallSettings() { EnablePowerBIService = "True", FirewallRules = new List <IPv4FirewallRule>() { new IPv4FirewallRule() { FirewallRuleName = "rule1", RangeStart = "0.0.0.0", RangeEnd = "255.255.255.255" }, new IPv4FirewallRule() { FirewallRuleName = "rule2", RangeStart = "7.7.7.7", RangeEnd = "8.8.8.8" }, } }; using (var context = MockContext.Start(this.GetType())) { var client = this.GetAnalysisServicesClient(context); AnalysisServicesServer analysisServicesServer = AnalysisServicesTestUtilities.GetDefaultAnalysisServicesResource(); SkuEnumerationForNewResourceResult skusListForNew = client.Servers.ListSkusForNew(); analysisServicesServer.Sku = skusListForNew.Value.Where((s) => s.Name == s1SKU).First(); analysisServicesServer.IpV4FirewallSettings = sampleIPV4FirewallSetting; AnalysisServicesServer resultCreate = null; try { Console.Out.Write(analysisServicesServer.Sku.Capacity); // Create a test server resultCreate = client.Servers.Create( AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName, analysisServicesServer); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Assert.Equal("Succeeded", resultCreate.ProvisioningState); Assert.Equal("Succeeded", resultCreate.State); // get the server and ensure that all the values are properly set. var resultGet = client.Servers.GetDetails(AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName); // validate the server creation process Assert.Equal(AnalysisServicesTestUtilities.DefaultLocation, resultGet.Location); Assert.Equal(AnalysisServicesTestUtilities.DefaultServerName, resultGet.Name); Assert.NotEmpty(resultGet.ServerFullName); Assert.Equal(analysisServicesServer.Sku.Name, resultGet.Sku.Name); Assert.Equal(2, resultGet.Tags.Count); Assert.True(resultGet.Tags.ContainsKey("key1")); Assert.Equal(2, resultGet.AsAdministrators.Members.Count); Assert.Equal("Microsoft.AnalysisServices/servers", resultGet.Type); Assert.Equal(sampleIPV4FirewallSetting.EnablePowerBIService, resultGet.IpV4FirewallSettings.EnablePowerBIService); Assert.Equal(sampleIPV4FirewallSetting.FirewallRules.Count(), resultGet.IpV4FirewallSettings.FirewallRules.Count()); Assert.Equal(sampleIPV4FirewallSetting.FirewallRules.First().FirewallRuleName, resultGet.IpV4FirewallSettings.FirewallRules.First().FirewallRuleName); Assert.Equal(sampleIPV4FirewallSetting.FirewallRules.First().RangeStart, resultGet.IpV4FirewallSettings.FirewallRules.First().RangeStart); Assert.Equal(sampleIPV4FirewallSetting.FirewallRules.First().RangeEnd, resultGet.IpV4FirewallSettings.FirewallRules.First().RangeEnd); // Confirm that the server creation did succeed Assert.True(resultGet.ProvisioningState == "Succeeded"); Assert.True(resultGet.State == "Succeeded"); // Update firewall and verify ResourceSku newSku = resultGet.Sku; sampleIPV4FirewallSetting.EnablePowerBIService = "False"; sampleIPV4FirewallSetting.FirewallRules = new List <IPv4FirewallRule>() { new IPv4FirewallRule() { FirewallRuleName = "rule3", RangeStart = "6.6.6.6", RangeEnd = "255.255.255.255" } }; AnalysisServicesServerUpdateParameters updateParameters = new AnalysisServicesServerUpdateParameters() { IpV4FirewallSettings = sampleIPV4FirewallSetting }; var resultUpdate = client.Servers.Update( AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName, updateParameters); Assert.Equal("Succeeded", resultUpdate.ProvisioningState); Assert.Equal("Succeeded", resultUpdate.State); // get the server and ensure that all the values are properly set. resultGet = client.Servers.GetDetails(AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName); // validate the server creation process Assert.Equal(AnalysisServicesTestUtilities.DefaultLocation, resultGet.Location); Assert.Equal(AnalysisServicesTestUtilities.DefaultServerName, resultGet.Name); Assert.NotEmpty(resultGet.ServerFullName); Assert.Equal(newSku.Name, resultGet.Sku.Name); Assert.Equal(newSku.Tier, resultGet.Sku.Tier); Assert.Equal(2, resultGet.Tags.Count); Assert.True(resultGet.Tags.ContainsKey("key1")); Assert.Equal(2, resultGet.AsAdministrators.Members.Count); Assert.Equal("Microsoft.AnalysisServices/servers", resultGet.Type); Assert.Equal(1, resultGet.Sku.Capacity); Assert.Equal(sampleIPV4FirewallSetting.EnablePowerBIService, resultGet.IpV4FirewallSettings.EnablePowerBIService); Assert.Equal(sampleIPV4FirewallSetting.FirewallRules.Count(), resultGet.IpV4FirewallSettings.FirewallRules.Count()); Assert.Equal(sampleIPV4FirewallSetting.FirewallRules.First().FirewallRuleName, resultGet.IpV4FirewallSettings.FirewallRules.First().FirewallRuleName); Assert.Equal(sampleIPV4FirewallSetting.FirewallRules.First().RangeStart, resultGet.IpV4FirewallSettings.FirewallRules.First().RangeStart); Assert.Equal(sampleIPV4FirewallSetting.FirewallRules.First().RangeEnd, resultGet.IpV4FirewallSettings.FirewallRules.First().RangeEnd); // delete the server with its old name, which should also succeed. client.Servers.Delete(AnalysisServicesTestUtilities.DefaultResourceGroup, AnalysisServicesTestUtilities.DefaultServerName); } }
public void ScaleUpTest() { string executingAssemblyPath = typeof(PowerBIDedicated.Tests.ScenarioTests.CapacityOperationsTests).GetTypeInfo().Assembly.Location; HttpMockServer.RecordsDirectory = Path.Combine(Path.GetDirectoryName(executingAssemblyPath), "SessionRecords"); using (var context = MockContext.Start(this.GetType())) { var client = this.GetDedicatedServicesClient(context); DedicatedCapacity testCapacity = PowerBIDedicatedTestUtilities.GetDefaultDedicatedResource(); SkuEnumerationForNewResourceResult skusListForNew = client.Capacities.ListSkus(); testCapacity.Sku = skusListForNew.Value.Where(val => val.Name == "A1").First(); if (testCapacity.Sku == null) { skusListForNew.Value.First(); } DedicatedCapacity resultCreate = null; try { // Create a test capacity resultCreate = client.Capacities.Create( PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName, testCapacity); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Assert.Equal("Succeeded", resultCreate.ProvisioningState); Assert.Equal("Succeeded", resultCreate.State); // get the capacity and ensure that all the values are properly set. var resultGet = client.Capacities.GetDetails(PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName); // validate the capacity creation process Assert.Equal(PowerBIDedicatedTestUtilities.DefaultLocation, resultGet.Location); Assert.Equal(PowerBIDedicatedTestUtilities.DefaultCapacityName, resultGet.Name); Assert.Equal(testCapacity.Sku.Name, resultGet.Sku.Name); Assert.Equal(2, resultGet.Tags.Count); Assert.True(resultGet.Tags.ContainsKey("key1")); Assert.Equal(2, resultGet.Administration.Members.Count); // Confirm that the capacity creation did succeed Assert.True(resultGet.ProvisioningState == "Succeeded"); Assert.True(resultGet.State == "Succeeded"); // Scale up the capacity and verify SkuEnumerationForExistingResourceResult skusListForExisting = client.Capacities.ListSkusForCapacity(PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName); ResourceSku newSku = skusListForExisting.Value.Where(detail => detail.Sku.Name != testCapacity.Sku.Name && detail.Sku.Name.StartsWith("A")).First().Sku; DedicatedCapacityUpdateParameters updateParameters = new DedicatedCapacityUpdateParameters() { Sku = newSku }; var resultUpdate = client.Capacities.Update( PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName, updateParameters); Assert.Equal("Succeeded", resultUpdate.ProvisioningState); Assert.Equal("Succeeded", resultUpdate.State); // Suspend the capacity client.Capacities.Suspend(PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName); // get the capacity and ensure that all the values are properly set. resultGet = client.Capacities.GetDetails(PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName); Assert.Equal("Paused", resultGet.ProvisioningState); Assert.Equal("Paused", resultGet.State); updateParameters = new DedicatedCapacityUpdateParameters() { Sku = testCapacity.Sku }; resultUpdate = client.Capacities.Update( PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName, updateParameters); Assert.Equal("Paused", resultUpdate.ProvisioningState); Assert.Equal("Paused", resultUpdate.State); // get the capacity and ensure that all the values are properly set. resultGet = client.Capacities.GetDetails(PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName); // validate the capacity creation process Assert.Equal(PowerBIDedicatedTestUtilities.DefaultLocation, resultGet.Location); Assert.Equal(PowerBIDedicatedTestUtilities.DefaultCapacityName, resultGet.Name); Assert.Equal(testCapacity.Sku.Name, resultGet.Sku.Name); Assert.Equal(2, resultGet.Tags.Count); Assert.True(resultGet.Tags.ContainsKey("key1")); Assert.Equal(2, resultGet.Administration.Members.Count); // delete the capacity with its old name, which should also succeed. client.Capacities.Delete(PowerBIDedicatedTestUtilities.DefaultResourceGroup, PowerBIDedicatedTestUtilities.DefaultCapacityName); } }