def run_test_case()

in dialogflow-cx/dialogflow_sample.py [0:0]


    def run_test_case(self, test_case, expected_session_parameters):
        """Runs a test case using TestCases API."""
        lro = self.test_cases_client.run_test_case(
            request=cx.RunTestCaseRequest(name=test_case.name)
        )
        while lro.running():
            time.sleep(0.1)
        result = lro.result().result
        agent_response_differences = [
            conversation_turn.virtual_agent_output.differences
            for conversation_turn in result.conversation_turns
        ]

        if any(agent_response_differences):
            raise UnexpectedResponseFailure(agent_response_differences)

        final_session_parameters = []
        for conversation_turn in result.conversation_turns:
            if conversation_turn.virtual_agent_output.session_parameters:
                final_session_parameters.append(
                    dict(conversation_turn.virtual_agent_output.session_parameters)
                )
            else:
                final_session_parameters.append({})

        if expected_session_parameters != final_session_parameters:
            raise SessionParametersFailure(
                f"{expected_session_parameters!r} != {final_session_parameters!r}"
            )

        if result.test_result != cx.TestResult.PASSED:
            raise TestCaseFailure