-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhw_3_postman_task.txt
168 lines (140 loc) · 4.91 KB
/
hw_3_postman_task.txt
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
ДЗ_3 Postman
=====
1) необходимо залогиниться
POST
http://162.55.220.72:5005/login
login : str (кроме /)
password : str
Приходящий токен необходимо передать во все остальные запросы.
===================
дальше все запросы требуют наличие токена.
===================
2) http://162.55.220.72:5005/user_info
req. (RAW JSON)
POST
age: int
salary: int
name: str
auth_token
resp.
{'start_qa_salary':salary,
'qa_salary_after_6_months': salary * 2,
'qa_salary_after_12_months': salary * 2.9,
'person': {'u_name':[user_name, salary, age],
'u_age':age,
'u_salary_1.5_year': salary * 4}
}
Тесты:
1) Статус код 200
2) Проверка структуры json в ответе.
3) В ответе указаны коэффициенты умножения salary, напишите тесты по проверке правильности результата перемножения на коэффициент.
4) Достать значение из поля 'u_salary_1.5_year' и передать в поле salary запроса http://162.55.220.72:5005/get_test_user
===================
3) http://162.55.220.72:5005/new_data
req.
POST
age: int
salary: int
name: str
auth_token
Resp.
{'name':name,
'age': int(age),
'salary': [salary, str(salary*2), str(salary*3)]}
Тесты:
1) Статус код 200
2) Проверка структуры json в ответе.
3) В ответе указаны коэффициенты умножения salary, напишите тесты по проверке правильности результата перемножения на коэффициент.
4) проверить, что 2-й элемент массива salary больше 1-го и 0-го
===================
4) http://162.55.220.72:5005/test_pet_info
req.
POST
age: int
weight: int
name: str
auth_token
Resp.
{'name': name,
'age': age,
'daily_food':weight * 0.012,
'daily_sleep': weight * 2.5}
Тесты:
1) Статус код 200
2) Проверка структуры json в ответе.
3) В ответе указаны коэффициенты умножения weight, напишите тесты по проверке правильности результата перемножения на коэффициент.
===================
5) http://162.55.220.72:5005/get_test_user
req.
POST
age: int
salary: int
name: str
auth_token
Resp.
{'name': name,
'age':age,
'salary': salary,
'family':{'children':[['Alex', 24],['Kate', 12]],
'u_salary_1.5_year': salary * 4}
}
Тесты:
1) Статус код 200
2) Проверка структуры json в ответе.
3) Проверить что занчение поля name = значению переменной name из окружения
4) Проверить что занчение поля age в ответе соответсвует отправленному в запросе значению поля age
===================
6) http://162.55.220.72:5005/currency
req.
POST
auth_token
Resp. Передаётся список массив объектов.
[
{"Cur_Abbreviation": str,
"Cur_ID": int,
"Cur_Name": str
}
…
{"Cur_Abbreviation": str,
"Cur_ID": int,
"Cur_Name": str
}
]
Тесты:
1) Можете взять любой объект из присланного списка, используйте js random.
В объекте возьмите Cur_ID и передать через окружение в следующий запрос.
===================
7) http://162.55.220.72:5005/curr_byn
req.
POST
auth_token
curr_code: int
Resp.
{
"Cur_Abbreviation": str
"Cur_ID": int,
"Cur_Name": str,
"Cur_OfficialRate": float,
"Cur_Scale": int,
"Date": str
}
Тесты:
1) Статус код 200
2) Проверка структуры json в ответе.
===============
***
1) получить список валют
2) итерировать список валют
3) в каждой итерации отправлять запрос на сервер для получения курса каждой валюты
4) если возвращается 500 код, переходим к следующей итреации
5) если получаем 200 код, проверяем response json на наличие поля "Cur_OfficialRate"
6) если поле есть, пишем в консоль инфу про валюту в виде response
{
"Cur_Abbreviation": str
"Cur_ID": int,
"Cur_Name": str,
"Cur_OfficialRate": float,
"Cur_Scale": int,
"Date": str
}
7) переходим к следующей итерации