public override void ExecuteCmdlet() { CollectionVmsListResult vmList = null; ActiveDirectoryConfigResult adConfig = null; adConfig = CallClient(() => Client.Collections.GetAd(CollectionName), Client.Collections); vmList = CallClient(() => Client.Collections.ListVms(CollectionName), Client.Collections); if ((vmList != null) && (vmList.Vms != null) && (adConfig != null) && (adConfig.ActiveDirectoryConfig != null)) { IList <DirectoryEntry> staleEntries = GetVmAdStaleEntries(vmList.Vms, adConfig.ActiveDirectoryConfig, Credential); foreach (DirectoryEntry staleEntry in staleEntries) { string staleEntryCN = ActiveDirectoryHelper.GetCN(staleEntry); string shouldProcessMessage = String.Format(Commands_RemoteApp.GenericDeleteConfirmation, staleEntryCN); string verboseDescription = String.Format(Commands_RemoteApp.GenericDeleteVerboseDescription, staleEntryCN); if (ShouldProcess(verboseDescription, shouldProcessMessage, null)) { WriteVerbose(String.Format(Commands_RemoteApp.GenericVerboseDelete, staleEntryCN)); ActiveDirectoryHelper.DeleteEntry(staleEntry); WriteObject(staleEntryCN); } else { WriteVerbose(String.Format(Commands_RemoteApp.GenericVerboseSkip, staleEntryCN)); } } } }
public void CanGetAD() { using (UndoContext context = UndoContext.Current) { context.Start(); RemoteAppManagementClient remoteAppManagementClient = GetRemoteAppManagementClient(); ActiveDirectoryConfigResult result = null; //CollectionListResult collectionList = remoteAppManagementClient.Collections.List(); //Assert.NotNull(collectionList); //Assert.Equal(HttpStatusCode.OK, collectionList.StatusCode); //Assert.NotNull(collectionList.Collections); //Assert.NotEmpty(collectionList.Collections); result = remoteAppManagementClient.Collections.GetAd("testd112"); Assert.NotNull(result); Assert.Equal(HttpStatusCode.OK, result.StatusCode); AssertNotNullOrEmpty(result.RequestId); Assert.NotNull(result.ActiveDirectoryConfig); AssertNotNullOrEmpty(result.ActiveDirectoryConfig.DomainName); AssertNotNullOrEmpty(result.ActiveDirectoryConfig.UserName); //verify that the simple or cloud only collection does not have an AD info and throws a WebFault Assert.Throws(typeof(CloudException), () => { result = remoteAppManagementClient.Collections.GetAd("simple"); }); } }
public static int SetUpStaleVmObjectsTest(Mock <IRemoteAppManagementClient> clientMock, string collectionName, string[] vmNames) { CollectionVmsListResult response = new CollectionVmsListResult(); ActiveDirectoryConfigResult getAdResponse = new ActiveDirectoryConfigResult() { ActiveDirectoryConfig = new ActiveDirectoryConfig() { DomainName = "contoso.com", OrganizationalUnit = null, UserName = "******", Password = "******" } }; response.Vms = new List <RemoteAppVm>(); foreach (string vmName in vmNames) { response.Vms.Add(new RemoteAppVm() { VirtualMachineName = vmName, LoggedOnUserUpns = { } }); } ; mockVmList = new List <RemoteAppVm>(); foreach (RemoteAppVm vm in response.Vms) { RemoteAppVm mockVm = new RemoteAppVm() { VirtualMachineName = vm.VirtualMachineName, LoggedOnUserUpns = vm.LoggedOnUserUpns }; mockVmList.Add(mockVm); } ISetup <IRemoteAppManagementClient, Task <CollectionVmsListResult> > setup = clientMock.Setup(c => c.Collections.ListVmsAsync(collectionName, It.IsAny <CancellationToken>())); setup.Returns(Task.Factory.StartNew(() => response)); ISetup <IRemoteAppManagementClient, Task <ActiveDirectoryConfigResult> > setupGetAd = clientMock.Setup(c => c.Collections.GetAdAsync(collectionName, It.IsAny <CancellationToken>())); setupGetAd.Returns(Task.Factory.StartNew(() => getAdResponse)); return(mockVmList.Count); }
public override void ExecuteCmdlet() { CollectionVmsListResult vmList = null; ActiveDirectoryConfigResult adConfig = null; adConfig = CallClient(() => Client.Collections.GetAd(CollectionName), Client.Collections); vmList = CallClient(() => Client.Collections.ListVms(CollectionName), Client.Collections); if (vmList != null && vmList.Vms != null) { IList <DirectoryEntry> staleEntries = GetVmAdStaleEntries(vmList.Vms, adConfig.ActiveDirectoryConfig, Credential); foreach (DirectoryEntry staleEntry in staleEntries) { WriteObject(ActiveDirectoryHelper.GetCN(staleEntry)); } } }