public override void ExecuteCmdlet() { UnpublishApplicationsResult result = null; AliasesListParameter appAlias = new AliasesListParameter() { AliasesList = new List <string>(Alias) }; if (appAlias.AliasesList.Count == 0) { if (ShouldProcess(Commands_RemoteApp.UnpublishProgramConfirmationDescription, Commands_RemoteApp.GenericAreYouSureQuestion, Commands_RemoteApp.UnpublishProgramCaptionMessage)) { result = CallClient(() => Client.Publishing.UnpublishAll(CollectionName), Client.Publishing); } } else { appAlias.AliasesList = new List <string>(Alias); result = CallClient(() => Client.Publishing.Unpublish(CollectionName, appAlias), Client.Publishing); } if (result != null && result.ResultList != null) { WriteObject(result.ResultList, true); } }
public void CanPublishModifyUnpublishApps() { using (var undoContext = UndoContext.Current) { undoContext.Start(); RemoteAppManagementClient client = GetRemoteAppManagementClient(); CollectionListResult serviceList = null; Assert.DoesNotThrow(() => { serviceList = client.Collections.List(); }); Assert.NotNull(serviceList); Assert.NotEmpty(serviceList.Collections); Collection activeCollection = null; ApplicationDetailsListParameter appDetailsList = new ApplicationDetailsListParameter(); PublishedApplicationDetails publishApp = new PublishedApplicationDetails(); string publishingAppName = TestUtilities.GenerateName("TestApp"); string publishingAppAlias = null; GetPublishedApplicationResult publishedAppResult = null; // Find collection in "Active" state so that publishing operations can be performed foreach (Collection ser in serviceList.Collections) { if (ser.Status == "Active") { activeCollection = ser; break; } } Assert.NotNull(activeCollection); // Publish an App { appDetailsList.DetailsList = new List <PublishedApplicationDetails>(); publishApp.AvailableToUsers = true; publishApp.Name = publishingAppName; publishApp.VirtualPath = "%systemroot%\\system32\\notepad.exe"; publishApp.IconPngUris = new IconPngUrisType(); // backend throws exception if this is null appDetailsList.DetailsList.Add(publishApp); PublishApplicationsResult publishResult = client.Publishing.PublishApplications(activeCollection.Name, appDetailsList); // Verify for publish operation Assert.NotNull(publishResult); Assert.NotEmpty(publishResult.ResultList); foreach (PublishingOperationResult oneResult in publishResult.ResultList) { Assert.True(oneResult.Success); publishingAppAlias = oneResult.ApplicationAlias; break; } } // Wait for app status to change to Published publishedAppResult = WaitForAppStatus(client, activeCollection.Name, publishingAppAlias, AppPublishingStatus.Published); // Modify Published application { PublishedApplicationDetails newAppDetails = publishedAppResult.Result; ApplicationDetailsParameter newAppDetailsParam = new ApplicationDetailsParameter(); newAppDetails.Name = TestUtilities.GenerateName("ModTestApp"); newAppDetailsParam.Details = newAppDetails; ModifyApplicationResult modifiedAppResult = client.Publishing.ModifyApplication(activeCollection.Name, publishingAppAlias, newAppDetailsParam); // Verify Modify app result Assert.NotNull(modifiedAppResult); Assert.NotNull(modifiedAppResult.Result); Assert.True(modifiedAppResult.StatusCode == HttpStatusCode.OK); } // Wait for app status to change to Published publishedAppResult = WaitForAppStatus(client, activeCollection.Name, publishingAppAlias, AppPublishingStatus.Published); // Unpublish the application { UnpublishApplicationsResult unpublishAppResult = client.Publishing.Unpublish(activeCollection.Name, new AliasesListParameter { AliasesList = { publishingAppAlias } }); // Verify unpublish app result Assert.NotNull(unpublishAppResult); Assert.NotEmpty(unpublishAppResult.ResultList); foreach (PublishingOperationResult oneResult in unpublishAppResult.ResultList) { Assert.True(oneResult.Success); } } } }
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); } }