dream
39 строк · 1.3 Кб
1import requests2import os3
4import common.test_utils as test_utils5
6
7SERVICE_PORT = int(os.getenv("SERVICE_PORT"))8RANDOM_SEED = int(os.getenv("RANDOM_SEED", 2718))9LANGUAGE = os.getenv("LANGUAGE", "EN")10URL = f"http://0.0.0.0:{SERVICE_PORT}/respond"11
12
13def handler(requested_data, random_seed):14hypothesis = requests.post(URL, json={**requested_data, "random_seed": random_seed}).json()15return hypothesis16
17
18def run_test(handler):19in_data, out_data = test_utils.get_dataset()20for test_name in in_data:21if LANGUAGE == "RU" and "RU" not in test_name:22# if russian language, skip english tests23continue24elif LANGUAGE == "EN" and "RU" in test_name:25continue26hypothesis = handler(in_data[test_name], RANDOM_SEED)27print(f"test name: {test_name}")28is_equal_flag, msg = test_utils.compare_structs(out_data[test_name], hypothesis, ignored_keys=["id"])29if msg and len(msg.split("`")) == 5:30_, ground_truth_text, _, hypothesis_text, _ = msg.split("`")31is_equal_flag, ratio = test_utils.compare_text(ground_truth_text, hypothesis_text, 0.80)32if not is_equal_flag:33msg = f"{msg} ratio = {ratio}"34assert is_equal_flag, msg35print("Success")36
37
38if __name__ == "__main__":39run_test(handler)40