From 41669ed3c451477e3192f2ae06f9e46059232bb0 Mon Sep 17 00:00:00 2001 From: Harshit Aggarwal Date: Wed, 13 Jul 2022 06:40:53 +0530 Subject: [PATCH 1/3] init --- .../provider/azure/service/WorkflowEngineServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/workflow-azure/src/main/java/org/opengroup/osdu/workflow/provider/azure/service/WorkflowEngineServiceImpl.java b/provider/workflow-azure/src/main/java/org/opengroup/osdu/workflow/provider/azure/service/WorkflowEngineServiceImpl.java index db813631..08b7d62b 100644 --- a/provider/workflow-azure/src/main/java/org/opengroup/osdu/workflow/provider/azure/service/WorkflowEngineServiceImpl.java +++ b/provider/workflow-azure/src/main/java/org/opengroup/osdu/workflow/provider/azure/service/WorkflowEngineServiceImpl.java @@ -53,7 +53,7 @@ public class WorkflowEngineServiceImpl implements IWorkflowEngineService { private final static String AIRFLOW_CONTROLLER_PAYLOAD_PARAMETER_WORKFLOW_ID = "trigger_dag_id"; private final static String AIRFLOW_CONTROLLER_PAYLOAD_PARAMETER_WORKFLOW_RUN_ID = "trigger_dag_run_id"; private static final String KEY_DAG_CONTENT = "dagContent"; - private static final String KEY_USER_ID = "user_email_id"; + private static final String KEY_USER_ID = "userId"; @Autowired -- GitLab From 519c5e90d3b4be01068bb3fb942fd2ff582199e7 Mon Sep 17 00:00:00 2001 From: Harshit Aggarwal Date: Wed, 13 Jul 2022 19:16:38 +0530 Subject: [PATCH 2/3] move code to common --- .../provider/azure/service/WorkflowEngineServiceImpl.java | 4 +--- .../osdu/workflow/service/WorkflowRunServiceImpl.java | 6 +++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/provider/workflow-azure/src/main/java/org/opengroup/osdu/workflow/provider/azure/service/WorkflowEngineServiceImpl.java b/provider/workflow-azure/src/main/java/org/opengroup/osdu/workflow/provider/azure/service/WorkflowEngineServiceImpl.java index 08b7d62b..155ffbbb 100644 --- a/provider/workflow-azure/src/main/java/org/opengroup/osdu/workflow/provider/azure/service/WorkflowEngineServiceImpl.java +++ b/provider/workflow-azure/src/main/java/org/opengroup/osdu/workflow/provider/azure/service/WorkflowEngineServiceImpl.java @@ -53,8 +53,6 @@ public class WorkflowEngineServiceImpl implements IWorkflowEngineService { private final static String AIRFLOW_CONTROLLER_PAYLOAD_PARAMETER_WORKFLOW_ID = "trigger_dag_id"; private final static String AIRFLOW_CONTROLLER_PAYLOAD_PARAMETER_WORKFLOW_RUN_ID = "trigger_dag_run_id"; private static final String KEY_DAG_CONTENT = "dagContent"; - private static final String KEY_USER_ID = "userId"; - @Autowired private AirflowConfigResolver airflowConfigResolver; @@ -209,7 +207,7 @@ public class WorkflowEngineServiceImpl implements IWorkflowEngineService { String workflowName = rq.getWorkflowName(); String runId = rq.getRunId(); String workflowId = rq.getWorkflowId(); - inputData.put(KEY_USER_ID, dpsHeaders.getUserId()); + LOGGER.info("Submitting ingestion with Airflow with dagName: {}", workflowName); ClientResponse response; AirflowConfig airflowConfig = getAirflowConfig(rq.isSystemWorkflow()); diff --git a/workflow-core/src/main/java/org/opengroup/osdu/workflow/service/WorkflowRunServiceImpl.java b/workflow-core/src/main/java/org/opengroup/osdu/workflow/service/WorkflowRunServiceImpl.java index dc8658c2..d9f19af9 100644 --- a/workflow-core/src/main/java/org/opengroup/osdu/workflow/service/WorkflowRunServiceImpl.java +++ b/workflow-core/src/main/java/org/opengroup/osdu/workflow/service/WorkflowRunServiceImpl.java @@ -55,6 +55,7 @@ public class WorkflowRunServiceImpl implements IWorkflowRunService { private static final String KEY_EXECUTION_CONTEXT = "execution_context"; private static final String KEY_AUTH_TOKEN = "authToken"; private static final String KEY_DAG_NAME = "dagName"; + private static final String KEY_USER_ID = "userId"; private static final Integer WORKFLOW_RUN_LIMIT = 100; private final IWorkflowMetadataRepository workflowMetadataRepository; @@ -227,12 +228,15 @@ public class WorkflowRunServiceImpl implements IWorkflowRunService { final String runId, final String correlationId, final TriggerWorkflowRequest request) { + final Map executionContext = request.getExecutionContext(); + executionContext.put(KEY_USER_ID, dpsHeaders.getUserId()); + final Map payload = new HashMap<>(); payload.put(KEY_RUN_ID, runId); payload.put(KEY_WORKFLOW_NAME, workflowName); payload.put(KEY_AUTH_TOKEN, dpsHeaders.getAuthorization()); payload.put(KEY_CORRELATION_ID, correlationId); - payload.put(KEY_EXECUTION_CONTEXT, OBJECT_MAPPER.convertValue(request.getExecutionContext(), Map.class)); + payload.put(KEY_EXECUTION_CONTEXT, OBJECT_MAPPER.convertValue(executionContext, Map.class)); return payload; } -- GitLab From c39397cb0a2c5718fc5b0d6a4b6ad9db5baafdd1 Mon Sep 17 00:00:00 2001 From: Harshit Aggarwal Date: Wed, 13 Jul 2022 21:10:43 +0530 Subject: [PATCH 3/3] fix UT --- .../workflow/services/WorkflowRunServiceTest.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/workflow-core/src/test/java/org/opengroup/osdu/workflow/services/WorkflowRunServiceTest.java b/workflow-core/src/test/java/org/opengroup/osdu/workflow/services/WorkflowRunServiceTest.java index 5e9e3d86..613ef830 100644 --- a/workflow-core/src/test/java/org/opengroup/osdu/workflow/services/WorkflowRunServiceTest.java +++ b/workflow-core/src/test/java/org/opengroup/osdu/workflow/services/WorkflowRunServiceTest.java @@ -62,6 +62,7 @@ public class WorkflowRunServiceTest { private static final String KEY_EXECUTION_CONTEXT = "execution_context"; private static final String KEY_WORKFLOW_NAME = "workflow_name"; private static final String KEY_CORRELATION_ID = "correlation_id"; + private static final String KEY_USER_ID = "userId"; private static final String AUTH_TOKEN = "Bearer Dummy"; private static final String WORKFLOW_NAME = "some-dag-name"; private static final String CORRELATION_ID = "some-correlation-id"; @@ -70,6 +71,7 @@ public class WorkflowRunServiceTest { private static final String TEST_CURSOR = "test-cursor"; private static final String EXECUTION_DATE = "2021-01-05T11:36:45+00:00"; private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + private static final String USER_ID = "dummy-user-id"; private static final String WORKFLOW_METADATA = "{\n" + " \"workflowId\": \"some-dag-name\",\n" + @@ -183,6 +185,8 @@ public class WorkflowRunServiceTest { when(dpsHeaders.getAuthorization()).thenReturn(AUTH_TOKEN); when(dpsHeaders.getUserEmail()).thenReturn(USER_EMAIL); when(dpsHeaders.getCorrelationId()).thenReturn(CORRELATION_ID); + when(dpsHeaders.getUserId()).thenReturn(USER_ID); + final ArgumentCaptor workflowRunArgumentCaptor = ArgumentCaptor .forClass(WorkflowRun.class); final WorkflowRun responseWorkflowRun = mock(WorkflowRun.class); @@ -208,6 +212,7 @@ public class WorkflowRunServiceTest { verify(dpsHeaders).getAuthorization(); verify(dpsHeaders).getUserEmail(); verify(dpsHeaders).getCorrelationId(); + verify(dpsHeaders).getUserId(); verify(statusPublisher).publishStatusWithNoErrors(any(), any(DpsHeaders.class), any(String.class), any(Status.class)); assertThat(returnedWorkflowRun, equalTo(buildWorkflowRunResponse(responseWorkflowRun))); assertThat(workflowRunArgumentCaptor.getValue().getRunId(), equalTo(RUN_ID)); @@ -237,6 +242,7 @@ public class WorkflowRunServiceTest { when(dpsHeaders.getAuthorization()).thenReturn(AUTH_TOKEN); when(dpsHeaders.getUserEmail()).thenReturn(USER_EMAIL); when(dpsHeaders.getCorrelationId()).thenReturn(CORRELATION_ID); + when(dpsHeaders.getUserId()).thenReturn(USER_ID); final ArgumentCaptor workflowRunArgumentCaptor = ArgumentCaptor .forClass(WorkflowRun.class); final WorkflowRun responseWorkflowRun = mock(WorkflowRun.class); @@ -304,6 +310,7 @@ public class WorkflowRunServiceTest { eq(createWorkflowPayload(RUN_ID, request))); when(dpsHeaders.getAuthorization()).thenReturn(AUTH_TOKEN); when(dpsHeaders.getCorrelationId()).thenReturn(CORRELATION_ID); + when(dpsHeaders.getUserId()).thenReturn(USER_ID); //when and then Assertions.assertThrows(CoreException.class, () -> { @@ -757,12 +764,15 @@ public class WorkflowRunServiceTest { private Map createWorkflowPayload(final String runId, final TriggerWorkflowRequest request) { final Map payload = new HashMap<>(); + final Map executionContext = request.getExecutionContext(); + executionContext.put(KEY_USER_ID, USER_ID); payload.put(KEY_RUN_ID, runId); payload.put(KEY_AUTH_TOKEN, AUTH_TOKEN); payload.put(KEY_EXECUTION_CONTEXT, - OBJECT_MAPPER.convertValue(request.getExecutionContext(), Map.class)); + OBJECT_MAPPER.convertValue(executionContext, Map.class)); payload.put(KEY_WORKFLOW_NAME, WORKFLOW_NAME); payload.put(KEY_CORRELATION_ID, CORRELATION_ID); + return payload; } -- GitLab