Пример #1
0
        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");
                });
            }
        }
Пример #3
0
        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));
                }
            }
        }