public void ProvisionLinuxVM()
{
ServiceManagementCmdletTestHelper vmPowershellCmdlets = new ServiceManagementCmdletTestHelper();
//vmPowershellCmdlets.ImportAzurePublishSettingsFile(Resource.PublishSettingsFile);
vmPowershellCmdlets.ImportAzurePublishSettingsFile();
string locationName = vmPowershellCmdlets.GetAzureLocationName(new[] { Resource.Location }, false);
string newAzureQuickVMSvcName = Utilities.GetUniqueShortName("PSTestService");
//Assert.IsFalse(vmPowershellCmdlets.TestAzureServiceName(newAzureQuickVMSvcName));
string newAzureQuickVMName = Utilities.GetUniqueShortName("PSLinuxVM");
string imageName = vmPowershellCmdlets.GetAzureVMImageName(new[] { "Linux", "testvmimage" }, false);
vmPowershellCmdlets.NewAzureQuickLinuxVM(OS.Linux, newAzureQuickVMName, newAzureQuickVMSvcName, imageName, "user", "p@ssw0rd", locationName);
// Verify
PersistentVMRoleContext vmRoleCtxt = vmPowershellCmdlets.GetAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
Assert.AreEqual(newAzureQuickVMName, vmRoleCtxt.Name, true);
// Disabling Stop / start / restart tests for now due to timing isues
/*
// Stop & start the VM
vmPowershellCmdlets.StopAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
vmRoleCtxt = vmPowershellCmdlets.GetAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
Assert.AreEqual(vmRoleCtxt.PowerState, VMPowerState.Stopped);
vmPowershellCmdlets.StartAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
vmRoleCtxt = vmPowershellCmdlets.GetAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
Assert.AreEqual(vmRoleCtxt.PowerState, VMPowerState.Started.ToString());
// Restart the VM
vmPowershellCmdlets.StopAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
vmRoleCtxt = vmPowershellCmdlets.GetAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
Assert.AreEqual(vmRoleCtxt.PowerState, VMPowerState.Stopped);
vmPowershellCmdlets.RestartAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
vmRoleCtxt = vmPowershellCmdlets.GetAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
Assert.AreEqual(vmRoleCtxt.PowerState, VMPowerState.Started.ToString());
* */
// Cleanup
vmPowershellCmdlets.RemoveAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName);
// RemoveAzureService is failing. Need to investigate furnter */
//vmPowershellCmdlets.RemoveAzureService(newAzureQuickVMSvcName);
Assert.AreEqual(null, vmPowershellCmdlets.GetAzureVM(newAzureQuickVMName, newAzureQuickVMSvcName));
//TODO: Need to do proper cleanup of the service
// vmPowershellCmdlets.RemoveAzureService(newAzureQuickVMSvcName);
// Assert.AreEqual(null, vmPowershellCmdlets.GetAzureService(newAzureQuickVMSvcName));
}