Skip to content

Commit 58849cc

Browse files
guilhermedcamachobrianchandotcom
authored andcommitted
LPD-55455 Passing a real ExecutionContext
1 parent b519145 commit 58849cc

File tree

2 files changed

+78
-10
lines changed

2 files changed

+78
-10
lines changed

modules/apps/portal-workflow/portal-workflow-kaleo-runtime-impl/src/main/java/com/liferay/portal/workflow/kaleo/runtime/internal/notification/TemplateNotificationMessageGenerator.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,8 @@ private void _populateContextVariables(
169169
KaleoInstanceToken kaleoInstanceToken =
170170
executionContext.getKaleoInstanceToken();
171171

172-
if (kaleoInstanceToken != null) {
173-
template.put("userId", kaleoInstanceToken.getUserId());
174-
template.put("userName", kaleoInstanceToken.getUserName());
175-
}
172+
template.put("userId", kaleoInstanceToken.getUserId());
173+
template.put("userName", kaleoInstanceToken.getUserName());
176174
}
177175

178176
KaleoTimerInstanceToken kaleoTimerInstanceToken =

modules/apps/portal-workflow/portal-workflow-kaleo-test/src/testIntegration/java/com/liferay/portal/workflow/kaleo/internal/runtime/integration/test/TemplateNotificationMessageGeneratorTest.java

Lines changed: 76 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,37 @@
66
package com.liferay.portal.workflow.kaleo.internal.runtime.integration.test;
77

88
import com.liferay.arquillian.extension.junit.bridge.junit.Arquillian;
9+
import com.liferay.blogs.model.BlogsEntry;
910
import com.liferay.petra.lang.SafeCloseable;
11+
import com.liferay.petra.string.StringPool;
12+
import com.liferay.portal.kernel.service.ServiceContext;
1013
import com.liferay.portal.kernel.test.AssertUtils;
1114
import com.liferay.portal.kernel.test.rule.AggregateTestRule;
1215
import com.liferay.portal.kernel.test.util.PropsValuesTestUtil;
1316
import com.liferay.portal.kernel.test.util.RandomTestUtil;
17+
import com.liferay.portal.kernel.test.util.ServiceContextTestUtil;
18+
import com.liferay.portal.kernel.util.HashMapBuilder;
19+
import com.liferay.portal.kernel.workflow.WorkflowConstants;
1420
import com.liferay.portal.test.rule.Inject;
1521
import com.liferay.portal.test.rule.LiferayIntegrationTestRule;
1622
import com.liferay.portal.test.rule.PermissionCheckerMethodTestRule;
23+
import com.liferay.portal.workflow.kaleo.definition.Task;
24+
import com.liferay.portal.workflow.kaleo.model.KaleoInstance;
25+
import com.liferay.portal.workflow.kaleo.model.KaleoInstanceToken;
1726
import com.liferay.portal.workflow.kaleo.model.KaleoNode;
1827
import com.liferay.portal.workflow.kaleo.runtime.ExecutionContext;
1928
import com.liferay.portal.workflow.kaleo.runtime.notification.NotificationMessageGenerationException;
2029
import com.liferay.portal.workflow.kaleo.runtime.notification.NotificationMessageGenerator;
30+
import com.liferay.portal.workflow.kaleo.runtime.util.WorkflowContextUtil;
31+
import com.liferay.portal.workflow.kaleo.service.KaleoInstanceLocalService;
32+
import com.liferay.portal.workflow.kaleo.service.KaleoInstanceTokenLocalService;
33+
import com.liferay.portal.workflow.kaleo.service.KaleoNodeLocalService;
34+
import com.liferay.portal.workflow.kaleo.service.KaleoTaskInstanceTokenLocalService;
2135

22-
import java.util.HashMap;
36+
import java.io.Serializable;
2337

2438
import org.junit.Assert;
39+
import org.junit.Before;
2540
import org.junit.ClassRule;
2641
import org.junit.Rule;
2742
import org.junit.Test;
@@ -40,10 +55,40 @@ public class TemplateNotificationMessageGeneratorTest {
4055
new LiferayIntegrationTestRule(),
4156
PermissionCheckerMethodTestRule.INSTANCE);
4257

43-
@Test
44-
public void testGenerateMessage()
45-
throws NotificationMessageGenerationException {
58+
@Before
59+
public void setUp() throws Exception {
60+
ServiceContext serviceContext =
61+
ServiceContextTestUtil.getServiceContext();
62+
63+
_kaleoInstance = _kaleoInstanceLocalService.addKaleoInstance(
64+
1, 1, RandomTestUtil.randomString(), 1,
65+
HashMapBuilder.<String, Serializable>put(
66+
WorkflowConstants.CONTEXT_ENTRY_CLASS_NAME,
67+
BlogsEntry.class.getName()
68+
).put(
69+
WorkflowConstants.CONTEXT_SERVICE_CONTEXT, serviceContext
70+
).build(),
71+
serviceContext);
72+
73+
KaleoNode kaleoNode = _kaleoNodeLocalService.addKaleoNode(
74+
_kaleoInstance.getKaleoDefinitionId(),
75+
_kaleoInstance.getKaleoDefinitionVersionId(),
76+
new Task(RandomTestUtil.randomString(), StringPool.BLANK),
77+
serviceContext);
4678

79+
_kaleoInstanceToken =
80+
_kaleoInstanceTokenLocalService.addKaleoInstanceToken(
81+
kaleoNode.getKaleoNodeId(),
82+
_kaleoInstance.getKaleoDefinitionId(),
83+
_kaleoInstance.getKaleoDefinitionVersionId(),
84+
_kaleoInstance.getKaleoInstanceId(), 0,
85+
WorkflowContextUtil.convert(
86+
_kaleoInstance.getWorkflowContext()),
87+
serviceContext);
88+
}
89+
90+
@Test
91+
public void testGenerateMessage() throws Exception {
4792
try (SafeCloseable safeCloseable =
4893
PropsValuesTestUtil.swapWithSafeCloseable(
4994
"NOTIFICATION_EMAIL_TEMPLATE_ENABLED", true)) {
@@ -52,7 +97,11 @@ public void testGenerateMessage()
5297
KaleoNode.class.getName(), RandomTestUtil.randomLong(),
5398
RandomTestUtil.randomString(), "freemarker",
5499
"Hello ${serviceLocator}!",
55-
new ExecutionContext(null, new HashMap<>(), null));
100+
new ExecutionContext(
101+
_kaleoInstanceToken,
102+
WorkflowContextUtil.convert(
103+
_kaleoInstance.getWorkflowContext()),
104+
ServiceContextTestUtil.getServiceContext()));
56105

57106
Assert.assertTrue(message.contains("ServiceLocator"));
58107
}
@@ -68,10 +117,31 @@ public void testGenerateMessage()
68117
KaleoNode.class.getName(), RandomTestUtil.randomLong(),
69118
RandomTestUtil.randomString(), "freemarker",
70119
"Hello ${serviceLocator}!",
71-
new ExecutionContext(null, new HashMap<>(), null)));
120+
new ExecutionContext(
121+
_kaleoInstanceToken,
122+
WorkflowContextUtil.convert(
123+
_kaleoInstance.getWorkflowContext()),
124+
ServiceContextTestUtil.getServiceContext())));
72125
}
73126
}
74127

128+
private KaleoInstance _kaleoInstance;
129+
130+
@Inject
131+
private KaleoInstanceLocalService _kaleoInstanceLocalService;
132+
133+
private KaleoInstanceToken _kaleoInstanceToken;
134+
135+
@Inject
136+
private KaleoInstanceTokenLocalService _kaleoInstanceTokenLocalService;
137+
138+
@Inject
139+
private KaleoNodeLocalService _kaleoNodeLocalService;
140+
141+
@Inject
142+
private KaleoTaskInstanceTokenLocalService
143+
_kaleoTaskInstanceTokenLocalService;
144+
75145
@Inject(
76146
filter = "component.name=com.liferay.portal.workflow.kaleo.runtime.internal.notification.TemplateNotificationMessageGenerator"
77147
)

0 commit comments

Comments
 (0)