Skip to content

Commit 277e75a

Browse files
committed
fix(tests): update TriggerFactoryTest for multi-instance arch; restore table-scoped serverId in ListFilter
1 parent 3383b60 commit 277e75a

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/ListFilter.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
public class ListFilter extends Filter<ListFilter> {
2626
public static final String NULL_PARAM = "null";
27+
private static final String MCP_EXECUTION_TABLE_NAME = "mcp_execution_entity";
2728

2829
public ListFilter() {
2930
this(Include.NON_DELETED);
@@ -71,7 +72,7 @@ public String getCondition(String tableName) {
7172
conditions.add(getAgentTypeCondition());
7273
conditions.add(getProviderCondition(tableName));
7374
conditions.add(getEntityStatusCondition(tableName));
74-
conditions.add(getServerIdCondition());
75+
conditions.add(getServerIdCondition(tableName));
7576
conditions.add(getScheduleRunIdCondition());
7677
String condition = addCondition(conditions);
7778
return condition.isEmpty() ? "WHERE TRUE" : "WHERE " + condition;
@@ -400,9 +401,11 @@ public String getApiCollectionCondition(String apiEndpoint) {
400401
: getFqnPrefixCondition(apiEndpoint, apiCollection, "apiCollection");
401402
}
402403

403-
private String getServerIdCondition() {
404+
private String getServerIdCondition(String tableName) {
404405
String serverId = queryParams.get("serverId");
405-
return serverId == null ? "" : "serverId = :serverId";
406+
return serverId == null || !MCP_EXECUTION_TABLE_NAME.equals(tableName)
407+
? ""
408+
: "serverId = :serverId";
406409
}
407410

408411
private String getScheduleRunIdCondition() {

openmetadata-service/src/test/java/org/openmetadata/service/governance/workflows/elements/TriggerFactoryTest.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
import static org.junit.jupiter.api.Assertions.assertEquals;
1717
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
1818
import static org.junit.jupiter.api.Assertions.assertNotNull;
19-
import static org.junit.jupiter.api.Assertions.assertNull;
2019

2120
import java.util.ArrayList;
2221
import java.util.List;
2322
import org.flowable.bpmn.model.BpmnModel;
2423
import org.flowable.bpmn.model.CallActivity;
2524
import org.flowable.bpmn.model.FlowElement;
25+
import org.flowable.bpmn.model.MultiInstanceLoopCharacteristics;
2626
import org.flowable.bpmn.model.Process;
2727
import org.junit.jupiter.api.Test;
2828
import org.openmetadata.schema.governance.workflows.WorkflowDefinition;
@@ -60,7 +60,7 @@ void testPeriodicBatchTrigger_CreatesCorrectTriggerType() {
6060
}
6161

6262
@Test
63-
void testPeriodicBatchTrigger_NoMultiInstanceLoop() {
63+
void testPeriodicBatchTrigger_MultiInstanceLoop_WhenNoSinkTask() {
6464
WorkflowDefinition workflow = createWorkflow();
6565

6666
TriggerInterface trigger = TriggerFactory.createTrigger(workflow);
@@ -70,9 +70,13 @@ void testPeriodicBatchTrigger_NoMultiInstanceLoop() {
7070

7171
CallActivity callActivity = findCallActivity(model);
7272
assertNotNull(callActivity, "CallActivity should exist");
73-
assertNull(
74-
callActivity.getLoopCharacteristics(),
75-
"CallActivity must not have multi-instance loop in batch mode");
73+
MultiInstanceLoopCharacteristics loopChars =
74+
(MultiInstanceLoopCharacteristics) callActivity.getLoopCharacteristics();
75+
assertNotNull(loopChars, "CallActivity should have multi-instance loop when no SinkTask");
76+
assertEquals(
77+
"${numberOfEntities}",
78+
loopChars.getLoopCardinality(),
79+
"Cardinality should be ${numberOfEntities} when no SinkTask batch mode");
7680
}
7781

7882
private CallActivity findCallActivity(BpmnModel model) {

0 commit comments

Comments
 (0)