-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtechtask.txt
More file actions
61 lines (59 loc) · 2.64 KB
/
techtask.txt
File metadata and controls
61 lines (59 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Тестовое задание
Automation QA Engineer
Оформление: GitLab/Bitbucket/GitHub проект
Задание 1
Есть пакет REQ (реквест) и его ожидаемая репрезентация RESP(респонс)
Задача:
Используя asyncio cоздать клиент и сервер.
Клиент:
1) Шлёт реквест
2)Ожидает респонс от сервера
Сервер:
1)Ожидает любой входящий пакет и превращает его в ожидаемую репрезентацию
2)Ожидает случайный таймаут от 1 до 5 секунд
3)Реквесты принимаются и обрабатываются асинхронно.
Это значит, что если клиент ~одновременно отправит два реквеста на которые выпадает
таймаут 2 и 3 секунды соответственно то первый респонс будет получен спустя ~2
секунды после отправки, а второй спустя ~3
&& - разделитель параметров
%% - разделитель сущностей
Формат пакета JSON:
Пакет содержит:
request_id - уникальный идентификатор реквеста
Data - поле с данными которые нужно конвертить в ожидаемый формат
Структура data
{Entity_name}&&{param1name}&&{param1value}&&{param2name}&&{param2value}...%%{En
tity_name}...
Пустые элементы не должны входить в конечный результат
Пример:
Формат: JSON с полями request_id и data
REQ =
{
"request_id":"01",
"data":"Hub&&name&&qwe&&id&&123&&%%Device&&name&&wqe&&id&&234&&"
}
RESP =
{
'request_id': '01',
'data': {
'Hub': {'name': 'qwe',
'id': '123'},
'Device': {'name': 'wqe',
'id': '234'}
}
}
Задание 2
1. Написать функцию, которая конвертирует Decimal Degrees (DD) формат координат
в Degrees Decimal Minutes (DDM) формат координат
2. С помощью pytest написать параметризированный тест, который принимает на
вход значение в DD формате и ожидаемое значение в DDM формате
Пример:
def test_cordinates(given_dd, expected_ddm)
Тест дата для параметризации:
TEST_DATA_LONGITUDE = [(-180, "180^0W"),
(-180.0, "180^0W"),
(-13.912, "13^54.72W"),
(0, "0^0E"),
(180.0, "180^0E"),
(180, "180^0E"),
(170.0323, "170^1.938E")]