dify/api/tests/unit_tests/services/test_red_blue_service.py
Joey Yakimowich-Payne 6038fc25f5
Add multi-site Caddy helpers and document usage
- add startup/shutdown scripts that render a Caddyfile from JSON config and run health checks

- add Python utilities and a sample sites.json for declarative multi-site configuration

- document the workflow and ignore generated Caddy state artifacts

- normalize double-quote style across challenge workflow controllers, nodes, and tests
2025-10-15 22:03:56 -06:00

30 lines
945 B
Python

from __future__ import annotations
from types import SimpleNamespace
from services.red_blue_service import RedBlueService
def test_submit_prompt_creates_submission(mocker):
session = mocker.MagicMock()
sub = RedBlueService.submit_prompt(
challenge_id="cid",
tenant_id="tid",
team="red",
prompt="attack",
account_id="aid",
end_user_id="eid",
session=session,
)
assert sub.team == "red"
session.add.assert_called_once()
session.commit.assert_called_once()
def test_select_counterparty_submission_latest_active(mocker):
c = SimpleNamespace(id="cid")
session = mocker.MagicMock()
qs = session.query.return_value.filter.return_value.order_by.return_value
qs.first.return_value = SimpleNamespace(id="subid", team="blue")
sub = RedBlueService.select_counterparty_submission(challenge=c, team="red", session=session)
assert sub.team == "blue"