示例#1
0
        private bool GetAllPublishedApps()
        {
            GetPublishedApplicationListResult         response = null;
            IEnumerable <PublishedApplicationDetails> spList   = null;

            response = CallClient(() => Client.Publishing.List(CollectionName), Client.Publishing);

            if (response != null)
            {
                if (UseWildcard)
                {
                    spList = response.ResultList.Where(app => Wildcard.IsMatch(app.Name));
                }
                else
                {
                    spList = response.ResultList;
                }

                if (spList != null && spList.Count() > 0)
                {
                    WriteObject(spList, true);
                    found = true;
                }
            }

            return(found);
        }
        public static int SetUpDefaultRemoteAppApplications(Mock <IRemoteAppManagementClient> clientMock, string collectionName)
        {
            ISetup <IRemoteAppManagementClient, Task <GetPublishedApplicationListResult> > setup = null;

            GetPublishedApplicationListResult response = new GetPublishedApplicationListResult()
            {
                RequestId  = "122-13342",
                StatusCode = System.Net.HttpStatusCode.OK
            };

            response.ResultList = new List <PublishedApplicationDetails>()
            {
                new PublishedApplicationDetails()
                {
                    Name                 = "Mohoro RemoteApp1",
                    Alias                = "App1",
                    AvailableToUsers     = true,
                    CommandLineArguments = "Arg1, Arg2, Arg3",
                    Status               = AppPublishingStatus.Published
                },

                new PublishedApplicationDetails()
                {
                    Name             = "Mohoro RemoteApp2",
                    Alias            = "App2",
                    AvailableToUsers = false,
                    Status           = AppPublishingStatus.Publishing
                }
            };

            mockApplicationList = new List <PublishedApplicationDetails>();
            foreach (PublishedApplicationDetails app in response.ResultList)
            {
                PublishedApplicationDetails mockApp = new PublishedApplicationDetails()
                {
                    Name                 = app.Name,
                    Alias                = app.Alias,
                    AvailableToUsers     = app.AvailableToUsers,
                    CommandLineArguments = app.CommandLineArguments,
                    Status               = app.Status
                };
                mockApplicationList.Add(mockApp);
            }

            setup = clientMock.Setup(c => c.Publishing.ListAsync(collectionName, It.IsAny <CancellationToken>()));
            setup.Returns(Task.Factory.StartNew(() => response));

            return(mockApplicationList.Count);
        }
示例#3
0
        public void CanUnpublishAllApps()
        {
            using (var undoContext = UndoContext.Current)
            {
                undoContext.Start();

                RemoteAppManagementClient client = GetRemoteAppManagementClient();
                Collection activeCollection      = null;

                CollectionListResult serviceList = null;
                Assert.DoesNotThrow(() =>
                {
                    serviceList = client.Collections.List();
                });

                Assert.NotNull(serviceList);
                Assert.NotEmpty(serviceList.Collections);

                foreach (Collection collection in serviceList.Collections)
                {
                    // Find the collection in Active state so that Publish/UnPublish operations can be performed
                    if (collection.Status == "Active")
                    {
                        activeCollection = collection;
                        continue;
                    }
                }

                Assert.NotNull(activeCollection);

                // Save the apps list
                GetPublishedApplicationListResult appsListResult = client.Publishing.List(activeCollection.Name);

                Assert.NotNull(appsListResult);
                Assert.True(appsListResult.StatusCode == HttpStatusCode.OK);

                // Unpublish all apps
                UnpublishApplicationsResult unpublishResult = client.Publishing.UnpublishAll(activeCollection.Name);

                Assert.NotNull(unpublishResult);

                // Wait for all apps to be unpublished
                {
                    GetPublishedApplicationListResult newAppsListResult = null;
                    int retryCount = 0;

                    do
                    {
                        // Need not wait in Mock environment
                        if (HttpMockServer.Mode != HttpRecorderMode.Playback)
                        {
                            TestUtilities.Wait(AppPublihingStatusCheckIntervalSeconds * 1000);
                        }

                        newAppsListResult = client.Publishing.List(activeCollection.Name);
                        Assert.NotNull(newAppsListResult);
                        Assert.NotNull(newAppsListResult.ResultList);
                        Assert.True(newAppsListResult.StatusCode == HttpStatusCode.OK);
                        retryCount++;
                    } while (retryCount < AppPublihingStatusCheckMaxRetries &&
                             newAppsListResult.ResultList.Count != 0);

                    Assert.True(retryCount < AppPublihingStatusCheckMaxRetries);
                }

                // Re-Publish the original application list
                PublishApplicationsResult publishResult = client.Publishing.PublishApplications(
                    activeCollection.Name,
                    new ApplicationDetailsListParameter {
                    DetailsList = appsListResult.ResultList
                });

                Assert.NotNull(publishResult);
                Assert.NotNull(publishResult.ResultList);
                Assert.True(publishResult.StatusCode == HttpStatusCode.OK);
            }
        }