dream

Форк
0
/
test_wiki_parser.py 
140 строк · 6.4 Кб
1
import os
2

3
import allure
4
import pytest
5
import requests
6

7

8
if os.getenv("LANGUAGE", "EN") == "RU":
9
    lang = "@ru"
10
else:
11
    lang = "@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")
72
def test_wiki_parser_en(url: str, request_data: dict, gold_results: list[dict]):
73
    response = requests.post(url, json=request_data)
74
    result = response.json()
75
    assert response.status_code == 200
76
    assert 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")
136
def test_wiki_parser_ru(url: str, request_data: dict, gold_results: list[dict]):
137
    response = requests.post(url, json=request_data)
138
    result = response.json()
139
    assert response.status_code == 200
140
    assert result == gold_results
141

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.