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