http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BatchesITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BatchesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BatchesITCase.java new file mode 100644 index 0000000..d347743 --- /dev/null +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BatchesITCase.java @@ -0,0 +1,363 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.syncope.fit.console; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import org.apache.syncope.client.console.commons.Constants; +import org.apache.syncope.client.console.commons.status.Status; +import org.apache.syncope.client.console.commons.status.StatusBean; +import org.apache.wicket.Component; +import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.util.tester.FormTester; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class BatchesITCase extends AbstractConsoleITCase { + + private static final String TAB_PANEL = "body:content:body:container:content:tabbedPanel:panel:searchResult:"; + + private static final String CONTAINER = TAB_PANEL + "container:content:"; + + @BeforeEach + public void login() { + doLogin(ADMIN_UNAME, ADMIN_PWD); + } + + @Test + public void users() { + TESTER.clickLink("body:realmsLI:realms"); + TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link"); + + Component component = findComponentByProp("username", CONTAINER + + "searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini"); + assertNotNull(component); + + FormTester formTester = TESTER.newFormTester(CONTAINER + "searchContainer:resultTable:tablePanel:groupForm"); + assertNotNull(formTester); + + formTester.select("checkgroup", 2); + + TESTER.executeAjaxEvent(CONTAINER + "searchContainer:resultTable:tablePanel:batchLink", + Constants.ON_CLICK); + + TESTER.assertComponent(CONTAINER + + "searchContainer:resultTable:batchModal:form:content:content:container", WebMarkupContainer.class); + + assertNotNull(findComponentByProp("username", CONTAINER + + "searchContainer:resultTable:batchModal:form:content:content:container", "rossini")); + } + + @Test + public void userResource() { + TESTER.clickLink("body:realmsLI:realms"); + TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link"); + + Component component = findComponentByProp("username", CONTAINER + + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini"); + assertNotNull(component); + + TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); + // manage resource + TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" + + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:5:" + + "action:action"); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" + + "checkgroup:dataTable", WebMarkupContainer.class); + + component = findComponentByProp("resource", + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" + + "checkgroup:dataTable", "resource-csv"); + assertNotNull(component); + + FormTester formTester = TESTER.newFormTester( + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" + + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); + assertNotNull(formTester); + + formTester.select("checkgroup", 0); + + TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:batchLink", + Constants.ON_CLICK); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "secondLevelContainer:second:container", WebMarkupContainer.class); + + assertNotNull(findComponentByProp("resource", TAB_PANEL + "outerObjectsRepeater:2:outer:" + + "form:content:status:secondLevelContainer:second:container", "resource-csv")); + } + + @Test + public void userStatus() { + userStatusBatch(1, "resource-testdb2"); + } + + @Test + public void userStatusOnSyncopeOnly() { + userStatusBatch(0, Constants.SYNCOPE); + } + + private void userStatusBatch(final int index, final String resource) { + // suspend + TESTER.clickLink("body:realmsLI:realms"); + TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link"); + + Component component = findComponentByProp("username", CONTAINER + + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini"); + assertNotNull(component); + + TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); + // enable + TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" + + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:4:" + + "action:action"); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" + + "checkgroup:dataTable", WebMarkupContainer.class); + + component = findComponentByProp("resource", + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:container:" + + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resource); + + component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check"); + assertEquals(Status.ACTIVE, StatusBean.class.cast(component.getDefaultModelObject()).getStatus()); + assertEquals(resource, StatusBean.class.cast(component.getDefaultModelObject()).getResource()); + + FormTester formTester = TESTER.newFormTester( + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" + + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); + assertNotNull(formTester); + + formTester.select("checkgroup", index); + + TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:batchLink", + Constants.ON_CLICK); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "secondLevelContainer:second:container", WebMarkupContainer.class); + + // suspend link + TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:secondLevelContainer:" + + "second:container:actions:actionRepeater:0:action:action", + Constants.ON_CLICK); + + TESTER.assertInfoMessages("Operation executed successfully"); + TESTER.cleanupFeedbackMessages(); + + TESTER.assertLabel(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "secondLevelContainer:second:container:selectedObjects:body:rows:1:cells:4:cell", "SUCCESS"); + + TESTER.executeAjaxEvent(TAB_PANEL + + "outerObjectsRepeater:2:outer:form:content:status:secondLevelContainer:back", + Constants.ON_CLICK); + + component = findComponentByProp("resource", + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:container:" + + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resource); + + component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check"); + assertEquals(Status.SUSPENDED, StatusBean.class.cast(component.getDefaultModelObject()).getStatus()); + assertEquals(resource, StatusBean.class.cast(component.getDefaultModelObject()).getResource()); + + // re-activate + TESTER.clickLink("body:realmsLI:realms"); + TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link"); + + component = findComponentByProp("username", CONTAINER + + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini"); + assertNotNull(component); + + TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); + // enable + TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" + + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:4:" + + "action:action"); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" + + "checkgroup:dataTable", WebMarkupContainer.class); + + formTester = TESTER.newFormTester( + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" + + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); + assertNotNull(formTester); + + formTester.select("checkgroup", index); + + TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:batchLink", + Constants.ON_CLICK); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "secondLevelContainer:second:container", WebMarkupContainer.class); + + // suspend link + TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:secondLevelContainer:" + + "second:container:actions:actionRepeater:1:action:action", + Constants.ON_CLICK); + + TESTER.assertInfoMessages("Operation executed successfully"); + TESTER.cleanupFeedbackMessages(); + + TESTER.assertLabel(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "secondLevelContainer:second:container:selectedObjects:body:rows:1:cells:4:cell", "SUCCESS"); + + TESTER.executeAjaxEvent(TAB_PANEL + + "outerObjectsRepeater:2:outer:form:content:status:secondLevelContainer:back", + Constants.ON_CLICK); + + component = findComponentByProp("resource", + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:container:" + + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resource); + + component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check"); + assertEquals(Status.ACTIVE, StatusBean.class.cast(component.getDefaultModelObject()).getStatus()); + assertEquals(resource, StatusBean.class.cast(component.getDefaultModelObject()).getResource()); + + TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:dialog:footer:buttons:0:button", + Constants.ON_CLICK); + } + + @Test + public void groupResource() { + TESTER.clickLink("body:realmsLI:realms"); + TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:2:link"); + + Component component = findComponentByProp("name", CONTAINER + + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "director"); + assertNotNull(component); + + TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); + // manage resource + TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" + + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:6:" + + "action:action"); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" + + "checkgroup:dataTable", WebMarkupContainer.class); + + TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:" + + "container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:topToolbars:" + + "toolbars:1:headers:2:header:orderByLink", true); + + component = findComponentByProp("resource", + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" + + "checkgroup:dataTable", "resource-ldap"); + assertNotNull(component); + + FormTester formTester = TESTER.newFormTester( + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" + + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); + assertNotNull(formTester); + + formTester.select("checkgroup", 0); + + TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:batchLink", + Constants.ON_CLICK); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "secondLevelContainer:second:container", WebMarkupContainer.class); + + assertNotNull(findComponentByProp("resource", TAB_PANEL + "outerObjectsRepeater:2:outer:" + + "form:content:status:secondLevelContainer:second:container:selectedObjects", "resource-ldap")); + } + + @Test + public void printerResource() { + TESTER.clickLink("body:realmsLI:realms"); + TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:3:link"); + + Component component = findComponentByProp("key", CONTAINER + + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", + "8559d14d-58c2-46eb-a2d4-a7d35161e8f8"); + assertNotNull(component); + + TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); + // manage resource + TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" + + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:2:" + + "action:action"); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" + + "checkgroup:dataTable", WebMarkupContainer.class); + + TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:" + + "container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:topToolbars:" + + "toolbars:1:headers:2:header:orderByLink", true); + + component = findComponentByProp("resource", + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" + + "checkgroup:dataTable", "resource-db-scripted"); + assertNotNull(component); + + FormTester formTester = TESTER.newFormTester( + TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" + + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); + assertNotNull(formTester); + + formTester.select("checkgroup", 0); + + TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:batchLink", + Constants.ON_CLICK); + + TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" + + "secondLevelContainer:second:container", WebMarkupContainer.class); + + assertNotNull(findComponentByProp("resource", TAB_PANEL + "outerObjectsRepeater:2:outer:" + + "form:content:status:secondLevelContainer:second:container:selectedObjects", "resource-db-scripted")); + } + + @Test + public void executePropagationTask() { + TESTER.clickLink("body:topologyLI:topology"); + + Component component = findComponentByProp("key", "body:resources", "resource-testdb"); + assertNotNull(component); + TESTER.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK); + TESTER.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:propagation"); + + FormTester formTester = TESTER.newFormTester( + "body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:first:container:" + + "content:searchContainer:resultTable:tablePanel:groupForm"); + assertNotNull(formTester); + + formTester.select("checkgroup", 0); + + TESTER.executeAjaxEvent("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:" + + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:batchLink", + Constants.ON_CLICK); + + TESTER.assertComponent("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:secondLevelContainer:" + + "second:container:selectedObjects:body:rows:1:cells:1:cell", Label.class); + } +}
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java deleted file mode 100644 index 66486ff..0000000 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java +++ /dev/null @@ -1,363 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.fit.console; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; - -import org.apache.syncope.client.console.commons.Constants; -import org.apache.syncope.client.console.commons.status.Status; -import org.apache.syncope.client.console.commons.status.StatusBean; -import org.apache.wicket.Component; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.util.tester.FormTester; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -public class BulkActionITCase extends AbstractConsoleITCase { - - private static final String TAB_PANEL = "body:content:body:container:content:tabbedPanel:panel:searchResult:"; - - private static final String CONTAINER = TAB_PANEL + "container:content:"; - - @BeforeEach - public void login() { - doLogin(ADMIN_UNAME, ADMIN_PWD); - } - - @Test - public void usersBulkAction() { - TESTER.clickLink("body:realmsLI:realms"); - TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link"); - - Component component = findComponentByProp("username", CONTAINER - + "searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini"); - assertNotNull(component); - - FormTester formTester = TESTER.newFormTester(CONTAINER + "searchContainer:resultTable:tablePanel:groupForm"); - assertNotNull(formTester); - - formTester.select("checkgroup", 2); - - TESTER.executeAjaxEvent(CONTAINER + "searchContainer:resultTable:tablePanel:bulkActionLink", - Constants.ON_CLICK); - - TESTER.assertComponent(CONTAINER - + "searchContainer:resultTable:bulkModal:form:content:content:container", WebMarkupContainer.class); - - assertNotNull(findComponentByProp("username", CONTAINER - + "searchContainer:resultTable:bulkModal:form:content:content:container", "rossini")); - } - - @Test - public void userResourceBulkAction() { - TESTER.clickLink("body:realmsLI:realms"); - TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link"); - - Component component = findComponentByProp("username", CONTAINER - + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini"); - assertNotNull(component); - - TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); - // manage resource - TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" - + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:5:" - + "action:action"); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" - + "checkgroup:dataTable", WebMarkupContainer.class); - - component = findComponentByProp("resource", - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" - + "checkgroup:dataTable", "resource-csv"); - assertNotNull(component); - - FormTester formTester = TESTER.newFormTester( - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" - + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); - assertNotNull(formTester); - - formTester.select("checkgroup", 0); - - TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink", - Constants.ON_CLICK); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "secondLevelContainer:second:container", WebMarkupContainer.class); - - assertNotNull(findComponentByProp("resource", TAB_PANEL + "outerObjectsRepeater:2:outer:" - + "form:content:status:secondLevelContainer:second:container", "resource-csv")); - } - - @Test - public void userStatusBulkAction() { - userStatusBulkAction(1, "resource-testdb2"); - } - - @Test - public void userStatusOnSyncopeOnlyBulkAction() { - userStatusBulkAction(0, Constants.SYNCOPE); - } - - private void userStatusBulkAction(final int index, final String resource) { - // suspend - TESTER.clickLink("body:realmsLI:realms"); - TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link"); - - Component component = findComponentByProp("username", CONTAINER - + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini"); - assertNotNull(component); - - TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); - // enable - TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" - + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:4:" - + "action:action"); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" - + "checkgroup:dataTable", WebMarkupContainer.class); - - component = findComponentByProp("resource", - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:container:" - + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resource); - - component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check"); - assertEquals(Status.ACTIVE, StatusBean.class.cast(component.getDefaultModelObject()).getStatus()); - assertEquals(resource, StatusBean.class.cast(component.getDefaultModelObject()).getResource()); - - FormTester formTester = TESTER.newFormTester( - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" - + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); - assertNotNull(formTester); - - formTester.select("checkgroup", index); - - TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink", - Constants.ON_CLICK); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "secondLevelContainer:second:container", WebMarkupContainer.class); - - // suspend link - TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:secondLevelContainer:" - + "second:container:actions:actionRepeater:0:action:action", - Constants.ON_CLICK); - - TESTER.assertInfoMessages("Operation executed successfully"); - TESTER.cleanupFeedbackMessages(); - - TESTER.assertLabel(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "secondLevelContainer:second:container:selectedObjects:body:rows:1:cells:4:cell", "SUCCESS"); - - TESTER.executeAjaxEvent(TAB_PANEL - + "outerObjectsRepeater:2:outer:form:content:status:secondLevelContainer:back", - Constants.ON_CLICK); - - component = findComponentByProp("resource", - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:container:" - + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resource); - - component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check"); - assertEquals(Status.SUSPENDED, StatusBean.class.cast(component.getDefaultModelObject()).getStatus()); - assertEquals(resource, StatusBean.class.cast(component.getDefaultModelObject()).getResource()); - - // re-activate - TESTER.clickLink("body:realmsLI:realms"); - TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link"); - - component = findComponentByProp("username", CONTAINER - + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini"); - assertNotNull(component); - - TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); - // enable - TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" - + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:4:" - + "action:action"); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" - + "checkgroup:dataTable", WebMarkupContainer.class); - - formTester = TESTER.newFormTester( - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" - + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); - assertNotNull(formTester); - - formTester.select("checkgroup", index); - - TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink", - Constants.ON_CLICK); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "secondLevelContainer:second:container", WebMarkupContainer.class); - - // suspend link - TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:secondLevelContainer:" - + "second:container:actions:actionRepeater:1:action:action", - Constants.ON_CLICK); - - TESTER.assertInfoMessages("Operation executed successfully"); - TESTER.cleanupFeedbackMessages(); - - TESTER.assertLabel(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "secondLevelContainer:second:container:selectedObjects:body:rows:1:cells:4:cell", "SUCCESS"); - - TESTER.executeAjaxEvent(TAB_PANEL - + "outerObjectsRepeater:2:outer:form:content:status:secondLevelContainer:back", - Constants.ON_CLICK); - - component = findComponentByProp("resource", - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:container:" - + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resource); - - component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check"); - assertEquals(Status.ACTIVE, StatusBean.class.cast(component.getDefaultModelObject()).getStatus()); - assertEquals(resource, StatusBean.class.cast(component.getDefaultModelObject()).getResource()); - - TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:dialog:footer:buttons:0:button", - Constants.ON_CLICK); - } - - @Test - public void groupResourceBulkAction() { - TESTER.clickLink("body:realmsLI:realms"); - TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:2:link"); - - Component component = findComponentByProp("name", CONTAINER - + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "director"); - assertNotNull(component); - - TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); - // manage resource - TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" - + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:6:" - + "action:action"); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" - + "checkgroup:dataTable", WebMarkupContainer.class); - - TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:" - + "container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:topToolbars:" - + "toolbars:1:headers:2:header:orderByLink", true); - - component = findComponentByProp("resource", - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" - + "checkgroup:dataTable", "resource-ldap"); - assertNotNull(component); - - FormTester formTester = TESTER.newFormTester( - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" - + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); - assertNotNull(formTester); - - formTester.select("checkgroup", 0); - - TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink", - Constants.ON_CLICK); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "secondLevelContainer:second:container", WebMarkupContainer.class); - - assertNotNull(findComponentByProp("resource", TAB_PANEL + "outerObjectsRepeater:2:outer:" - + "form:content:status:secondLevelContainer:second:container:selectedObjects", "resource-ldap")); - } - - @Test - public void printerResourceBulkAction() { - TESTER.clickLink("body:realmsLI:realms"); - TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:3:link"); - - Component component = findComponentByProp("key", CONTAINER - + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", - "8559d14d-58c2-46eb-a2d4-a7d35161e8f8"); - assertNotNull(component); - - TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK); - // manage resource - TESTER.clickLink("body:content:body:container:content:tabbedPanel:panel:searchResult:outerObjectsRepeater:1" - + ":outer:container:content:togglePanelContainer:container:actions:actions:actionRepeater:2:" - + "action:action"); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" - + "checkgroup:dataTable", WebMarkupContainer.class); - - TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:first:" - + "container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:topToolbars:" - + "toolbars:1:headers:2:header:orderByLink", true); - - component = findComponentByProp("resource", - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:" - + "checkgroup:dataTable", "resource-db-scripted"); - assertNotNull(component); - - FormTester formTester = TESTER.newFormTester( - TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:firstLevelContainer:" - + "first:container:content:searchContainer:resultTable:tablePanel:groupForm"); - assertNotNull(formTester); - - formTester.select("checkgroup", 0); - - TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink", - Constants.ON_CLICK); - - TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:2:outer:form:content:status:" - + "secondLevelContainer:second:container", WebMarkupContainer.class); - - assertNotNull(findComponentByProp("resource", TAB_PANEL + "outerObjectsRepeater:2:outer:" - + "form:content:status:secondLevelContainer:second:container:selectedObjects", "resource-db-scripted")); - } - - @Test - public void executePropagationTask() { - TESTER.clickLink("body:topologyLI:topology"); - - Component component = findComponentByProp("key", "body:resources", "resource-testdb"); - assertNotNull(component); - TESTER.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK); - TESTER.clickLink("body:toggle:container:content:togglePanelContainer:container:actions:propagation"); - - FormTester formTester = TESTER.newFormTester( - "body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:first:container:" - + "content:searchContainer:resultTable:tablePanel:groupForm"); - assertNotNull(formTester); - - formTester.select("checkgroup", 0); - - TESTER.executeAjaxEvent("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:" - + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink", - Constants.ON_CLICK); - - TESTER.assertComponent("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:secondLevelContainer:" - + "second:container:selectedObjects:body:rows:1:cells:1:cell", Label.class); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java index 81a0356..8ab5b6f 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java @@ -80,7 +80,7 @@ public class TopologyITCase extends AbstractConsoleITCase { } @Test - public void resourceBulkAction() { + public void resourceBatchAction() { Component component = findComponentByProp("key", "body:resources", "ws-target-resource-1"); assertNotNull(component); TESTER.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java index 1c3eba7..7ec16f1 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java @@ -48,7 +48,6 @@ import org.apache.syncope.common.lib.patch.UserPatch; import org.apache.syncope.common.lib.to.AnyObjectTO; import org.apache.syncope.common.lib.to.AnyTypeClassTO; import org.apache.syncope.common.lib.to.AnyTypeTO; -import org.apache.syncope.common.lib.to.BulkActionResult; import org.apache.syncope.common.lib.to.MembershipTO; import org.apache.syncope.common.lib.to.PagedResult; import org.apache.syncope.common.lib.to.PlainSchemaTO; @@ -524,7 +523,7 @@ public class AuthenticationITCase extends AbstractITCase { // 2. unlink the resource from the created user DeassociationPatch deassociationPatch = new DeassociationPatch.Builder().key(user.getKey()). action(ResourceDeassociationAction.UNLINK).resource(RESOURCE_NAME_TESTDB).build(); - assertNotNull(userService.deassociate(deassociationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(userService.deassociate(deassociationPatch))); // 3. change password on Syncope UserPatch userPatch = new UserPatch(); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java index 172d18c..aaa26fc 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java @@ -25,6 +25,7 @@ import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; +import java.io.IOException; import java.security.AccessControlException; import java.util.Collections; import java.util.List; @@ -56,7 +57,6 @@ import org.apache.syncope.common.lib.to.AnyObjectTO; import org.apache.syncope.common.lib.to.AnyTypeClassTO; import org.apache.syncope.common.lib.to.AnyTypeTO; import org.apache.syncope.common.lib.to.AttrTO; -import org.apache.syncope.common.lib.to.BulkActionResult; import org.apache.syncope.common.lib.to.ConnInstanceTO; import org.apache.syncope.common.lib.to.ConnObjectTO; import org.apache.syncope.common.lib.to.DerSchemaTO; @@ -76,12 +76,12 @@ import org.apache.syncope.common.lib.to.TypeExtensionTO; import org.apache.syncope.common.lib.to.UserTO; import org.apache.syncope.common.lib.types.AnyTypeKind; import org.apache.syncope.common.lib.types.AttrSchemaType; -import org.apache.syncope.common.lib.types.BulkMembersActionType; import org.apache.syncope.common.lib.types.ClientExceptionType; import org.apache.syncope.common.lib.types.ConnectorCapability; import org.apache.syncope.common.lib.types.MappingPurpose; import org.apache.syncope.common.lib.types.PatchOperation; -import org.apache.syncope.common.lib.types.PropagationTaskExecStatus; +import org.apache.syncope.common.lib.types.ExecStatus; +import org.apache.syncope.common.lib.types.ProvisionAction; import org.apache.syncope.common.lib.types.ResourceAssociationAction; import org.apache.syncope.common.lib.types.ResourceDeassociationAction; import org.apache.syncope.common.lib.types.SchemaType; @@ -312,7 +312,7 @@ public class GroupITCase extends AbstractITCase { } @Test - public void unlink() { + public void unlink() throws IOException { GroupTO actual = createGroup(getSampleTO("unlink")).getEntity(); assertNotNull(actual); @@ -321,7 +321,7 @@ public class GroupITCase extends AbstractITCase { DeassociationPatch deassociationPatch = new DeassociationPatch.Builder().key(actual.getKey()). action(ResourceDeassociationAction.UNLINK).resource(RESOURCE_NAME_LDAP).build(); - assertNotNull(groupService.deassociate(deassociationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(groupService.deassociate(deassociationPatch))); actual = groupService.read(actual.getKey()); assertNotNull(actual); @@ -331,7 +331,7 @@ public class GroupITCase extends AbstractITCase { } @Test - public void link() { + public void link() throws IOException { GroupTO groupTO = getSampleTO("link"); groupTO.getResources().clear(); @@ -348,7 +348,7 @@ public class GroupITCase extends AbstractITCase { AssociationPatch associationPatch = new AssociationPatch.Builder().key(actual.getKey()). action(ResourceAssociationAction.LINK).resource(RESOURCE_NAME_LDAP).build(); - assertNotNull(groupService.associate(associationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(groupService.associate(associationPatch))); actual = groupService.read(actual.getKey()); assertFalse(actual.getResources().isEmpty()); @@ -362,7 +362,7 @@ public class GroupITCase extends AbstractITCase { } @Test - public void unassign() { + public void unassign() throws IOException { GroupTO groupTO = null; try { @@ -377,7 +377,7 @@ public class GroupITCase extends AbstractITCase { deassociationPatch.setAction(ResourceDeassociationAction.UNASSIGN); deassociationPatch.getResources().add(RESOURCE_NAME_LDAP); - assertNotNull(groupService.deassociate(deassociationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(groupService.deassociate(deassociationPatch))); groupTO = groupService.read(groupTO.getKey()); assertNotNull(groupTO); @@ -397,7 +397,7 @@ public class GroupITCase extends AbstractITCase { } @Test - public void assign() { + public void assign() throws IOException { GroupTO groupTO = getSampleTO("assign"); groupTO.getResources().clear(); @@ -415,7 +415,7 @@ public class GroupITCase extends AbstractITCase { AssociationPatch associationPatch = new AssociationPatch.Builder().key(groupTO.getKey()). action(ResourceAssociationAction.ASSIGN).resource(RESOURCE_NAME_LDAP).build(); - assertNotNull(groupService.associate(associationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(groupService.associate(associationPatch))); groupTO = groupService.read(groupTO.getKey()); assertFalse(groupTO.getResources().isEmpty()); @@ -429,7 +429,7 @@ public class GroupITCase extends AbstractITCase { } @Test - public void deprovision() { + public void deprovision() throws IOException { GroupTO groupTO = null; try { @@ -442,7 +442,7 @@ public class GroupITCase extends AbstractITCase { DeassociationPatch deassociationPatch = new DeassociationPatch.Builder().key(groupTO.getKey()). action(ResourceDeassociationAction.DEPROVISION).resource(RESOURCE_NAME_LDAP).build(); - assertNotNull(groupService.deassociate(deassociationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(groupService.deassociate(deassociationPatch))); groupTO = groupService.read(groupTO.getKey()); assertNotNull(groupTO); @@ -462,7 +462,7 @@ public class GroupITCase extends AbstractITCase { } @Test - public void provision() { + public void provision() throws IOException { GroupTO groupTO = getSampleTO("provision"); groupTO.getResources().clear(); @@ -480,7 +480,7 @@ public class GroupITCase extends AbstractITCase { AssociationPatch associationPatch = new AssociationPatch.Builder().key(groupTO.getKey()). action(ResourceAssociationAction.PROVISION).resource(RESOURCE_NAME_LDAP).build(); - assertNotNull(groupService.associate(associationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(groupService.associate(associationPatch))); groupTO = groupService.read(groupTO.getKey()); assertTrue(groupTO.getResources().isEmpty()); @@ -495,7 +495,7 @@ public class GroupITCase extends AbstractITCase { } @Test - public void deprovisionUnlinked() { + public void deprovisionUnlinked() throws IOException { GroupTO groupTO = getSampleTO("deprovision"); groupTO.getResources().clear(); @@ -513,7 +513,7 @@ public class GroupITCase extends AbstractITCase { AssociationPatch associationPatch = new AssociationPatch.Builder().key(groupTO.getKey()). action(ResourceAssociationAction.PROVISION).resource(RESOURCE_NAME_LDAP).build(); - assertNotNull(groupService.associate(associationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(groupService.associate(associationPatch))); groupTO = groupService.read(groupTO.getKey()); assertTrue(groupTO.getResources().isEmpty()); @@ -524,7 +524,7 @@ public class GroupITCase extends AbstractITCase { DeassociationPatch deassociationPatch = new DeassociationPatch.Builder().key(groupTO.getKey()). action(ResourceDeassociationAction.DEPROVISION).resource(RESOURCE_NAME_LDAP).build(); - assertNotNull(groupService.deassociate(deassociationPatch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(groupService.deassociate(deassociationPatch))); groupTO = groupService.read(groupTO.getKey()); assertNotNull(groupTO); @@ -776,7 +776,7 @@ public class GroupITCase extends AbstractITCase { assertNotNull(result); assertEquals(1, result.getPropagationStatuses().size()); assertEquals(RESOURCE_NAME_LDAP, result.getPropagationStatuses().get(0).getResource()); - assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); + assertEquals(ExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); group = result.getEntity(); // 2. update succeeds @@ -789,7 +789,7 @@ public class GroupITCase extends AbstractITCase { assertNotNull(result); assertEquals(1, result.getPropagationStatuses().size()); assertEquals(RESOURCE_NAME_LDAP, result.getPropagationStatuses().get(0).getResource()); - assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); + assertEquals(ExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); group = result.getEntity(); // 3. set capability override with only search allowed, but not enable @@ -811,7 +811,7 @@ public class GroupITCase extends AbstractITCase { assertNotNull(result); assertEquals(1, result.getPropagationStatuses().size()); assertEquals(RESOURCE_NAME_LDAP, result.getPropagationStatuses().get(0).getResource()); - assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); + assertEquals(ExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); group = result.getEntity(); // 5. enable capability override @@ -833,7 +833,7 @@ public class GroupITCase extends AbstractITCase { assertNotNull(result); assertEquals(1, result.getPropagationStatuses().size()); assertEquals(RESOURCE_NAME_LDAP, result.getPropagationStatuses().get(0).getResource()); - assertEquals(PropagationTaskExecStatus.NOT_ATTEMPTED, result.getPropagationStatuses().get(0).getStatus()); + assertEquals(ExecStatus.NOT_ATTEMPTED, result.getPropagationStatuses().get(0).getStatus()); } finally { ldap.getCapabilitiesOverride().clear(); ldap.setOverrideCapabilities(false); @@ -874,7 +874,7 @@ public class GroupITCase extends AbstractITCase { } @Test - public void bulkMembersAction() throws InterruptedException { + public void provisionMembers() throws InterruptedException { // 1. create group without resources GroupTO groupTO = getBasicSampleTO("forProvision"); groupTO = createGroup(groupTO).getEntity(); @@ -893,7 +893,7 @@ public class GroupITCase extends AbstractITCase { PropagationStatus propStatus = groupUpdateResult.getPropagationStatuses().get(0); assertEquals(RESOURCE_NAME_LDAP, propStatus.getResource()); - assertEquals(PropagationTaskExecStatus.SUCCESS, propStatus.getStatus()); + assertEquals(ExecStatus.SUCCESS, propStatus.getStatus()); // 4. verify that the user above is not found on LDAP try { @@ -904,8 +904,8 @@ public class GroupITCase extends AbstractITCase { } try { - // 5. bulk provision group members - ExecTO exec = groupService.bulkMembersAction(groupTO.getKey(), BulkMembersActionType.PROVISION); + // 5. provision group members + ExecTO exec = groupService.provisionMembers(groupTO.getKey(), ProvisionAction.PROVISION); assertNotNull(exec.getRefKey()); int i = 0; http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java index 9e524da..d51dca1 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java @@ -33,7 +33,6 @@ import org.apache.syncope.common.lib.patch.DeassociationPatch; import org.apache.syncope.common.lib.patch.MembershipPatch; import org.apache.syncope.common.lib.patch.UserPatch; import org.apache.syncope.common.lib.to.AttrTO; -import org.apache.syncope.common.lib.to.BulkActionResult; import org.apache.syncope.common.lib.to.ExecTO; import org.apache.syncope.common.lib.to.GroupTO; import org.apache.syncope.common.lib.to.ItemTO; @@ -47,7 +46,7 @@ import org.apache.syncope.common.lib.types.AnyTypeKind; import org.apache.syncope.common.lib.types.ClientExceptionType; import org.apache.syncope.common.lib.types.MappingPurpose; import org.apache.syncope.common.lib.types.PatchOperation; -import org.apache.syncope.common.lib.types.PropagationTaskExecStatus; +import org.apache.syncope.common.lib.types.ExecStatus; import org.apache.syncope.common.lib.types.ResourceDeassociationAction; import org.apache.syncope.common.lib.types.TaskType; import org.apache.syncope.common.rest.api.beans.AnyQuery; @@ -263,7 +262,7 @@ public class MembershipITCase extends AbstractITCase { patch.setKey(user.getKey()); patch.setAction(ResourceDeassociationAction.UNLINK); patch.getResources().add(newResource.getKey()); - assertNotNull(userService.deassociate(patch).readEntity(BulkActionResult.class)); + assertNotNull(parseBatchResponse(userService.deassociate(patch))); userService.delete(user.getKey()); @@ -278,7 +277,7 @@ public class MembershipITCase extends AbstractITCase { ExecTO execution = AbstractTaskITCase.execProvisioningTask( taskService, TaskType.PULL, newTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); // 5. verify that pulled user has PagedResult<UserTO> users = userService.search(new AnyQuery.Builder(). http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java index 9a11031..6480700 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java @@ -46,7 +46,7 @@ import org.apache.syncope.common.lib.to.UserTO; import org.apache.syncope.common.lib.types.AnyTypeKind; import org.apache.syncope.common.lib.types.LoggerType; import org.apache.syncope.common.lib.types.MappingPurpose; -import org.apache.syncope.common.lib.types.PropagationTaskExecStatus; +import org.apache.syncope.common.lib.types.ExecStatus; import org.apache.syncope.common.lib.types.SchemaType; import org.apache.syncope.common.lib.types.PullMode; import org.apache.syncope.common.lib.types.TaskType; @@ -206,7 +206,7 @@ public class MultitenancyITCase extends AbstractITCase { // verify execution status String status = execution.getStatus(); assertNotNull(status); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(status)); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(status)); // verify that pulled user is found PagedResult<UserTO> matchingUsers = adminClient.getService(UserService.class).search(new AnyQuery.Builder(). http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java index 4e009af..d9060fc 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java @@ -23,19 +23,20 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; +import javax.ws.rs.core.Response; import org.apache.commons.lang3.SerializationUtils; +import org.apache.syncope.client.lib.batch.BatchRequest; import org.apache.syncope.common.lib.patch.AttrPatch; import org.apache.syncope.common.lib.patch.UserPatch; import org.apache.syncope.common.lib.to.TaskTO; import org.apache.syncope.common.lib.to.AnyObjectTO; import org.apache.syncope.common.lib.to.AttrTO; -import org.apache.syncope.common.lib.to.BulkAction; import org.apache.syncope.common.lib.to.ConnObjectTO; import org.apache.syncope.common.lib.to.PagedResult; import org.apache.syncope.common.lib.to.PropagationTaskTO; @@ -52,6 +53,7 @@ import org.apache.syncope.common.lib.types.TaskType; import org.apache.syncope.common.rest.api.beans.ExecuteQuery; import org.apache.syncope.common.rest.api.beans.ExecQuery; import org.apache.syncope.common.rest.api.beans.TaskQuery; +import org.apache.syncope.common.rest.api.service.TaskService; import org.junit.jupiter.api.Test; public class PropagationTaskITCase extends AbstractTaskITCase { @@ -92,9 +94,9 @@ public class PropagationTaskITCase extends AbstractTaskITCase { } @Test - public void bulkAction() { + public void batch() throws IOException { // create user with testdb resource - UserTO userTO = UserITCase.getUniqueSampleTO("taskb...@apache.org"); + UserTO userTO = UserITCase.getUniqueSampleTO("taskba...@apache.org"); userTO.getResources().add(RESOURCE_NAME_TESTDB); userTO = createUser(userTO).getEntity(); @@ -104,13 +106,16 @@ public class PropagationTaskITCase extends AbstractTaskITCase { getResult()); assertFalse(tasks.isEmpty()); - BulkAction bulkAction = new BulkAction(); - bulkAction.setType(BulkAction.Type.DELETE); - tasks.forEach(taskTO -> bulkAction.getTargets().add(taskTO.getKey())); + BatchRequest batchRequest = adminClient.batch(); - taskService.bulk(bulkAction); + TaskService batchTaskService = batchRequest.getService(TaskService.class); + tasks.forEach(task -> batchTaskService.delete(TaskType.PROPAGATION, task.getKey())); - assertFalse(taskService.search(new TaskQuery.Builder(TaskType.PROPAGATION).page(1).size(100).build()). + Response response = batchRequest.commit().getResponse(); + parseBatchResponse(response); + + assertFalse(taskService.search( + new TaskQuery.Builder(TaskType.PROPAGATION).page(1).size(100).build()). getResult().containsAll(tasks)); } http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java index a0a6f9d..c5c90e51 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java @@ -77,7 +77,7 @@ import org.apache.syncope.common.lib.types.ConnectorCapability; import org.apache.syncope.common.lib.types.ImplementationEngine; import org.apache.syncope.common.lib.types.ImplementationType; import org.apache.syncope.common.lib.types.PolicyType; -import org.apache.syncope.common.lib.types.PropagationTaskExecStatus; +import org.apache.syncope.common.lib.types.ExecStatus; import org.apache.syncope.common.lib.types.ResourceDeassociationAction; import org.apache.syncope.common.lib.types.PullMode; import org.apache.syncope.common.lib.types.ResourceOperation; @@ -238,7 +238,7 @@ public class PullTaskITCase extends AbstractTaskITCase { assertNotNull(usersPre); ExecTO exec = execProvisioningTask(taskService, TaskType.PULL, PULL_TASK_KEY, 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(exec.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(exec.getStatus())); LOG.debug("Execution of task {}:\n{}", PULL_TASK_KEY, exec); @@ -328,7 +328,7 @@ public class PullTaskITCase extends AbstractTaskITCase { try { ExecTO execution = execProvisioningTask( taskService, TaskType.PULL, "83f7e85d-9774-43fe-adba-ccd856312994", 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); userTO = userService.read("testuser1"); assertNotNull(userTO); @@ -341,7 +341,7 @@ public class PullTaskITCase extends AbstractTaskITCase { // re-execute the same PullTask: now user must be active execution = execProvisioningTask( taskService, TaskType.PULL, "83f7e85d-9774-43fe-adba-ccd856312994", 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); userTO = userService.read("testuser1"); assertNotNull(userTO); @@ -364,7 +364,7 @@ public class PullTaskITCase extends AbstractTaskITCase { taskService, TaskType.PULL, "1e419ca4-ea81-4493-a14f-28b90113686d", 50, false); // 1. verify execution status - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); // 2. verify that pulled group is found PagedResult<GroupTO> matchingGroups = groupService.search(new AnyQuery.Builder().realm( @@ -575,7 +575,7 @@ public class PullTaskITCase extends AbstractTaskITCase { // 3. exec task ExecTO execution = execProvisioningTask(taskService, TaskType.PULL, task.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); // 4. verify that only enabled user was pulled userTO = userService.read("user2"); @@ -657,7 +657,7 @@ public class PullTaskITCase extends AbstractTaskITCase { + "false, 'synctokenwitherro...@syncope.apache.org', '2015-05-23 13:53:24.293')"); ExecTO exec = execProvisioningTask(taskService, TaskType.PULL, pullTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(exec.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(exec.getStatus())); resForTest = resourceService.read(resForTest.getKey()); assertTrue(resForTest.getProvision(AnyTypeKind.USER.name()).get().getSyncToken().contains("2014-05-23")); @@ -667,7 +667,7 @@ public class PullTaskITCase extends AbstractTaskITCase { + "WHERE ID=1041"); exec = execProvisioningTask(taskService, TaskType.PULL, pullTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(exec.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(exec.getStatus())); resForTest = resourceService.read(resForTest.getKey()); assertTrue(resForTest.getProvision(AnyTypeKind.USER.name()).get().getSyncToken().contains("2016-05-23")); @@ -719,7 +719,7 @@ public class PullTaskITCase extends AbstractTaskITCase { try { // 3. execute the pull task and verify that: ExecTO execution = execProvisioningTask(taskService, TaskType.PULL, pullTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); // 3a. user was not pulled try { @@ -824,7 +824,7 @@ public class PullTaskITCase extends AbstractTaskITCase { assertFalse(((UserTO) actual.getTemplates().get(AnyTypeKind.USER.name())).getMemberships().isEmpty()); ExecTO execution = execProvisioningTask(taskService, TaskType.PULL, actual.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); userTO = userService.read("testuser2"); assertNotNull(userTO); @@ -954,13 +954,13 @@ public class PullTaskITCase extends AbstractTaskITCase { try { assertNotNull(userTO); assertEquals(1, result.getPropagationStatuses().size()); - assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); + assertEquals(ExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); ExecTO taskExecTO = execProvisioningTask( taskService, TaskType.PULL, "986867e2-993b-430e-8feb-aa9abb4c1dcd", 50, false); assertNotNull(taskExecTO.getStatus()); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(taskExecTO.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(taskExecTO.getStatus())); userTO = userService.read(userTO.getKey()); assertNotNull(userTO); @@ -1066,7 +1066,7 @@ public class PullTaskITCase extends AbstractTaskITCase { assertEquals(actual.getJobDelegate(), pullTask.getJobDelegate()); ExecTO execution = execProvisioningTask(taskService, TaskType.PULL, pullTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); // 5. Test the pulled user Pair<Map<String, Set<String>>, UserTO> self = clientFactory.create(user.getUsername(), newCleanPassword).self(); @@ -1151,7 +1151,7 @@ public class PullTaskITCase extends AbstractTaskITCase { assertNotNull(pullTask); ExecTO execution = execProvisioningTask(taskService, TaskType.PULL, pullTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); // 7. Test the pulled user self = clientFactory.create(user.getUsername(), oldCleanPassword).self(); @@ -1211,7 +1211,7 @@ public class PullTaskITCase extends AbstractTaskITCase { // 3. exec the pull task ExecTO execution = execProvisioningTask(taskService, TaskType.PULL, pullTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); // the user is successfully pulled... user = userService.read("pullFromLDAP"); @@ -1247,7 +1247,7 @@ public class PullTaskITCase extends AbstractTaskITCase { // 5. exec the pull task again execution = execProvisioningTask(taskService, TaskType.PULL, pullTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(execution.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(execution.getStatus())); // the internal is updated... user = userService.read("pullFromLDAP"); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java index eaf6d4d..da4570b 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java @@ -51,7 +51,7 @@ import org.apache.syncope.common.lib.types.AttrSchemaType; import org.apache.syncope.common.lib.types.ImplementationType; import org.apache.syncope.common.lib.types.MappingPurpose; import org.apache.syncope.common.lib.types.MatchingRule; -import org.apache.syncope.common.lib.types.PropagationTaskExecStatus; +import org.apache.syncope.common.lib.types.ExecStatus; import org.apache.syncope.common.lib.types.SchemaType; import org.apache.syncope.common.lib.types.TaskType; import org.apache.syncope.common.lib.types.TraceLevel; @@ -340,7 +340,7 @@ public class PushTaskITCase extends AbstractTaskITCase { assertNotNull(pushTask); ExecTO exec = execProvisioningTask(taskService, TaskType.PUSH, pushTask.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(exec.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(exec.getStatus())); // 2. check assertNotNull(getLdapRemoteObject(RESOURCE_LDAP_ADMIN_DN, RESOURCE_LDAP_ADMIN_PWD, "ou=odd,o=isp")); @@ -428,7 +428,7 @@ public class PushTaskITCase extends AbstractTaskITCase { // execute the new task ExecTO exec = execProvisioningTask(taskService, TaskType.PUSH, push.getKey(), 50, false); - assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(exec.getStatus())); + assertEquals(ExecStatus.SUCCESS, ExecStatus.valueOf(exec.getStatus())); } finally { groupService.delete(groupTO.getKey()); if (newResourceTO != null) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java index 1799e88..f62f2f9 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java @@ -41,7 +41,7 @@ import org.apache.syncope.common.lib.types.ClientExceptionType; import org.apache.syncope.common.lib.types.ImplementationEngine; import org.apache.syncope.common.lib.types.ImplementationType; import org.apache.syncope.common.lib.types.PolicyType; -import org.apache.syncope.common.lib.types.PropagationTaskExecStatus; +import org.apache.syncope.common.lib.types.ExecStatus; import org.apache.syncope.common.rest.api.RESTHeaders; import org.apache.syncope.common.rest.api.service.RealmService; import org.apache.syncope.core.provisioning.api.serialization.POJOHelper; @@ -229,7 +229,7 @@ public class RealmITCase extends AbstractITCase { assertNotNull(result); assertEquals(1, result.getPropagationStatuses().size()); assertEquals(RESOURCE_NAME_LDAP_ORGUNIT, result.getPropagationStatuses().get(0).getResource()); - assertEquals(PropagationTaskExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); + assertEquals(ExecStatus.SUCCESS, result.getPropagationStatuses().get(0).getStatus()); ProvisioningResult<RealmTO> resultChild = realmService.create("/test", childRealm).readEntity( new GenericType<ProvisioningResult<RealmTO>>() { @@ -237,7 +237,7 @@ public class RealmITCase extends AbstractITCase { assertNotNull(resultChild); assertEquals(1, resultChild.getPropagationStatuses().size()); assertEquals(RESOURCE_NAME_LDAP_ORGUNIT, resultChild.getPropagationStatuses().get(0).getResource()); - assertEquals(PropagationTaskExecStatus.SUCCESS, resultChild.getPropagationStatuses().get(0).getStatus()); + assertEquals(ExecStatus.SUCCESS, resultChild.getPropagationStatuses().get(0).getStatus()); ProvisioningResult<RealmTO> resultDescendant = realmService.create("/test/child", descendantRealm).readEntity( new GenericType<ProvisioningResult<RealmTO>>() { @@ -245,7 +245,7 @@ public class RealmITCase extends AbstractITCase { assertNotNull(resultDescendant); assertEquals(1, resultDescendant.getPropagationStatuses().size()); assertEquals(RESOURCE_NAME_LDAP_ORGUNIT, resultDescendant.getPropagationStatuses().get(0).getResource()); - assertEquals(PropagationTaskExecStatus.SUCCESS, resultDescendant.getPropagationStatuses().get(0).getStatus()); + assertEquals(ExecStatus.SUCCESS, resultDescendant.getPropagationStatuses().get(0).getStatus()); // 3. check on LDAP assertNotNull( http://git-wip-us.apache.org/repos/asf/syncope/blob/34a2fdbb/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java index 09f7b02..d8c5d27 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java @@ -36,7 +36,6 @@ import org.apache.commons.io.IOUtils; import org.apache.syncope.common.lib.SyncopeClientException; import org.apache.syncope.common.lib.report.AuditReportletConf; import org.apache.syncope.common.lib.report.UserReportletConf; -import org.apache.syncope.common.lib.to.BulkActionResult; import org.apache.syncope.common.lib.log.LoggerTO; import org.apache.syncope.common.lib.to.ExecTO; import org.apache.syncope.common.lib.to.ImplementationTO; @@ -51,7 +50,8 @@ import org.apache.syncope.common.lib.types.LoggerType; import org.apache.syncope.common.lib.types.ReportExecExportFormat; import org.apache.syncope.common.lib.types.ReportExecStatus; import org.apache.syncope.common.rest.api.RESTHeaders; -import org.apache.syncope.common.rest.api.beans.BulkExecDeleteQuery; +import org.apache.syncope.common.rest.api.batch.BatchResponseItem; +import org.apache.syncope.common.rest.api.beans.ExecDeleteQuery; import org.apache.syncope.common.rest.api.beans.ExecuteQuery; import org.apache.syncope.core.provisioning.api.serialization.POJOHelper; import org.apache.syncope.fit.AbstractITCase; @@ -279,7 +279,7 @@ public class ReportITCase extends AbstractITCase { } @Test - public void deleteExecutions() { + public void deleteExecutions() throws IOException { Date start = new Date(); try { Thread.sleep(1000); @@ -302,13 +302,12 @@ public class ReportITCase extends AbstractITCase { } Date end = new Date(); - BulkActionResult result = reportService.deleteExecutions( - new BulkExecDeleteQuery.Builder().key(reportTO.getKey()).startedAfter(start).endedBefore(end).build()); - assertNotNull(result); - - assertEquals(1, result.getResults().size()); - assertEquals(execKey, result.getResults().keySet().iterator().next()); - assertEquals(BulkActionResult.Status.SUCCESS, result.getResults().entrySet().iterator().next().getValue()); + Response response = reportService.deleteExecutions( + new ExecDeleteQuery.Builder().key(reportTO.getKey()).startedAfter(start).endedBefore(end).build()); + List<BatchResponseItem> batchResponseItems = parseBatchResponse(response); + assertEquals(1, batchResponseItems.size()); + assertEquals(execKey, batchResponseItems.get(0).getHeaders().get(RESTHeaders.RESOURCE_KEY).get(0)); + assertEquals(Response.Status.OK.getStatusCode(), batchResponseItems.get(0).getStatus()); } @Test