| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import json
- import importlib.util
- from pathlib import Path
- import unittest
- from types import SimpleNamespace
- from models.report import ReportCompleteFlowRequest
- REPORT_COMPAT_PATH = Path(__file__).resolve().parents[1] / "routers" / "report_compat.py"
- spec = importlib.util.spec_from_file_location("report_compat_under_test", REPORT_COMPAT_PATH)
- report_compat = importlib.util.module_from_spec(spec)
- spec.loader.exec_module(report_compat)
- class ReportCompatProxyBodyTests(unittest.TestCase):
- def _request(self, user_id=70430):
- return SimpleNamespace(state=SimpleNamespace(user=SimpleNamespace(user_id=user_id)))
- def _payload_for(self, ai_conversation_id, request_user_id=70430, payload_user_id=None):
- request_data = ReportCompleteFlowRequest(
- user_question="history save regression",
- ai_conversation_id=ai_conversation_id,
- user_id=payload_user_id,
- )
- body = report_compat._build_aichat_complete_flow_body(
- request_data,
- self._request(user_id=request_user_id),
- )
- return json.loads(body.decode("utf-8"))
- def test_new_conversation_is_forwarded_as_zero(self):
- payload = self._payload_for(0)
- self.assertEqual(payload["ai_conversation_id"], 0)
- def test_missing_conversation_id_is_forwarded_as_zero(self):
- payload = self._payload_for(None)
- self.assertEqual(payload["ai_conversation_id"], 0)
- def test_existing_conversation_id_is_preserved(self):
- payload = self._payload_for(12345)
- self.assertEqual(payload["ai_conversation_id"], 12345)
- def test_request_user_id_is_forwarded_to_aichat(self):
- payload = self._payload_for(0, request_user_id=70430)
- self.assertEqual(payload["user_id"], 70430)
- def test_payload_user_id_takes_precedence(self):
- payload = self._payload_for(0, request_user_id=70430, payload_user_id=88)
- self.assertEqual(payload["user_id"], 88)
- if __name__ == "__main__":
- unittest.main()
|