New paste Repaste Download
open_ai_mock = <MagicMock name='invoke' id='2429779920448'>, open_ai_agen_mock = <AsyncMock name='agenerate' id='2429779951280'>
mock_request = <MagicMock name='request' id='2429779941536'>, client = <FlaskClient <Flask 'app'>>, is_redraft = True, mock_response_key = 'non_hallucinated', callback_url = ''
create_scorecard_only = False, risk_model_id = ''
tokens = {'access_token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTcxNTI2NzY3MSwianRpIjoiZjNiN2VhZTA...NIZGZhWTdrc3VBOVpHT1NJRGZVc0g1dU1wN0xOVmdsaldNSlh0Q1FhT1I5c3JjQmRUTUE9In0.5JfBAJHa5IVax5DYac-rBdRdSFb_Lgh_Gm0zypCWbD8'}
work_flow_cache = {'contract_type': 'a5aaa5aef31143b18b12fa6aaef3c335', 'conversation_ids': {'CaseSummary': '93c90640-ea67-4d6b-ae39-c8c...e': 'Confidentiality', 'create_time': 1715267674, 'create_uid': 'd17408cdf7344a3088f376bb606d9d25', ...}, ...]}}}, ...}
    @pytest.mark.parametrize(
        "is_redraft,mock_response_key,callback_url,create_scorecard_only,risk_model_id",
        [
            (True, "non_hallucinated","",False,""),
            (False, "non_hallucinated","",False,""),
            (True, "hallucinated","",False,""),
            (False, "hallucinated","",False,""),
            (True, "non_hallucinated","https://callback_url",False,""),
            (True, "non_hallucinated","https://callback_url",False,"test"),
            (True, "non_hallucinated","https://callback_url",True,"test")
        ],
    )
    @mock.patch("utils.Redraft.redraft_utils.requests.request")
    @mock.patch("utils.LLM.model.ChatOpenAI.agenerate")
    @mock.patch("utils.LLM.model.ChatOpenAI.invoke")
    def test_redraft_remediation(
        open_ai_mock,
        open_ai_agen_mock,
        mock_request: mock.MagicMock,
        client: FlaskClient,
        is_redraft: bool,
        mock_response_key: str,
        callback_url: str,
        create_scorecard_only: bool,
        risk_model_id: str,
        tokens: Dict[str, str],
        work_flow_cache,
    ):
        token = tokens["access_token"]
        with open(
            Path(__file__).parent / "test_data/test_langchain_data.json", encoding="utf-8"
        ) as lang_fp:
            openai_sample = json.load(lang_fp)
            mock_open_ai = mock.MagicMock(name="__call__").return_value
            ai_common_response = json.dumps(openai_sample["redraft"][mock_response_key])
            mock_open_ai.content = ai_common_response
            open_ai_mock.return_value = mock_open_ai
            open_ai_agen_mock.return_value = mock.MagicMock(
                "Response",
                generations=[[mock.MagicMock(text=ai_common_response)]],
            )
            mock_request.return_value.status_code = 200
            conversation_id = "751e1a88-5a53-4162-8b91-be6c06b66935"
            project_id = work_flow_cache["projects"]["Document Redraft"]
            doc_id = work_flow_cache["doc_ids"]["Document Redraft"][0]
            function_id = work_flow_cache["functions"]["redline"]["platform"]["function_id"]
            result = client.post(
                path="/v1/stream_redraft_remediation",
                json={
                    "project_id": project_id,
                    "doc_id": doc_id,
                    "chat_model": {
                        "query": "Generate Redraft Recommendations",
                        "action": "ReDraftContract",
                        "conversation_id": conversation_id,
                    },
                    "dynamic_field": "ContractPodAi",
                    "is_redraft": is_redraft,
                    "function_id": function_id,
                    "callback_url": callback_url,
                    "create_scorecard_only": create_scorecard_only,
                    "risk_model_id": risk_model_id
                },
                headers={"Authorization": f"Bearer {token}"},
            )
>           assert result.status_code == 200
E           assert 500 == 200
E            +  where 500 = <WrapperTestResponse streamed [500 INTERNAL SERVER ERROR]>.status_code
tests\test_26_stream_redraft_remediation.py:177: AssertionError
Filename: None. Size: 4kb. View raw, , hex, or download this file.

This paste expires on 2024-05-16 15:16:17.746366. Pasted through deprecated-web.