mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
ACS-3536 Omit actionContext for rules. (#1383)
* ACS-3536 Omit actionContext for rules. It will always be set to 'Rule' anyway. * ACS-3536 Stop setting actionContext in rules E2E tests. Also add extra assertion for action params in new test.
This commit is contained in:
@@ -95,7 +95,6 @@ public class CreateRulesTests extends RestTest
|
|||||||
.createSingleRule(ruleModel);
|
.createSingleRule(ruleModel);
|
||||||
|
|
||||||
RestRuleModel expectedRuleModel = createRuleModelWithModifiedValues();
|
RestRuleModel expectedRuleModel = createRuleModelWithModifiedValues();
|
||||||
expectedRuleModel.setActions(addActionContextParams(expectedRuleModel.getActions()));
|
|
||||||
expectedRuleModel.setConditions(createEmptyConditionModel());
|
expectedRuleModel.setConditions(createEmptyConditionModel());
|
||||||
restClient.assertStatusCodeIs(CREATED);
|
restClient.assertStatusCodeIs(CREATED);
|
||||||
rule.assertThat().isEqualTo(expectedRuleModel, IGNORE_ID, IGNORE_IS_SHARED)
|
rule.assertThat().isEqualTo(expectedRuleModel, IGNORE_ID, IGNORE_IS_SHARED)
|
||||||
@@ -385,7 +384,7 @@ public class CreateRulesTests extends RestTest
|
|||||||
.createSingleRule(ruleModel);
|
.createSingleRule(ruleModel);
|
||||||
|
|
||||||
final RestRuleModel expectedRuleModel = createRuleModelWithDefaultValues();
|
final RestRuleModel expectedRuleModel = createRuleModelWithDefaultValues();
|
||||||
expectedRuleModel.setActions(addActionContextParams(Arrays.asList(copyAction, checkOutAction, scriptAction)));
|
expectedRuleModel.setActions(Arrays.asList(copyAction, checkOutAction, scriptAction));
|
||||||
expectedRuleModel.setConditions(createEmptyConditionModel());
|
expectedRuleModel.setConditions(createEmptyConditionModel());
|
||||||
expectedRuleModel.setTriggers(List.of("inbound"));
|
expectedRuleModel.setTriggers(List.of("inbound"));
|
||||||
|
|
||||||
@@ -407,7 +406,6 @@ public class CreateRulesTests extends RestTest
|
|||||||
.createSingleRule(ruleModel);
|
.createSingleRule(ruleModel);
|
||||||
|
|
||||||
RestRuleModel expectedRuleModel = createRuleModelWithDefaultValues();
|
RestRuleModel expectedRuleModel = createRuleModelWithDefaultValues();
|
||||||
expectedRuleModel.setActions(addActionContextParams(expectedRuleModel.getActions()));
|
|
||||||
expectedRuleModel.setConditions(createVariousConditions());
|
expectedRuleModel.setConditions(createVariousConditions());
|
||||||
expectedRuleModel.setTriggers(List.of("inbound"));
|
expectedRuleModel.setTriggers(List.of("inbound"));
|
||||||
restClient.assertStatusCodeIs(CREATED);
|
restClient.assertStatusCodeIs(CREATED);
|
||||||
@@ -427,7 +425,6 @@ public class CreateRulesTests extends RestTest
|
|||||||
.createSingleRule(ruleModel);
|
.createSingleRule(ruleModel);
|
||||||
|
|
||||||
RestRuleModel expectedRuleModel = createRuleModelWithDefaultValues();
|
RestRuleModel expectedRuleModel = createRuleModelWithDefaultValues();
|
||||||
expectedRuleModel.setActions(addActionContextParams(expectedRuleModel.getActions()));
|
|
||||||
expectedRuleModel.setConditions(createCompositeCondition(null));
|
expectedRuleModel.setConditions(createCompositeCondition(null));
|
||||||
expectedRuleModel.setTriggers(List.of("inbound"));
|
expectedRuleModel.setTriggers(List.of("inbound"));
|
||||||
restClient.assertStatusCodeIs(CREATED);
|
restClient.assertStatusCodeIs(CREATED);
|
||||||
|
@@ -189,7 +189,6 @@ public class GetRulesTests extends RestTest
|
|||||||
.createSingleRule(ruleModel);
|
.createSingleRule(ruleModel);
|
||||||
|
|
||||||
RestRuleModel expectedRuleModel = createRuleModelWithModifiedValues();
|
RestRuleModel expectedRuleModel = createRuleModelWithModifiedValues();
|
||||||
expectedRuleModel.setActions(addActionContextParams(expectedRuleModel.getActions()));
|
|
||||||
expectedRuleModel.setTriggers(List.of("update"));
|
expectedRuleModel.setTriggers(List.of("update"));
|
||||||
expectedRuleModel.setConditions(createEmptyConditionModel());
|
expectedRuleModel.setConditions(createEmptyConditionModel());
|
||||||
|
|
||||||
@@ -212,7 +211,6 @@ public class GetRulesTests extends RestTest
|
|||||||
.createSingleRule(ruleModel);
|
.createSingleRule(ruleModel);
|
||||||
|
|
||||||
RestRuleModel expectedRuleModel = createRuleModelWithDefaultValues();
|
RestRuleModel expectedRuleModel = createRuleModelWithDefaultValues();
|
||||||
expectedRuleModel.setActions(addActionContextParams(expectedRuleModel.getActions()));
|
|
||||||
expectedRuleModel.setTriggers(List.of("inbound"));
|
expectedRuleModel.setTriggers(List.of("inbound"));
|
||||||
expectedRuleModel.setConditions(createEmptyConditionModel());
|
expectedRuleModel.setConditions(createEmptyConditionModel());
|
||||||
|
|
||||||
|
@@ -26,7 +26,6 @@
|
|||||||
package org.alfresco.rest.rules;
|
package org.alfresco.rest.rules;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -105,16 +104,6 @@ public class RulesTestsUtils
|
|||||||
return restActionModel;
|
return restActionModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<RestActionBodyExecTemplateModel> addActionContextParams(List<RestActionBodyExecTemplateModel> inputActions)
|
|
||||||
{
|
|
||||||
inputActions.forEach(inputAction -> {
|
|
||||||
final Map<String, Serializable> params = new HashMap<>((Map<String, Serializable>) inputAction.getParams());
|
|
||||||
params.put("actionContext", "rule");
|
|
||||||
inputAction.setParams(params);
|
|
||||||
});
|
|
||||||
return inputActions;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static RestActionBodyExecTemplateModel createCustomActionModel(String actionDefinitionId, Map<String, Serializable> params)
|
public static RestActionBodyExecTemplateModel createCustomActionModel(String actionDefinitionId, Map<String, Serializable> params)
|
||||||
{
|
{
|
||||||
RestActionBodyExecTemplateModel restActionModel = new RestActionBodyExecTemplateModel();
|
RestActionBodyExecTemplateModel restActionModel = new RestActionBodyExecTemplateModel();
|
||||||
|
@@ -36,6 +36,8 @@ import static org.springframework.http.HttpStatus.OK;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
|
||||||
import org.alfresco.rest.RestTest;
|
import org.alfresco.rest.RestTest;
|
||||||
import org.alfresco.rest.model.RestActionBodyExecTemplateModel;
|
import org.alfresco.rest.model.RestActionBodyExecTemplateModel;
|
||||||
import org.alfresco.rest.model.RestRuleModel;
|
import org.alfresco.rest.model.RestRuleModel;
|
||||||
@@ -198,6 +200,29 @@ public class UpdateRulesTests extends RestTest
|
|||||||
updatedRule.assertThat().field("isShared").isNotNull();
|
updatedRule.assertThat().field("isShared").isNotNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Check we can use the POST response to create the new rule. */
|
||||||
|
@Test (groups = { TestGroup.REST_API, TestGroup.RULES, TestGroup.SANITY })
|
||||||
|
public void updateCopyRuleWithResponseFromPOST()
|
||||||
|
{
|
||||||
|
FolderModel destination = dataContent.usingUser(user).usingSite(site).createFolder();
|
||||||
|
|
||||||
|
RestActionBodyExecTemplateModel copyAction = new RestActionBodyExecTemplateModel();
|
||||||
|
copyAction.setActionDefinitionId("copy");
|
||||||
|
copyAction.setParams(ImmutableMap.of("destination-folder", destination.getNodeRef()));
|
||||||
|
RestRuleModel rule = createAndSaveRule("Rule name", List.of(copyAction));
|
||||||
|
|
||||||
|
STEP("Try to update the rule.");
|
||||||
|
rule.setName("Updated rule name");
|
||||||
|
RestRuleModel updatedRule = restClient.authenticateUser(user).withCoreAPI().usingNode(ruleFolder).usingDefaultRuleSet()
|
||||||
|
.include("isShared")
|
||||||
|
.updateRule(rule.getId(), rule);
|
||||||
|
|
||||||
|
restClient.assertStatusCodeIs(OK);
|
||||||
|
updatedRule.assertThat().field("name").is("Updated rule name")
|
||||||
|
.assertThat().field("actions.actionDefinitionId").is(List.of("copy"))
|
||||||
|
.assertThat().field("actions.params").is(List.of(ImmutableMap.of("destination-folder", destination.getNodeRef())));
|
||||||
|
}
|
||||||
|
|
||||||
private RestRuleModel createAndSaveRule(String name)
|
private RestRuleModel createAndSaveRule(String name)
|
||||||
{
|
{
|
||||||
return createAndSaveRule(name, List.of(createDefaultActionModel()));
|
return createAndSaveRule(name, List.of(createDefaultActionModel()));
|
||||||
|
@@ -26,6 +26,8 @@
|
|||||||
|
|
||||||
package org.alfresco.rest.api.model.rules;
|
package org.alfresco.rest.api.model.rules;
|
||||||
|
|
||||||
|
import static org.alfresco.repo.action.access.ActionAccessRestriction.ACTION_CONTEXT_PARAM_NAME;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -60,7 +62,9 @@ public class Action
|
|||||||
final Action.Builder builder = builder().actionDefinitionId(actionModel.getActionDefinitionName());
|
final Action.Builder builder = builder().actionDefinitionId(actionModel.getActionDefinitionName());
|
||||||
if (actionModel.getParameterValues() != null)
|
if (actionModel.getParameterValues() != null)
|
||||||
{
|
{
|
||||||
builder.params(new HashMap<>(actionModel.getParameterValues()));
|
Map<String, Serializable> params = new HashMap<>(actionModel.getParameterValues());
|
||||||
|
params.remove(ACTION_CONTEXT_PARAM_NAME);
|
||||||
|
builder.params(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder.create();
|
return builder.create();
|
||||||
|
Reference in New Issue
Block a user