//********************************************************************* /// /// <summary> /// This method is used to change type from VMInfo to VM Dashboard Info. /// </summary> /// <param name="vm"></param> /// <returns>VmDashboardInfo object</returns> /// //********************************************************************* VmDashboardInfo Translatevm(CmpApiClient.VmInfo vm) { return(new VmDashboardInfo() { DataVirtualHardDisks = (vm.DataVirtualHardDisks == null) ? null : vm.DataVirtualHardDisks.Select(x => new DataVirtualHardDisk { DiskLabel = x.DiskLabel, DiskName = x.DiskName, HostCaching = x.HostCaching, LogicalDiskSizeInGB = x.LogicalDiskSizeInGB, Lun = x.Lun, MediaLink = x.MediaLink, SourceMediaLink = x.SourceMediaLink }).ToList(), OSVirtualHardDisk = new OsVirtualHardDisk { DiskLabel = vm.OSVirtualHardDisk.DiskLabel, DiskName = vm.OSVirtualHardDisk.DiskName, HostCaching = vm.OSVirtualHardDisk.HostCaching, MediaLink = vm.OSVirtualHardDisk.MediaLink, OS = vm.OSVirtualHardDisk.OS, RemoteSourceImageLink = vm.OSVirtualHardDisk.RemoteSourceImageLink, SourceImageName = vm.OSVirtualHardDisk.SourceImageName }, RDPCertificateThumbprint = vm.RDPCertificateThumbprint, InternalIP = vm.InternalIP, DeploymentID = vm.DeploymentID, DNSName = vm.DNSName, RoleName = vm.RoleName, RoleSize = vm.RoleSize, Status = vm.Status, Subscription = new SubscriptionInfo { CurrentCoreCount = vm.Subscription.CurrentCoreCount, MaximumCoreCount = vm.Subscription.MaximumCoreCount, SubscriptionID = vm.Subscription.SubscriptionID, SubscriptionName = vm.Subscription.SubscriptionName }, QueueStatus = vm.QueueStatus, // get queue status of the VM MediaLocation = vm.MediaLocation, OSVersion = vm.OSVersion }); }
public void Setup() { _cmpApiServiceMock = new Mock <ICmpApiClient>(); _cmpWapDbMock = new Mock <ICmpWapDb>(); var vmDepRequest = new List <VmDeploymentRequest>() { new VmDeploymentRequest() { ID = 345, RequestName = "CMPWAP: MockVM1", RequestDescription = "Mocking VM for test", ParentAppName = "A&O Stuff", RequestType = "NewVM", Active = true, AftsID = 123, ParentAppID = "ICTO-1234", TargetServiceProviderType = "Azure", TargetLocation = "CentralUS", TargetLocationType = "Region", TargetAccount = "ecd32150-1e35-4a03-af0f-163da2eff99a", TargetAccountType = "AzureSubscription", TargetAccountCreds = null, VmSize = null, TagData = "XML Mock", Config = "Xml Mock", TargetVmName = "MockVM1", WhoRequested = "redmond\abcd", WhenRequested = DateTime.Now, ExceptionMessage = "exception xyz", LastStatusUpdate = DateTime.Today, StatusMessage = "Exception in xyz" }, new VmDeploymentRequest() { ID = 346, RequestName = "CMPWAP: MockVM2", RequestDescription = "Mocking VM for test", ParentAppName = "A&O Stuff", RequestType = "NewVM", Active = true, AftsID = 123, ParentAppID = "ICTO-1234", TargetServiceProviderType = "Azure", TargetLocation = "CentralUS", TargetLocationType = "Region", TargetAccount = "ecd32150-1e35-4a03-af0f-163da2eff99a", TargetAccountType = "AzureSubscription", TargetAccountCreds = null, VmSize = null, TagData = "XML Mock", Config = "Xml Mock", TargetVmName = "MockVM2", WhoRequested = "redmond\abcd", WhenRequested = DateTime.Now, ExceptionMessage = null, LastStatusUpdate = DateTime.Today, StatusMessage = "null" } }; var vmInfo = new CmpApiClient.VmInfo() { DeploymentID = "123", DNSName = "mockvmdns", InternalIP = "1.2.3.4", RDPCertificateThumbprint = "adwsaeqe45354etfg5645etfdg", RoleName = "mockvm", RoleSize = "A7", Status = "ReadyRole", QueueStatus = "Complete" }; var svcProviderAcc = new List <ServiceProviderAccount>() { new ServiceProviderAccount() { ID = 123, Name = "Serv Prov 1", Description = "Description for Serv Prov Account", OwnerNamesCSV = "Owner Names", Config = "<Config></Config>", TagData = "Tag Data", TagID = 1, ResourceGroup = "RGroup1" }, new ServiceProviderAccount() { ID = 456, Name = "Serv Prov 1", Description = "Description for Serv Prov Account", OwnerNamesCSV = "Owner Names", Config = "<Config></Config>", TagData = "Tag Data", TagID = 2, ResourceGroup = "RGroup2" } }; var detachedDisks = new List <VhdInfo>() { new VhdInfo() { DiskName = "VM1_C", }, new VhdInfo() { DiskName = "VM1_D" }, new VhdInfo() { DiskName = "VM1_E" } }; var apps = new List <Models.Application> { new Models.Application { ApplicationId = 1, IsActive = true, HasService = true, CIOwner = "*****@*****.**", Code = "App1", CreatedBy = "*****@*****.**", LastUpdatedBy = "*****@*****.**", CreatedOn = DateTime.UtcNow, LastUpdatedOn = DateTime.UtcNow, Name = "App1", SubscriptionId = "abcd-1234", Region = "USWest" }, new Models.Application { ApplicationId = 2, IsActive = true, HasService = true, CIOwner = "*****@*****.**", Code = "Ap2", CreatedBy = "*****@*****.**", LastUpdatedBy = "*****@*****.**", CreatedOn = DateTime.UtcNow, LastUpdatedOn = DateTime.UtcNow, Name = "App2", SubscriptionId = "abcd-1234", Region = "USWest" } }; var vmSizeInfoListToFetch = new List <Models.VmSize> { new Models.VmSize { VmSizeId = 123, Name = "MockVmSize 1", Description = "Mock VM Size for testing purposes", Cores = 1, Memory = 2048, MaxDataDiskCount = 2, IsActive = true, CreatedOn = DateTime.UtcNow, CreatedBy = "*****@*****.**", LastUpdatedOn = DateTime.UtcNow, LastUpdatedBy = "*****@*****.**" }, new Models.VmSize { VmSizeId = 456, Name = "MockVmSize 2", Description = "Mock VM Size for testing purposes", Cores = 1, Memory = 2048, MaxDataDiskCount = 2, IsActive = true, CreatedOn = DateTime.UtcNow, CreatedBy = "*****@*****.**", LastUpdatedOn = DateTime.UtcNow, LastUpdatedBy = "*****@*****.**" }, }; var azureRegionListToFetch = new List <Models.AzureRegion> { new Models.AzureRegion { AzureRegionId = 123, Name = "Central US", Description = "Central US", OsImageContainer = "https://contoso.com", IsActive = true, CreatedOn = DateTime.UtcNow, CreatedBy = "*****@*****.**", LastUpdatedOn = DateTime.UtcNow, LastUpdatedBy = "*****@*****.**" }, new Models.AzureRegion { AzureRegionId = 456, Name = "West US", Description = "West US", OsImageContainer = "https://contosoAlternative.com", IsActive = true, CreatedOn = DateTime.UtcNow, CreatedBy = "*****@*****.**", LastUpdatedOn = DateTime.UtcNow, LastUpdatedBy = "*****@*****.**" } }; var vmOsInfoListToFetch = new List <Models.VmOs> { new Models.VmOs { VmOsId = 1234, Name = "Windows Server 2008 R2 (SP1)", Description = "Windows Server 2008 R2 (SP1)", AzureImageName = "SDO_2014_09_2008R2SP1_FS.vhd", IsActive = true, CreatedOn = DateTime.UtcNow, CreatedBy = "REDMOND\ramankum", LastUpdatedOn = DateTime.UtcNow, LastUpdatedBy = "REDMOND\ramankum", AzureImageOffer = "WindowsServer", AzureImagePublisher = "MicrosoftWindowsServe", AzureWindowsOSVersion = "2012-R2-Datacenter" }, new Models.VmOs { VmOsId = 5678, Name = "Windows Server 2012 (SP0)", Description = "Windows Server 2012 (SP0)", AzureImageName = "SDO_2014_09_2012SP0_FS.vhd", IsActive = true, CreatedOn = DateTime.UtcNow, CreatedBy = "REDMOND\ramankum", LastUpdatedOn = DateTime.UtcNow, LastUpdatedBy = "REDMOND\ramankum", AzureImageOffer = "WindowsServer", AzureImagePublisher = "MicrosoftWindowsServe", AzureWindowsOSVersion = "2012-R2-Datacenter" } }; //Mocks for CmpApiClient _cmpApiServiceMock.Setup(r => r.FetchCmpRequests()) .Returns(vmDepRequest); _cmpApiServiceMock.Setup(r => r.FetchCmpRequest(It.IsAny <int>())) .Returns((int n) => vmDepRequest.FirstOrDefault(req => req.ID == n)); _cmpApiServiceMock.Setup(r => r.FetchServProvAcctList(It.IsAny <string>())) .Returns((string n) => Translate(svcProviderAcc.Where(svc => svc.ResourceGroup == n))); _cmpApiServiceMock.Setup(r => r.GetDetachedDisks(It.IsAny <int>())) .Returns((int n) => n == 123 ? detachedDisks : null); _cmpApiServiceMock.Setup(r => r.GetVm(It.IsAny <int>(), CmpInterfaceModel.Constants.FetchType.AzureFull)) .Returns((int n) => n == 123 ? vmInfo : null); // Mocks for WAP DB _cmpWapDbMock.Setup(r => r.CheckAppDataRecord(It.IsAny <CreateVm>())) .Returns((CreateVm vm) => apps.Any(a => a.Name == vm.VmAppName || a.Code == vm.VmAppId)); _cmpWapDbMock.Setup(r => r.InsertAppDataRecord(It.IsAny <CreateVm>())); _cmpWapDbMock.Setup(r => r.FetchVmSizeInfoList(true)) .Returns(vmSizeInfoListToFetch); _cmpWapDbMock.Setup(r => r.DeleteVmSize(It.IsAny <int>())); //_cmpWapDbMock.Setup(r => r.FetchAzureRegionList()) // .Returns(azureRegionListToFetch); _cmpWapDbMock.Setup(r => r.FetchOsInfoList(true)) .Returns(vmOsInfoListToFetch); }