Skip to content

Commit dd22799

Browse files
author
Alan Christie
committed
feat: Running workflows now expect a user ID
1 parent 6a6aa4a commit dd22799

File tree

5 files changed

+30
-5
lines changed

5 files changed

+30
-5
lines changed

tests/api_adapter.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,14 @@ def get_workflow_by_name(self, *, name: str, version: str) -> Dict[str, Any]:
9999
return item
100100

101101
def create_running_workflow(
102-
self, *, workflow_id: str, project_id: str, variables: Dict[str, Any]
102+
self,
103+
*,
104+
user_id: str,
105+
workflow_id: str,
106+
project_id: str,
107+
variables: Dict[str, Any],
103108
) -> str:
109+
assert user_id
104110
assert isinstance(variables, dict)
105111

106112
UnitTestAPIAdapter.lock.acquire()
@@ -110,6 +116,7 @@ def create_running_workflow(
110116
next_id: int = len(running_workflow) + 1
111117
running_workflow_id: str = _RUNNING_WORKFLOW_ID_FORMAT.format(id=next_id)
112118
record = {
119+
"user_id": user_id,
113120
"done": False,
114121
"success": False,
115122
"workflow": workflow_id,

tests/test_test_api_adapter.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ def test_create_running_workflow():
7676

7777
# Act
7878
response = utaa.create_running_workflow(
79+
user_id="dlister",
7980
workflow_id=response["id"],
8081
project_id=TEST_PROJECT_ID,
8182
variables={"x": 1},
@@ -91,6 +92,7 @@ def test_get_running_workflow():
9192
response = utaa.create_workflow(workflow_definition={"name": "blah"})
9293
wfid = response["id"]
9394
response = utaa.create_running_workflow(
95+
user_id="dlister",
9496
workflow_id=wfid,
9597
project_id=TEST_PROJECT_ID,
9698
variables={"x": 1},
@@ -112,6 +114,7 @@ def test_set_running_workflow_done_when_success():
112114
utaa = UnitTestAPIAdapter()
113115
response = utaa.create_workflow(workflow_definition={"name": "blah"})
114116
response = utaa.create_running_workflow(
117+
user_id="dlister",
115118
workflow_id=response["id"],
116119
project_id=TEST_PROJECT_ID,
117120
variables={},
@@ -132,6 +135,7 @@ def test_set_running_workflow_done_when_failed():
132135
utaa = UnitTestAPIAdapter()
133136
response = utaa.create_workflow(workflow_definition={"name": "blah"})
134137
response = utaa.create_running_workflow(
138+
user_id="dlister",
135139
workflow_id=response["id"],
136140
project_id=TEST_PROJECT_ID,
137141
variables={},
@@ -152,6 +156,7 @@ def test_create_running_workflow_step():
152156
utaa = UnitTestAPIAdapter()
153157
response = utaa.create_workflow(workflow_definition={"name": "blah"})
154158
response = utaa.create_running_workflow(
159+
user_id="dlister",
155160
workflow_id=response["id"],
156161
project_id=TEST_PROJECT_ID,
157162
variables={},
@@ -172,6 +177,7 @@ def test_get_running_workflow_step():
172177
response = utaa.create_workflow(workflow_definition={"name": "blah"})
173178
wfid = response["id"]
174179
response = utaa.create_running_workflow(
180+
user_id="dlister",
175181
workflow_id=wfid,
176182
project_id=TEST_PROJECT_ID,
177183
variables={},
@@ -198,6 +204,7 @@ def test_get_running_workflow_steps():
198204
response = utaa.create_workflow(workflow_definition={"name": "blah"})
199205
wfid = response["id"]
200206
response = utaa.create_running_workflow(
207+
user_id="dlister",
201208
workflow_id=wfid,
202209
project_id=TEST_PROJECT_ID,
203210
variables={},

tests/test_test_instance_launcher.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ def test_launch_nop(basic_launcher):
2828
utaa = basic_launcher[0]
2929
launcher = basic_launcher[1]
3030
response = utaa.create_workflow(workflow_definition={"name": "blah"})
31+
rwfid = response["id"]
3132
response = utaa.create_running_workflow(
33+
user_id="dlister",
3234
workflow_id=response["id"],
3335
project_id=TEST_PROJECT_ID,
3436
variables={},
@@ -41,7 +43,7 @@ def test_launch_nop(basic_launcher):
4143
# Act
4244
result = launcher.launch(
4345
project_id=TEST_PROJECT_ID,
44-
running_workflow_id="r-workflow-00000000-0000-0000-0000-000000000001",
46+
running_workflow_id=rwfid,
4547
running_workflow_step_id=rwfsid,
4648
step_specification=json.dumps(
4749
{"collection": "workflow-engine-unit-test-jobs", "job": "nop"}
@@ -61,10 +63,12 @@ def test_launch_nop_fail(basic_launcher):
6163
launcher = basic_launcher[1]
6264
response = utaa.create_workflow(workflow_definition={"name": "blah"})
6365
response = utaa.create_running_workflow(
66+
user_id="dlister",
6467
workflow_id=response["id"],
6568
project_id=TEST_PROJECT_ID,
6669
variables={},
6770
)
71+
rwfid = response["id"]
6872
response = utaa.create_running_workflow_step(
6973
running_workflow_id=response["id"], step="step-1"
7074
)
@@ -73,7 +77,7 @@ def test_launch_nop_fail(basic_launcher):
7377
# Act
7478
result = launcher.launch(
7579
project_id=TEST_PROJECT_ID,
76-
running_workflow_id="r-workflow-00000000-0000-0000-0000-000000000001",
80+
running_workflow_id=rwfid,
7781
running_workflow_step_id=rwfsid,
7882
step_specification=json.dumps(
7983
{"collection": "workflow-engine-unit-test-jobs", "job": "nop-fail"}
@@ -93,10 +97,12 @@ def test_launch_smiles_to_file(basic_launcher):
9397
launcher = basic_launcher[1]
9498
response = utaa.create_workflow(workflow_definition={"name": "blah"})
9599
response = utaa.create_running_workflow(
100+
user_id="dlister",
96101
workflow_id=response["id"],
97102
project_id=TEST_PROJECT_ID,
98103
variables={},
99104
)
105+
rwfid = response["id"]
100106
response = utaa.create_running_workflow_step(
101107
running_workflow_id=response["id"], step="step-1"
102108
)
@@ -105,7 +111,7 @@ def test_launch_smiles_to_file(basic_launcher):
105111
# Act
106112
result = launcher.launch(
107113
project_id=TEST_PROJECT_ID,
108-
running_workflow_id="r-workflow-00000000-0000-0000-0000-000000000001",
114+
running_workflow_id=rwfid,
109115
running_workflow_step_id=rwfsid,
110116
step_specification=json.dumps(
111117
{

tests/test_workflow_engine_examples.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@ def start_workflow(md, da, workflow_file_name, variables) -> str:
6868
print(f"Created workflow definition {wfid}")
6969
# 2.
7070
response = da.create_running_workflow(
71-
workflow_id=wfid, project_id=TEST_PROJECT_ID, variables=variables
71+
user_id="dlister",
72+
workflow_id=wfid,
73+
project_id=TEST_PROJECT_ID,
74+
variables=variables,
7275
)
7376
r_wfid = response["id"]
7477
assert r_wfid

workflow/workflow_abc.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ def create_running_workflow(
9898
workflow_id: str,
9999
project_id: str,
100100
variables: Dict[str, Any],
101+
user_id: str,
101102
) -> Dict[str, Any]:
102103
"""Create a RunningWorkflow Record (from a Workflow)"""
103104
# Should return:
@@ -117,6 +118,7 @@ def get_running_workflow(self, *, running_workflow_id: str) -> Dict[str, Any]:
117118
# Should return:
118119
# {
119120
# "running_workflow": {
121+
# "user_id": "alan",
120122
# "done": False,
121123
# "success": false,
122124
# "workflow": {"id": "workflow-000"},

0 commit comments

Comments
 (0)