Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,34 @@ public static void setup() {
request.setName("test-" + UUID.randomUUID());
ConductorApplication app = authorizationClient.createApplication(request);
applicationId = app.getId();

// 1) Ensure the external test group exists
UpsertGroupRequest ensureGroup = new UpsertGroupRequest()
.defaultAccess(
Map.of(
TypeEnum.WORKFLOW_DEF.getValue(), List.of("CREATE", "READ", "UPDATE", "EXECUTE", "DELETE"),
TypeEnum.TASK_DEF.getValue(), List.of("CREATE", "READ", "UPDATE", "EXECUTE", "DELETE")))
.description("Group used for SDK testing")
.roles(List.of(RolesEnum.ADMIN));
authorizationClient.upsertGroup(ensureGroup, "worker-test-group31dfe7a4-bd85-4ccc-9571-7c0e018ebc32");

// 2) Ensure the external test user exists
UpsertUserRequest ensureUser = new UpsertUserRequest();
ensureUser.setName("SDK Test User");
ensureUser.setRoles(List.of(UpsertUserRequest.RolesEnum.USER));
authorizationClient.upsertUser(ensureUser, "conductoruser1@gmail.com");

// 3) Ensure the task definition used across tests exists
try {
metadataClient.getTaskDef(Commons.TASK_NAME);
} catch (ConductorClientException e) {
// Register when missing; ignore if already present
if (e.getStatus() == 404) {
metadataClient.registerTaskDefs(List.of(Commons.getTaskDef()));
} else {
throw e;
}
}
}

@AfterAll
Expand Down Expand Up @@ -218,7 +246,6 @@ void testGrantPermissionsToDomain() {
}

@Test
@DisplayName("tag a workflows and task")
public void tagWorkflowsAndTasks() {
registerWorkflow();
TagObject tagObject = new TagObject();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,11 @@
import org.junit.jupiter.api.Test;

import com.netflix.conductor.client.exception.ConductorClientException;
import com.netflix.conductor.common.metadata.tasks.TaskType;
import com.netflix.conductor.common.metadata.tasks.Task;
import com.netflix.conductor.common.metadata.tasks.TaskResult;
import com.netflix.conductor.common.metadata.workflow.WorkflowDef;
import com.netflix.conductor.common.metadata.workflow.WorkflowTask;
import com.netflix.conductor.common.metadata.workflow.IdempotencyStrategy;
import com.netflix.conductor.common.metadata.workflow.StartWorkflowRequest;
import com.netflix.conductor.common.run.Workflow;
Expand All @@ -42,10 +45,39 @@
public class WorkflowStateUpdateTests {

private static OrkesWorkflowClient workflowClient;
private static OrkesMetadataClient metadataClient;

@BeforeAll
public static void init() {
workflowClient = ClientTestUtil.getOrkesClients().getWorkflowClient();
metadataClient = ClientTestUtil.getOrkesClients().getMetadataClient();

// Ensure required workflow exists on fresh clusters
try {
metadataClient.getWorkflowDef("sync_task_variable_updates", 1);
} catch (ConductorClientException e) {
if (e.getStatus() == 404) {
WorkflowDef def = new WorkflowDef();
def.setName("sync_task_variable_updates");
def.setVersion(1);
def.setOwnerEmail("example@orkes.io");

WorkflowTask wait1 = new WorkflowTask();
wait1.setName(TaskType.WAIT.name());
wait1.setTaskReferenceName("wait_task_ref");
wait1.setType(TaskType.WAIT.name());

WorkflowTask wait2 = new WorkflowTask();
wait2.setName(TaskType.WAIT.name());
wait2.setTaskReferenceName("wait_task_ref_2");
wait2.setType(TaskType.WAIT.name());

def.setTasks(List.of(wait1, wait2));
metadataClient.registerWorkflowDef(def);
} else {
throw e;
}
}
}

@SneakyThrows
Expand Down
Loading