Skip to content

Commit bca60f1

Browse files
committed
tests: status
1 parent 8bcc152 commit bca60f1

File tree

2 files changed

+31
-7
lines changed

2 files changed

+31
-7
lines changed

skydriver/rest_handlers.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
is_testing,
4040
)
4141
from .database import schema
42+
from .database.schema import PENDING_EWMS_WORKFLOW
4243
from .ewms import request_stop_on_ewms
4344
from .k8s.scan_backlog import put_on_backlog
4445
from .k8s.scanner_instance import SkyScanK8sJobFactory
@@ -1046,14 +1047,21 @@ async def get(self, scan_id: str) -> None:
10461047
pods_411["pod_message"] = "pod(s) not found"
10471048
LOGGER.exception(e)
10481049

1049-
# respond
1050+
# scan state
10501051
scan_state = await get_scan_state(manifest, self.ewms_rc)
1051-
if manifest.ewms_workflow_id:
1052+
1053+
# ewms
1054+
if (
1055+
manifest.ewms_workflow_id
1056+
and manifest.ewms_workflow_id != PENDING_EWMS_WORKFLOW
1057+
):
10521058
clusters = await ewms.get_taskforce_phases(
10531059
self.ewms_rc, manifest.ewms_workflow_id
10541060
)
10551061
else:
10561062
clusters = []
1063+
1064+
# respond
10571065
resp = {
10581066
"scan_state": scan_state,
10591067
"is_deleted": manifest.is_deleted,

tests/integration/dummy_ewms.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
app = Flask(__name__)
1111

12-
DONT_CALL_IT_A_DB: dict[str, Any] = {}
12+
DONT_CALL_IT_A_DB__WORKFLOWS: dict[str, Any] = {}
1313

1414

1515
@app.route("/v0/workflows", methods=["POST"])
@@ -28,7 +28,7 @@ def dummy_workflows_post():
2828
# add more fields only if needed in tests--keep things simple
2929
}
3030

31-
DONT_CALL_IT_A_DB[workflow_id] = minimal_wf_doc
31+
DONT_CALL_IT_A_DB__WORKFLOWS[workflow_id] = minimal_wf_doc
3232

3333
return jsonify(
3434
{
@@ -39,21 +39,37 @@ def dummy_workflows_post():
3939

4040
@app.route("/v0/workflows/<workflow_id>", methods=["GET"])
4141
def dummy_workflows_get(workflow_id: str):
42-
return jsonify(DONT_CALL_IT_A_DB[workflow_id])
42+
return jsonify(DONT_CALL_IT_A_DB__WORKFLOWS[workflow_id])
4343

4444

4545
@app.route("/v0/workflows/<workflow_id>/actions/abort", methods=["POST"])
4646
def dummy_workflows_abort(workflow_id: str):
47-
DONT_CALL_IT_A_DB[workflow_id].update({"deactivated": "abort"})
47+
DONT_CALL_IT_A_DB__WORKFLOWS[workflow_id].update({"deactivated": "abort"})
4848
return jsonify({})
4949

5050

5151
@app.route("/v0/workflows/<workflow_id>/actions/finished", methods=["POST"])
5252
def dummy_workflows_finished(workflow_id: str):
53-
DONT_CALL_IT_A_DB[workflow_id].update({"deactivated": "finished"})
53+
DONT_CALL_IT_A_DB__WORKFLOWS[workflow_id].update({"deactivated": "finished"})
5454
return jsonify({})
5555

5656

57+
@app.route("/v0/query/taskforces", methods=["POST"])
58+
def dummy_query_taskforces():
59+
workflow_id = request.get_json("workflow_id")
60+
61+
# respond with correctly-syntaxed gibberish
62+
resp = {
63+
"taskforces": [
64+
{
65+
"taskforce": f"TF-{workflow_id}",
66+
"phase": "the-best-phase-ever",
67+
}
68+
]
69+
}
70+
return jsonify(resp)
71+
72+
5773
if __name__ == "__main__":
5874
app.run(
5975
debug=True,

0 commit comments

Comments
 (0)