public static void SetTestSettings() { vmPowershellCmdlets = new ServiceManagementCmdletTestHelper(); CredentialHelper.GetTestSettings(Resource.TestSettings); vmPowershellCmdlets.RemoveAzureSubscriptions(); vmPowershellCmdlets.ImportAzurePublishSettingsFile(CredentialHelper.PublishSettingsFile); if (string.IsNullOrEmpty(CredentialHelper.DefaultSubscriptionName)) { defaultAzureSubscription = vmPowershellCmdlets.GetCurrentAzureSubscription(); if (string.IsNullOrEmpty(Resource.DefaultSubscriptionName)) { CredentialHelper.DefaultSubscriptionName = defaultAzureSubscription.SubscriptionName; } } else { defaultAzureSubscription = vmPowershellCmdlets.SetDefaultAzureSubscription(CredentialHelper.DefaultSubscriptionName); } locationName = vmPowershellCmdlets.GetAzureLocationName(new[] { CredentialHelper.Location }); // Get-AzureLocation if (String.IsNullOrEmpty(locationName)) { Console.WriteLine("No location is selected!"); } Console.WriteLine("Location Name: {0}", locationName); if (defaultAzureSubscription.CurrentStorageAccountName == null && !string.IsNullOrEmpty(CredentialHelper.DefaultStorageName)) { SetDefaultStorage(); } try { imageName = vmPowershellCmdlets.GetAzureVMImageName(new[] { "Windows" }, false); // Get-AzureVMImage } catch { Console.WriteLine("Error occurred during Get-AzureVMImageName... imageName is not set."); } if (String.IsNullOrEmpty(imageName)) { Console.WriteLine("No image is selected!"); } else { Console.WriteLine("Image Name: {0}", imageName); } }
public void Initialize() { vhdName = Utilities.GetUniqueShortName(vhdNamePrefix); image = Utilities.GetUniqueShortName(imageNamePrefix); vhdBlobLocation = string.Format("{0}{1}/{2}", blobUrlRoot, vhdContainerName, vhdName); try { if (string.IsNullOrEmpty(localFile)) { CredentialHelper.CopyTestData(testDataContainer, osVhdName, vhdContainerName, vhdName); } else { vmPowershellCmdlets.AddAzureVhd(new FileInfo(localFile), vhdBlobLocation); } } catch (Exception e) { if (e.ToString().Contains("already exists") || e.ToString().Contains("currently a lease")) { // Use the already uploaded vhd. Console.WriteLine("Using already uploaded blob.."); } else { Console.WriteLine(e.ToString()); Assert.Inconclusive("Upload vhd is not set!"); } } try { vmPowershellCmdlets.AddAzureVMImage(image, vhdBlobLocation, OS.Windows); } catch (Exception e) { Console.WriteLine(e.ToString()); throw; } pass = false; testStartTime = DateTime.Now; }
public static void GetTestSettings(string testSettings) { switch (testSettings) { case "UseDefaults": default: CredentialHelper.GetCredentialInfo(Environment.CurrentDirectory); break; case "UseCustom": if (!string.IsNullOrWhiteSpace(Resource.PublishSettingsFile)) { publishSettingsFile = Resource.PublishSettingsFile; } else { Assert.IsNotNull(CredentialHelper.PublishSettingsFile); } if (!string.IsNullOrWhiteSpace(Resource.DefaultSubscriptionName)) { defaultSubscriptionName = Resource.DefaultSubscriptionName; } if (!string.IsNullOrWhiteSpace(Resource.Location)) { location = Resource.Location; } if (!string.IsNullOrWhiteSpace(Resource.DefaultStorageAccountName)) { defaultStorageName = Resource.DefaultStorageAccountName; } break; case "UseDefaultsandOverride": CredentialHelper.GetCredentialInfo(Environment.CurrentDirectory); if (!string.IsNullOrWhiteSpace(Resource.PublishSettingsFile)) { CredentialHelper.PublishSettingsFile = Resource.PublishSettingsFile; } if (!string.IsNullOrWhiteSpace(Resource.DefaultSubscriptionName)) { CredentialHelper.DefaultSubscriptionName = Resource.DefaultSubscriptionName; } if (!string.IsNullOrWhiteSpace(Resource.Location)) { CredentialHelper.Location = Resource.Location; } if (!string.IsNullOrWhiteSpace(Resource.DefaultStorageAccountName)) { CredentialHelper.defaultStorageName = Resource.DefaultStorageAccountName; } break; } if (!string.IsNullOrWhiteSpace(Resource.Location)) { location = Resource.Location; } }
public static void SetTestSettings() { // Please remove this line once all tests are done System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return(true); // **** Always accept }; vmPowershellCmdlets = new ServiceManagementCmdletTestHelper(); CredentialHelper.GetTestSettings(Resource.TestSettings); vmPowershellCmdlets.RemoveAzureSubscriptions(); if (vmPowershellCmdlets.GetAzureEnvironment("ussouth").Count > 0) { Console.WriteLine("Removing ussouth environment..."); vmPowershellCmdlets.RunPSScript("Remove-AzureEnvironment -Name ussouth -Force"); } List <AzureEnvironment> environments = vmPowershellCmdlets.GetAzureEnvironment(); var serviceManagementUrl = GetServiceManagementUrl(CredentialHelper.PublishSettingsFile); foreach (var env in environments) { var envServiceManagementUrl = (string)env.Endpoints[AzureEnvironment.Endpoint.ServiceManagement]; if (!string.IsNullOrEmpty(envServiceManagementUrl)) { if (envServiceManagementUrl.Equals(serviceManagementUrl)) { currentEnvName = env.Name; var curEnv = vmPowershellCmdlets.GetAzureEnvironment(currentEnvName)[0]; Console.WriteLine("Using the existing environment: {0}", currentEnvName); Console.WriteLine("PublichSettingsFileUrl: {0}", curEnv.GetEndpoint(AzureEnvironment.Endpoint.PublishSettingsFileUrl)); Console.WriteLine("ServiceManagement: {0}", curEnv.GetEndpoint(AzureEnvironment.Endpoint.ServiceManagement)); Console.WriteLine("ManagementPortalUrl: {0}", curEnv.GetEndpoint(AzureEnvironment.Endpoint.ManagementPortalUrl)); Console.WriteLine("ActiveDirectory: {0}", curEnv.GetEndpoint(AzureEnvironment.Endpoint.ActiveDirectory)); Console.WriteLine("ActiveDirectoryServiceEndpointResourceId: {0}", curEnv.GetEndpoint(AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId)); Console.WriteLine("ResourceManager: {0}", curEnv.GetEndpoint(AzureEnvironment.Endpoint.ResourceManager)); Console.WriteLine("Gallery: {0}", curEnv.GetEndpoint(AzureEnvironment.Endpoint.Gallery)); Console.WriteLine("Graph: {0}", curEnv.GetEndpoint(AzureEnvironment.Endpoint.Graph)); break; } } } if (string.IsNullOrEmpty(currentEnvName)) { Console.WriteLine("Creating new environment... : {0}", TempEnvName); var prodEnv = vmPowershellCmdlets.GetAzureEnvironment("AzureCloud")[0]; vmPowershellCmdlets.RunPSScript(string.Format( @"Add-AzureEnvironment -Name {0} ` -PublishSettingsFileUrl {1} ` -ServiceEndpoint {2} ` -ManagementPortalUrl {3} ` -ActiveDirectoryEndpoint {4} ` -ActiveDirectoryServiceEndpointResourceId {5} ` -ResourceManagerEndpoint {6} ` -GalleryEndpoint {7} ` -GraphEndpoint {8}", TempEnvName, prodEnv.GetEndpoint(AzureEnvironment.Endpoint.PublishSettingsFileUrl), serviceManagementUrl, prodEnv.GetEndpoint(AzureEnvironment.Endpoint.ManagementPortalUrl), prodEnv.GetEndpoint(AzureEnvironment.Endpoint.ActiveDirectory), prodEnv.GetEndpoint(AzureEnvironment.Endpoint.ActiveDirectoryServiceEndpointResourceId), prodEnv.GetEndpoint(AzureEnvironment.Endpoint.ResourceManager), prodEnv.GetEndpoint(AzureEnvironment.Endpoint.Gallery), prodEnv.GetEndpoint(AzureEnvironment.Endpoint.Graph))); vmPowershellCmdlets.ImportAzurePublishSettingsFile(CredentialHelper.PublishSettingsFile, TempEnvName); } else { Console.WriteLine("Using existing environment... : {0}", currentEnvName); vmPowershellCmdlets.ImportAzurePublishSettingsFile(CredentialHelper.PublishSettingsFile, currentEnvName); } var firstSub = vmPowershellCmdlets.GetAzureSubscription().First(); vmPowershellCmdlets.SelectAzureSubscription(firstSub.SubscriptionName); if (string.IsNullOrEmpty(CredentialHelper.DefaultSubscriptionName)) { defaultAzureSubscription = vmPowershellCmdlets.GetCurrentAzureSubscription(); if (string.IsNullOrEmpty(Resource.DefaultSubscriptionName)) { CredentialHelper.DefaultSubscriptionName = defaultAzureSubscription.SubscriptionName; } } else { defaultAzureSubscription = vmPowershellCmdlets.SetDefaultAzureSubscription(CredentialHelper.DefaultSubscriptionName); } locationName = vmPowershellCmdlets.GetAzureLocationName(new[] { CredentialHelper.Location }); // Get-AzureLocation if (String.IsNullOrEmpty(locationName)) { Console.WriteLine("No location is selected!"); } Console.WriteLine("Location Name: {0}", locationName); if (defaultAzureSubscription.CurrentStorageAccountName == null && !string.IsNullOrEmpty(CredentialHelper.DefaultStorageName)) { SetDefaultStorage(); } try { imageName = vmPowershellCmdlets.GetAzureVMImageName(new[] { "Windows" }, false); // Get-AzureVMImage } catch { Console.WriteLine("Error occurred during Get-AzureVMImageName... imageName is not set."); } if (String.IsNullOrEmpty(imageName)) { Console.WriteLine("No image is selected!"); } else { Console.WriteLine("Image Name: {0}", imageName); } }
public void AzureVMImageTest() { StartTest(MethodBase.GetCurrentMethod().Name, testStartTime); vhdName = "os1.vhd"; string newImageName = Utilities.GetUniqueShortName("vmimage"); string mediaLocation = string.Format("{0}{1}/{2}", blobUrlRoot, vhdContainerName, vhdName); string oldLabel = "old label"; string newLabel = "new label"; string vmSize = "Small"; var iconUri = "http://www.bing.com"; var smallIconUri = "http://www.bing.com"; bool showInGui = true; try { // BVT Tests for OS Images OSImageContext result = vmPowershellCmdlets.AddAzureVMImage(newImageName, mediaLocation, OS.Windows, oldLabel, vmSize, iconUri, smallIconUri, showInGui); OSImageContext resultReturned = vmPowershellCmdlets.GetAzureVMImage(newImageName)[0]; Assert.IsTrue(!string.IsNullOrEmpty(resultReturned.IOType)); Assert.IsTrue(CompareContext <OSImageContext>(result, resultReturned)); result = vmPowershellCmdlets.UpdateAzureVMImage(newImageName, newLabel); resultReturned = vmPowershellCmdlets.GetAzureVMImage(newImageName)[0]; Assert.IsTrue(!string.IsNullOrEmpty(resultReturned.IOType)); Assert.IsTrue(CompareContext <OSImageContext>(result, resultReturned)); result = vmPowershellCmdlets.UpdateAzureVMImage(newImageName, newLabel, true); resultReturned = vmPowershellCmdlets.GetAzureVMImage(newImageName)[0]; Assert.IsTrue(resultReturned.ShowInGui.HasValue && !resultReturned.ShowInGui.Value); Assert.IsTrue(CompareContext <OSImageContext>(result, resultReturned)); vmPowershellCmdlets.RemoveAzureVMImage(newImageName, false); Assert.IsTrue(Utilities.CheckRemove(vmPowershellCmdlets.GetAzureVMImage, newImageName)); // BVT Tests for VM Images // Unique Container Prefix var containerPrefix = Utilities.GetUniqueShortName("vmimg"); // Disk Blobs var srcVhdName = "os1.vhd"; var srcVhdContainer = vhdContainerName; var dstOSVhdContainer = containerPrefix.ToLower() + "os" + vhdContainerName; CredentialHelper.CopyTestData(srcVhdContainer, srcVhdName, dstOSVhdContainer); string osVhdLink = string.Format("{0}{1}/{2}", blobUrlRoot, dstOSVhdContainer, srcVhdName); var dstDataVhdContainer = containerPrefix.ToLower() + "data" + vhdContainerName; CredentialHelper.CopyTestData(srcVhdContainer, srcVhdName, dstDataVhdContainer); string dataVhdLink = string.Format("{0}{1}/{2}", blobUrlRoot, dstDataVhdContainer, srcVhdName); // VM Image OS/Data Disk Configuration var addVMImageName = containerPrefix + "Image"; var diskConfig = new VirtualMachineImageDiskConfigSet { OSDiskConfiguration = new OSDiskConfiguration { HostCaching = HostCaching.ReadWrite.ToString(), OS = OSType.Windows.ToString(), OSState = "Generalized", MediaLink = new Uri(osVhdLink) }, DataDiskConfigurations = new DataDiskConfigurationList { new DataDiskConfiguration { HostCaching = HostCaching.ReadOnly.ToString(), Lun = 0, MediaLink = new Uri(dataVhdLink) } } }; // Add-AzureVMImage string label = addVMImageName; string description = "test"; string eula = "http://www.bing.com/"; string imageFamily = "Windows"; DateTime?publishedDate = new DateTime(2015, 1, 1); string privacyUri = "http://www.bing.com/"; string recommendedVMSize = vmSize; string iconName = "iconName"; string smallIconName = "smallIconName"; vmPowershellCmdlets.AddAzureVMImage( addVMImageName, label, diskConfig, description, eula, imageFamily, publishedDate, privacyUri, recommendedVMSize, iconName, smallIconName, showInGui); // Get-AzureVMImage var vmImage = vmPowershellCmdlets.GetAzureVMImageReturningVMImages(addVMImageName).First(); Assert.IsTrue(vmImage.ImageName == addVMImageName); Assert.IsTrue(vmImage.Label == label); Assert.IsTrue(vmImage.Description == description); Assert.IsTrue(vmImage.Eula == eula); Assert.IsTrue(vmImage.ImageFamily == imageFamily); Assert.IsTrue(vmImage.PublishedDate.Value.Year == publishedDate.Value.Year); Assert.IsTrue(vmImage.PublishedDate.Value.Month == publishedDate.Value.Month); Assert.IsTrue(vmImage.PublishedDate.Value.Day == publishedDate.Value.Day); Assert.IsTrue(vmImage.PrivacyUri.AbsoluteUri.ToString() == privacyUri); Assert.IsTrue(vmImage.RecommendedVMSize == recommendedVMSize); Assert.IsTrue(vmImage.IconName == iconName); Assert.IsTrue(vmImage.IconUri == iconName); Assert.IsTrue(vmImage.SmallIconName == smallIconName); Assert.IsTrue(vmImage.SmallIconUri == smallIconName); Assert.IsTrue(vmImage.ShowInGui == showInGui); Assert.IsTrue(vmImage.OSDiskConfiguration.HostCaching == diskConfig.OSDiskConfiguration.HostCaching); Assert.IsTrue(vmImage.OSDiskConfiguration.OS == diskConfig.OSDiskConfiguration.OS); Assert.IsTrue(vmImage.OSDiskConfiguration.OSState == diskConfig.OSDiskConfiguration.OSState); Assert.IsTrue(vmImage.OSDiskConfiguration.MediaLink == diskConfig.OSDiskConfiguration.MediaLink); Assert.IsTrue(vmImage.DataDiskConfigurations.First().HostCaching == diskConfig.DataDiskConfigurations.First().HostCaching); Assert.IsTrue(vmImage.DataDiskConfigurations.First().Lun == diskConfig.DataDiskConfigurations.First().Lun); Assert.IsTrue(vmImage.DataDiskConfigurations.First().MediaLink == diskConfig.DataDiskConfigurations.First().MediaLink); // Remove-AzureVMImage vmPowershellCmdlets.RemoveAzureVMImage(addVMImageName); pass = true; } catch (Exception e) { pass = false; Assert.Fail("Exception occurred: {0}", e.ToString()); } finally { if (!Utilities.CheckRemove(vmPowershellCmdlets.GetAzureVMImage, newImageName)) { vmPowershellCmdlets.RemoveAzureVMImage(newImageName, false); } } }