internal virtual void TestInitialize([System.Runtime.CompilerServices.CallerMemberName] string methodName = "testframework_failed") { Context = SynapseMockContext.Start(this.GetType(), methodName); CommonData = new CommonTestFixture(); SynapseClient = Context.GetServiceClient <SynapseManagementClient>(); SynapseManagementHelper = new SynapseManagementHelper(CommonData, Context); if (IsRecordMode) { //set mode to none to skip recoding during setup HttpMockServer.Mode = HttpRecorderMode.None; SynapseManagementHelper.RegisterSubscriptionForResource("Microsoft.Synapse"); SynapseManagementHelper.RegisterSubscriptionForResource("Microsoft.Storage"); this.CreateResources(); //set mode back to record HttpMockServer.Mode = HttpRecorderMode.Record; string mockedSubscriptionId = TestUtilities.GenerateGuid().ToString(); CommonData.SubscriptionId = SynapseManagementTestUtilities.GetSubscriptionId(); this.Context.AddTextReplacementRule(CommonData.SubscriptionId, mockedSubscriptionId); } }
public void TestWorkspaceLifeCycle() { TestInitialize(); // create workspace string workspaceName = TestUtilities.GenerateName("synapsesdkworkspace"); var createParams = CommonData.PrepareWorkspaceCreateParams(); var workspaceCreate = SynapseClient.Workspaces.CreateOrUpdate(CommonData.ResourceGroupName, workspaceName, createParams); Assert.Equal(CommonTestFixture.WorkspaceType, workspaceCreate.Type); Assert.Equal(workspaceName, workspaceCreate.Name); Assert.Equal(CommonData.Location, workspaceCreate.Location); for (int i = 0; i < 60; i++) { var workspaceGet = SynapseClient.Workspaces.Get(CommonData.ResourceGroupName, workspaceName); if (workspaceGet.ProvisioningState.Equals("Succeeded")) { Assert.Equal(CommonTestFixture.WorkspaceType, workspaceGet.Type); Assert.Equal(workspaceName, workspaceGet.Name); Assert.Equal(CommonData.Location, workspaceGet.Location); break; } Thread.Sleep(30000); Assert.True(i < 60, "Synapse Workspace is not in succeeded state even after 30 min."); } // update workspace Dictionary <string, string> tagsToUpdate = new Dictionary <string, string> { { "TestTag", "TestUpdate" } }; createParams.Tags = tagsToUpdate; var workspaceUpdate = SynapseClient.Workspaces.CreateOrUpdate(CommonData.ResourceGroupName, workspaceName, createParams); Assert.NotNull(workspaceUpdate.Tags); Assert.Equal("TestUpdate", workspaceUpdate.Tags["TestTag"]); // list workspace from resource group var firstPage = SynapseClient.Workspaces.ListByResourceGroup(CommonData.ResourceGroupName); var workspaceFromResourceGroup = SynapseManagementTestUtilities.ListResources(firstPage, SynapseClient.Workspaces.ListNext); Assert.True(1 <= workspaceFromResourceGroup.Count); bool isFound = false; int workspaceCount = workspaceFromResourceGroup.Count; for (int i = 0; i < workspaceCount; i++) { if (workspaceFromResourceGroup[i].Name.Equals(workspaceName)) { isFound = true; Assert.Equal(CommonTestFixture.WorkspaceType, workspaceFromResourceGroup[i].Type); Assert.Equal(CommonData.Location, workspaceFromResourceGroup[i].Location); break; } } Assert.True(isFound, string.Format("Workspace created earlier is not found when listing all in resource group {0}", CommonData.ResourceGroupName)); // list workspace from subscription firstPage = SynapseClient.Workspaces.List(); Assert.True(1 <= workspaceFromResourceGroup.Count); var workspaceFromSubscription = SynapseManagementTestUtilities.ListResources(firstPage, SynapseClient.Workspaces.ListNext); Assert.True(1 <= workspaceFromSubscription.Count); isFound = false; for (int i = 0; i < workspaceFromSubscription.Count; i++) { if (workspaceFromSubscription[i].Name.Equals(workspaceName)) { isFound = true; Assert.Equal(CommonTestFixture.WorkspaceType, workspaceFromSubscription[i].Type); Assert.Equal(CommonData.Location, workspaceFromSubscription[i].Location); break; } } Assert.True(isFound, string.Format("Workspace created earlier is not found when listing all in subscription {0}", CommonData.SubscriptionId)); // delete workspace SynapseClient.Workspaces.Delete(CommonData.ResourceGroupName, workspaceName); firstPage = SynapseClient.Workspaces.ListByResourceGroup(CommonData.ResourceGroupName); var workspaceAfterDelete = SynapseManagementTestUtilities.ListResources(firstPage, SynapseClient.Workspaces.ListNext); Assert.True(workspaceCount - 1 == workspaceAfterDelete.Count); }
public void TestSqlPoolLifeCycle() { TestInitialize(); // create workspace string workspaceName = TestUtilities.GenerateName("synapsesdkworkspace"); var createWorkspaceParams = CommonData.PrepareWorkspaceCreateParams(); var workspaceCreate = SynapseClient.Workspaces.CreateOrUpdate(CommonData.ResourceGroupName, workspaceName, createWorkspaceParams); Assert.Equal(CommonTestFixture.WorkspaceType, workspaceCreate.Type); Assert.Equal(workspaceName, workspaceCreate.Name); Assert.Equal(CommonData.Location, workspaceCreate.Location); for (int i = 0; i < 60; i++) { var workspaceGet = SynapseClient.Workspaces.Get(CommonData.ResourceGroupName, workspaceName); if (workspaceGet.ProvisioningState.Equals("Succeeded")) { Assert.Equal(CommonTestFixture.WorkspaceType, workspaceGet.Type); Assert.Equal(workspaceName, workspaceGet.Name); Assert.Equal(CommonData.Location, workspaceGet.Location); break; } Thread.Sleep(30000); Assert.True(i < 60, "Synapse Workspace is not in succeeded state even after 30 min."); } // create sqlpool string sqlpoolName = TestUtilities.GenerateName("sqlpool"); var createSqlpoolParams = CommonData.PrepareSqlpoolCreateParams(); var sqlpoolCreate = SynapseClient.SqlPools.Create(CommonData.ResourceGroupName, workspaceName, sqlpoolName, createSqlpoolParams); Assert.Equal(CommonTestFixture.SqlpoolType, sqlpoolCreate.Type); Assert.Equal(sqlpoolName, sqlpoolCreate.Name); Assert.Equal(CommonData.Location, sqlpoolCreate.Location); // get sqlpool for (int i = 0; i < 60; i++) { var sqlpoolGet = SynapseClient.SqlPools.Get(CommonData.ResourceGroupName, workspaceName, sqlpoolName); if (sqlpoolGet.ProvisioningState.Equals("Succeeded")) { Assert.Equal(CommonTestFixture.SqlpoolType, sqlpoolCreate.Type); Assert.Equal(sqlpoolName, sqlpoolCreate.Name); Assert.Equal(CommonData.Location, sqlpoolCreate.Location); break; } Thread.Sleep(30000); Assert.True(i < 60, "Synapse SqlPool is not in succeeded state even after 30 min."); } // update sqlpool Dictionary <string, string> tagsToUpdate = new Dictionary <string, string> { { "TestTag", "TestUpdate" } }; SqlPoolPatchInfo sqlPoolPatchInfo = new SqlPoolPatchInfo { Tags = tagsToUpdate, Sku = sqlpoolCreate.Sku }; SynapseClient.SqlPools.Update(CommonData.ResourceGroupName, workspaceName, sqlpoolName, sqlPoolPatchInfo); Thread.Sleep(30000); var sqlpoolUpdate = SynapseClient.SqlPools.Get(CommonData.ResourceGroupName, workspaceName, sqlpoolName); Assert.NotNull(sqlpoolUpdate.Tags); Assert.Equal("TestUpdate", sqlpoolUpdate.Tags["TestTag"]); // list sqlpool from workspace var firstPage = SynapseClient.SqlPools.ListByWorkspace(CommonData.ResourceGroupName, workspaceName); var sqlpoolFromWorkspace = SynapseManagementTestUtilities.ListResources(firstPage, SynapseClient.SqlPools.ListByWorkspaceNext); Assert.True(1 <= sqlpoolFromWorkspace.Count); bool isFound = false; int sqlpoolCount = sqlpoolFromWorkspace.Count; for (int i = 0; i < sqlpoolCount; i++) { if (sqlpoolFromWorkspace[i].Name.Equals(sqlpoolName)) { isFound = true; Assert.Equal("Microsoft.Synapse/workspaces/sqlPools", sqlpoolFromWorkspace[i].Type); Assert.Equal(CommonData.Location, sqlpoolFromWorkspace[i].Location); break; } } Assert.True(isFound, string.Format("Sqlpool created earlier is not found when listing all in workspace {0}", workspaceName)); // delete sqlpool SynapseClient.SqlPools.Delete(CommonData.ResourceGroupName, workspaceName, sqlpoolName); firstPage = SynapseClient.SqlPools.ListByWorkspace(CommonData.ResourceGroupName, workspaceName); var sqlpoolAfterDelete = SynapseManagementTestUtilities.ListResources(firstPage, SynapseClient.SqlPools.ListByWorkspaceNext); Assert.True(sqlpoolCount - 1 == sqlpoolAfterDelete.Count); }
public void TestSparkPoolLifeCycle() { TestInitialize(); // create workspace string workspaceName = TestUtilities.GenerateName("synapsesdkworkspace"); var createWorkspaceParams = CommonData.PrepareWorkspaceCreateParams(); var workspaceCreate = SynapseClient.Workspaces.CreateOrUpdate(CommonData.ResourceGroupName, workspaceName, createWorkspaceParams); Assert.Equal(CommonTestFixture.WorkspaceType, workspaceCreate.Type); Assert.Equal(workspaceName, workspaceCreate.Name); Assert.Equal(CommonData.Location, workspaceCreate.Location); for (int i = 0; i < 60; i++) { var workspaceGet = SynapseClient.Workspaces.Get(CommonData.ResourceGroupName, workspaceName); if (workspaceGet.ProvisioningState.Equals("Succeeded")) { Assert.Equal(CommonTestFixture.WorkspaceType, workspaceGet.Type); Assert.Equal(workspaceName, workspaceGet.Name); Assert.Equal(CommonData.Location, workspaceGet.Location); break; } Thread.Sleep(30000); Assert.True(i < 60, "Synapse Workspace is not in succeeded state even after 30 min."); } // create sparkpool unableautoscale string sparkpoolName = TestUtilities.GenerateName("sparkpool"); var createSparkpoolParams = CommonData.PrepareSparkpoolCreateParams(enableAutoScale: false, enableAutoPause: false); var sparkpoolUnableAutoScale = SynapseClient.BigDataPools.CreateOrUpdate(CommonData.ResourceGroupName, workspaceName, sparkpoolName, createSparkpoolParams); Assert.Equal(CommonTestFixture.SparkpoolType, sparkpoolUnableAutoScale.Type); Assert.Equal(sparkpoolName, sparkpoolUnableAutoScale.Name); Assert.Equal(CommonData.Location, sparkpoolUnableAutoScale.Location); // get sparkpool for (int i = 0; i < 60; i++) { var sparkpoolGet = SynapseClient.BigDataPools.Get(CommonData.ResourceGroupName, workspaceName, sparkpoolName); if (sparkpoolGet.ProvisioningState.Equals("Succeeded")) { Assert.Equal(CommonTestFixture.SparkpoolType, sparkpoolUnableAutoScale.Type); Assert.Equal(sparkpoolName, sparkpoolUnableAutoScale.Name); Assert.Equal(CommonData.Location, sparkpoolUnableAutoScale.Location); break; } Thread.Sleep(30000); Assert.True(i < 60, "Synapse SparkPool is not in succeeded state even after 30 min."); } // update sparkpool Dictionary <string, string> tagsToUpdate = new Dictionary <string, string> { { "TestTag", "TestUpdate" } }; BigDataPoolPatchInfo bigdataPoolPatchInfo = new BigDataPoolPatchInfo { Tags = tagsToUpdate }; SynapseClient.BigDataPools.Update(CommonData.ResourceGroupName, workspaceName, sparkpoolName, bigdataPoolPatchInfo); var sparkpoolUpdate = SynapseClient.BigDataPools.Get(CommonData.ResourceGroupName, workspaceName, sparkpoolName); Thread.Sleep(30000); Assert.NotNull(sparkpoolUpdate.Tags); Assert.Equal("TestUpdate", sparkpoolUpdate.Tags["TestTag"]); // Enable Auto-scale and Auto-pause createSparkpoolParams = CommonData.PrepareSparkpoolCreateParams(enableAutoScale: true, enableAutoPause: true); var sparkpoolEnableAutoScale = SynapseClient.BigDataPools.CreateOrUpdate(CommonData.ResourceGroupName, workspaceName, sparkpoolName, createSparkpoolParams); Assert.Equal(CommonTestFixture.SparkpoolType, sparkpoolUnableAutoScale.Type); Assert.Equal(sparkpoolName, sparkpoolUnableAutoScale.Name); Assert.Equal(CommonData.Location, sparkpoolUnableAutoScale.Location); Assert.True(sparkpoolEnableAutoScale.AutoScale.Enabled); Assert.Equal(CommonData.AutoScaleMaxNodeCount, sparkpoolEnableAutoScale.AutoScale.MaxNodeCount); Assert.Equal(CommonData.AutoScaleMinNodeCount, sparkpoolEnableAutoScale.AutoScale.MinNodeCount); Assert.True(sparkpoolEnableAutoScale.AutoPause.Enabled); Assert.Equal(CommonData.AutoPauseDelayInMinute, sparkpoolEnableAutoScale.AutoPause.DelayInMinutes); // list sparkpool from workspace var firstPage = SynapseClient.BigDataPools.ListByWorkspace(CommonData.ResourceGroupName, workspaceName); var sparkpoolFromWorkspace = SynapseManagementTestUtilities.ListResources(firstPage, SynapseClient.BigDataPools.ListByWorkspaceNext); Assert.True(1 <= sparkpoolFromWorkspace.Count); bool isFound = false; int sparkpoolCount = sparkpoolFromWorkspace.Count; for (int i = 0; i < sparkpoolCount; i++) { if (sparkpoolFromWorkspace[i].Name.Equals(sparkpoolName)) { isFound = true; Assert.Equal(CommonTestFixture.SparkpoolType, sparkpoolFromWorkspace[i].Type); Assert.Equal(CommonData.Location, sparkpoolFromWorkspace[i].Location); break; } } Assert.True(isFound, string.Format("Sparkpool created earlier is not found when listing all in workspace {0}", workspaceName)); // delete sqlpool SynapseClient.BigDataPools.Delete(CommonData.ResourceGroupName, workspaceName, sparkpoolName); firstPage = SynapseClient.BigDataPools.ListByWorkspace(CommonData.ResourceGroupName, workspaceName); var sparkpoolAfterDelete = SynapseManagementTestUtilities.ListResources(firstPage, SynapseClient.BigDataPools.ListByWorkspaceNext); Assert.True(sparkpoolCount - 1 == sparkpoolAfterDelete.Count); }