Repository navigation
Expand file tree
/
Copy pathtest_api.sh
More file actions
executable file
·86 lines (75 loc) · 2.51 KB
/
Copy pathtest_api.sh
File metadata and controls
executable file
·86 lines (75 loc) · 2.51 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
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
#!/bin/bash
API_URL="${1:-http://localhost:8080}"
echo "================================"
echo "Тестирование API вакансий"
echo "URL: $API_URL"
echo "================================"
echo ""
echo "1. Тест: Получение списка вакансий"
echo "GET $API_URL/vacancy"
echo ""
curl -s -X GET "$API_URL/vacancy" | python3 -m json.tool
echo ""
echo "---"
echo ""
echo "2. Тест: Получение списка вакансий с сортировкой по зарплате (убывание)"
echo "GET $API_URL/vacancy?sort=salary&order=desc"
echo ""
curl -s -X GET "$API_URL/vacancy?sort=salary&order=desc" | python3 -m json.tool
echo ""
echo "---"
echo ""
echo "3. Тест: Получение списка вакансий (страница 2)"
echo "GET $API_URL/vacancy?page=2"
echo ""
curl -s -X GET "$API_URL/vacancy?page=2" | python3 -m json.tool
echo ""
echo "---"
echo ""
echo "4. Тест: Создание новой вакансии"
echo "POST $API_URL/vacancy"
echo ""
RESPONSE=$(curl -s -X POST "$API_URL/vacancy" \
-H "Content-Type: application/json" \
-d '{
"title": "Test Vacancy",
"description": "Тестовая вакансия для проверки API",
"salary": 100000,
"additional_fields": {
"company": "Test Company",
"location": "Test Location"
}
}')
echo "$RESPONSE" | python3 -m json.tool
VACANCY_ID=$(echo "$RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin).get('id', 1))" 2>/dev/null)
echo ""
echo "---"
echo ""
echo "5. Тест: Получение конкретной вакансии (ID: $VACANCY_ID)"
echo "GET $API_URL/vacancy/$VACANCY_ID"
echo ""
curl -s -X GET "$API_URL/vacancy/$VACANCY_ID" | python3 -m json.tool
echo ""
echo "---"
echo ""
echo "6. Тест: Получение вакансии с выбранными полями"
echo "GET $API_URL/vacancy/$VACANCY_ID?fields=title,salary"
echo ""
curl -s -X GET "$API_URL/vacancy/$VACANCY_ID?fields=title,salary" | python3 -m json.tool
echo ""
echo "---"
echo ""
echo "7. Тест: Создание вакансии с ошибкой валидации (отсутствует обязательное поле)"
echo "POST $API_URL/vacancy"
echo ""
curl -s -X POST "$API_URL/vacancy" \
-H "Content-Type: application/json" \
-d '{
"title": "Invalid Vacancy"
}' | python3 -m json.tool
echo ""
echo "---"
echo ""
echo "================================"
echo "Тестирование завершено"
echo "================================"