dream
140 строк · 6.4 Кб
1import os
2
3import allure
4import pytest
5import requests
6
7
8if os.getenv("LANGUAGE", "EN") == "RU":
9lang = "@ru"
10else:
11lang = "@en"
12
13
14@allure.description("""Test parsing en wiki""")
15@pytest.mark.parametrize(
16"request_data, gold_results",
17[
18(
19{
20"parser_info": ["find_top_triplets"],
21"query": [[{"entity_substr": "Jurgen Schmidhuber", "entity_ids": ["Q92735"]}]],
22},
23[
24{
25"animals_skill_entities_info": {},
26"entities_info": {
27"Jurgen Schmidhuber": {
28"age": 60,
29"conf": 1.0,
30"country of sitizenship": [["Q183", "Germany"]],
31"date of birth": [['"+1963-01-17^^T"', "17 January 1963"]],
32"entity_label": "Jürgen Schmidhuber",
33"instance of": [["Q5", "human"]],
34"occupation": [
35["Q15976092", "artificial intelligence researcher"],
36["Q1622272", "university teacher"],
37["Q1650915", "researcher"],
38["Q82594", "computer scientist"],
39],
40"plain_entity": "Q92735",
41"pos": 0,
42"token_conf": 1.0,
43"types_2hop": [
44["Q12737077", "occupation"],
45["Q14565186", "cognitive scientist"],
46["Q15976092", "artificial intelligence researcher"],
47["Q15980158", "non-fiction writer"],
48["Q1622272", "university teacher"],
49["Q1650915", "researcher"],
50["Q28640", "profession"],
51["Q3400985", "academic"],
52["Q37226", "teacher"],
53["Q4164871", "position"],
54["Q5", "human"],
55["Q5157565", "computer professional"],
56["Q5428874", "faculty member"],
57["Q66666607", "academic profession"],
58["Q66666685", "academic professional"],
59["Q82594", "computer scientist"],
60],
61}
62},
63"topic_skill_entities_info": {},
64"utt_num": 0,
65"wiki_skill_entities_info": {},
66}
67],
68)
69],
70)
71@pytest.mark.skipif(lang="@ru")
72def test_wiki_parser_en(url: str, request_data: dict, gold_results: list[dict]):
73response = requests.post(url, json=request_data)
74result = response.json()
75assert response.status_code == 200
76assert result == gold_results
77
78
79@allure.description("""Test parsing ru wiki""")
80@pytest.mark.parametrize(
81"request_data, gold_results",
82[
83(
84{
85"parser_info": ["find_top_triplets"],
86"query": [[{"entity_substr": "Юрген Шмидхубер", "entity_ids": ["Q92735"]}]],
87},
88[
89{
90"animals_skill_entities_info": {},
91"entities_info": {
92"Юрген Шмидхубер": {
93"age": 60,
94"conf": 1.0,
95"country of sitizenship": [["Q183", "Германия"]],
96"date of birth": [['"+1963-01-17^^T"', "17 January 1963"]],
97"entity_label": "Шмидхубер, Юрген",
98"instance of": [["Q5", "человек"]],
99"occupation": [
100["Q15976092", "исследователь искусственного интеллекта"],
101["Q1622272", "преподаватель университета"],
102["Q1650915", "исследователь"],
103["Q82594", "специалист в области информатики"],
104],
105"plain_entity": "Q92735",
106"pos": 0,
107"token_conf": 1.0,
108"types_2hop": [
109["Q12737077", "род занятий"],
110["Q15976092", "исследователь искусственного интеллекта"],
111["Q15980158", "писатель-документалист"],
112["Q1622272", "преподаватель университета"],
113["Q1650915", "исследователь"],
114["Q28640", "профессия"],
115["Q3400985", "научно-педагогический работник"],
116["Q37226", "учитель"],
117["Q4164871", "должность"],
118["Q5", "человек"],
119["Q5157565", "профессия в ИТ"],
120["Q5428874", "преподаватель"],
121["Q66666607", "академическая профессия"],
122["Q66666685", "академический профессионал"],
123["Q82594", "специалист в области информатики"],
124],
125}
126},
127"topic_skill_entities_info": {},
128"utt_num": 0,
129"wiki_skill_entities_info": {},
130}
131],
132)
133],
134)
135@pytest.mark.skipif(lang="@en")
136def test_wiki_parser_ru(url: str, request_data: dict, gold_results: list[dict]):
137response = requests.post(url, json=request_data)
138result = response.json()
139assert response.status_code == 200
140assert result == gold_results
141