upload
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from uuid import uuid4
|
||||
|
||||
from app.api.executions.get_execution import _build_step_run_response
|
||||
from app.models.execution import ExecutionStepRun, ExecutionStepStatus
|
||||
|
||||
|
||||
def _build_step_run(
|
||||
*,
|
||||
request_snapshot,
|
||||
response_snapshot,
|
||||
) -> ExecutionStepRun:
|
||||
now = datetime.now(timezone.utc)
|
||||
step_run = ExecutionStepRun(
|
||||
run_id=uuid4(),
|
||||
step=1,
|
||||
status=ExecutionStepStatus.SUCCEEDED,
|
||||
)
|
||||
step_run.name = "Step 1"
|
||||
step_run.request_snapshot = request_snapshot
|
||||
step_run.response_snapshot = response_snapshot
|
||||
step_run.created_at = now
|
||||
step_run.updated_at = now
|
||||
return step_run
|
||||
|
||||
|
||||
def test_build_step_run_response_for_post_sets_accepted_and_output_payloads():
|
||||
step_run = _build_step_run(
|
||||
request_snapshot={
|
||||
"method": "post",
|
||||
"json_body": {"subject": "Hi", "message": "Hello"},
|
||||
},
|
||||
response_snapshot={
|
||||
"status_code": 200,
|
||||
"body": {"sent": 1},
|
||||
},
|
||||
)
|
||||
|
||||
response = _build_step_run_response(step_run)
|
||||
|
||||
assert response.method == "POST"
|
||||
assert response.status_code == 200
|
||||
assert response.accepted_payload == {"subject": "Hi", "message": "Hello"}
|
||||
assert response.output_payload == {"sent": 1}
|
||||
|
||||
|
||||
def test_build_step_run_response_for_get_keeps_accepted_payload_none():
|
||||
step_run = _build_step_run(
|
||||
request_snapshot={
|
||||
"method": "GET",
|
||||
"query_params": {"limit": 20},
|
||||
},
|
||||
response_snapshot={
|
||||
"status_code": "204",
|
||||
"body": "",
|
||||
},
|
||||
)
|
||||
|
||||
response = _build_step_run_response(step_run)
|
||||
|
||||
assert response.method == "GET"
|
||||
assert response.status_code == 204
|
||||
assert response.accepted_payload is None
|
||||
assert response.output_payload == ""
|
||||
|
||||
|
||||
def test_build_step_run_response_handles_missing_snapshots():
|
||||
step_run = _build_step_run(
|
||||
request_snapshot=None,
|
||||
response_snapshot=None,
|
||||
)
|
||||
|
||||
response = _build_step_run_response(step_run)
|
||||
|
||||
assert response.method is None
|
||||
assert response.status_code is None
|
||||
assert response.accepted_payload is None
|
||||
assert response.output_payload is None
|
||||
Reference in New Issue
Block a user