@@ -14,46 +14,69 @@ Gonkey протестирует ваши сервисы, используя их
14
14
15
15
## Содержание
16
16
17
- - [ Использование консольной утилиты] ( #использование-консольной-утилиты )
18
- - [ Использование gonkey как библиотеки] ( #использование-gonkey-как-библиотеки )
19
- - [ Пример тестового сценария] ( #пример-тестового-сценария )
20
- - [ Статус теста] ( #статус-теста )
21
- - [ HTTP-запрос] ( #http-запрос )
22
- - [ HTTP-ответ] ( #http-ответ )
23
- - [ Переменные] ( #переменные )
24
- - [ Способы присвоения] ( #способы-присвоения )
25
- - [ В описании самого теста] ( #в-описании-самого-теста )
26
- - [ Из результатов предыдущего запроса] ( #из-результатов-предыдущего-запроса )
27
- - [ Из результата текущего запроса] ( #из-результата-текущего-запроса )
28
- - [ В переменных окружения или в env-файле] ( #в-переменных-окружения-или-в-env-файле )
29
- - [ В cases] ( #в-cases )
30
- - [ Загрузка файлов] ( #загрузка-файлов )
31
- - [ Фикстуры] ( #фикстуры )
32
- - [ Удаление данных из таблиц] ( #удаление-данных-из-таблиц )
33
- - [ Шаблоны записей] ( #шаблоны-записей )
34
- - [ Наследование записей] ( #наследование-записей )
35
- - [ Связывание записей] ( #связывание-записей )
36
- - [ Выражения] ( #выражения )
37
- - [ Aerospike] ( #aerospike )
38
- - [ Redis] ( #redis )
39
- - [ Моки] ( #моки )
40
- - [ Запуск моков при использовании gonkey как библиотеки] ( #запуск-моков-при-использовании-gonkey-как-библиотеки )
41
- - [ Описание моков в файле с тестом] ( #описание-моков-в-файле-с-тестом )
42
- - [ Проверки запросов (requestConstraints)] ( #проверки-запросов-requestconstraints )
43
- - [ Стратегии ответов (strategy)] ( #стратегии-ответов-strategy )
44
- - [ Подсчет количества вызовов] ( #подсчет-количества-вызовов )
45
- - [ Использование shell скриптов] ( #использование-shell-скриптов )
46
- - [ Описание скрипта] ( #описание-скрипта )
47
- - [ Запуск скрипта с параметризацией] ( #запуск-скрипта-с-параметризацией )
48
- - [ Запрос в Базу данных] ( #запрос-в-базу-данных )
49
- - [ Формат описания запросов] ( #формат-описания-запросов )
50
- - [ Описание запроса] ( #описание-запроса )
51
- - [ Описание ответа на запрос в Базу данных] ( #описание-ответа-на-запрос-в-базу-данных )
52
- - [ Параметризация при запросах в Базу данных] ( #параметризация-при-запросах-в-базу-данных )
53
- - [ Игнорирование порядка записей в ответе на запрос в базу данных] ( #игнорирование-порядка-записей-в-ответе-на-запрос-в-базу-данных )
54
- - [ JSON-schema] ( #json-schema )
55
- - [ Настройка на IDE Jetbrains] ( #настройка-на-ide-jetbrains )
56
- - [ Настройка на IDE VSCode] ( #настройка-на-ide-vscode )
17
+ - [ Gonkey: инструмент автоматизации тестирования] ( #gonkey-инструмент-автоматизации-тестирования )
18
+ - [ Содержание] ( #содержание )
19
+ - [ Использование консольной утилиты] ( #использование-консольной-утилиты )
20
+ - [ Использование gonkey как библиотеки] ( #использование-gonkey-как-библиотеки )
21
+ - [ Пример тестового сценария] ( #пример-тестового-сценария )
22
+ - [ Статус теста] ( #статус-теста )
23
+ - [ HTTP-запрос] ( #http-запрос )
24
+ - [ HTTP-ответ] ( #http-ответ )
25
+ - [ Переменные] ( #переменные )
26
+ - [ Способы присвоения] ( #способы-присвоения )
27
+ - [ В описании самого теста] ( #в-описании-самого-теста )
28
+ - [ Из результатов предыдущего запроса] ( #из-результатов-предыдущего-запроса )
29
+ - [ Из результата текущего запроса] ( #из-результата-текущего-запроса )
30
+ - [ В переменных окружения или в env-файле] ( #в-переменных-окружения-или-в-env-файле )
31
+ - [ В cases] ( #в-cases )
32
+ - [ Запросы с multipart/form-data] ( #запросы-с-multipartform-data )
33
+ - [ Данные полей формы] ( #данные-полей-формы )
34
+ - [ Загрузка файлов] ( #загрузка-файлов )
35
+ - [ Фикстуры] ( #фикстуры )
36
+ - [ Удаление данных из таблиц] ( #удаление-данных-из-таблиц )
37
+ - [ Шаблоны записей] ( #шаблоны-записей )
38
+ - [ Наследование записей] ( #наследование-записей )
39
+ - [ Связывание записей] ( #связывание-записей )
40
+ - [ Выражения] ( #выражения )
41
+ - [ Aerospike] ( #aerospike )
42
+ - [ Redis] ( #redis )
43
+ - [ Моки] ( #моки )
44
+ - [ Запуск моков при использовании gonkey как библиотеки] ( #запуск-моков-при-использовании-gonkey-как-библиотеки )
45
+ - [ Описание моков в файле с тестом] ( #описание-моков-в-файле-с-тестом )
46
+ - [ Проверки запросов (requestConstraints)] ( #проверки-запросов-requestconstraints )
47
+ - [ nop] ( #nop )
48
+ - [ bodyMatchesJSON] ( #bodymatchesjson )
49
+ - [ bodyJSONFieldMatchesJSON] ( #bodyjsonfieldmatchesjson )
50
+ - [ pathMatches] ( #pathmatches )
51
+ - [ queryMatches] ( #querymatches )
52
+ - [ queryMatchesRegexp] ( #querymatchesregexp )
53
+ - [ methodIs] ( #methodis )
54
+ - [ headerIs] ( #headeris )
55
+ - [ bodyMatchesText] ( #bodymatchestext )
56
+ - [ bodyMatchesXML] ( #bodymatchesxml )
57
+ - [ Стратегии ответов (strategy)] ( #стратегии-ответов-strategy )
58
+ - [ nop] ( #nop-1 )
59
+ - [ file] ( #file )
60
+ - [ constant] ( #constant )
61
+ - [ template] ( #template )
62
+ - [ uriVary] ( #urivary )
63
+ - [ methodVary] ( #methodvary )
64
+ - [ sequence] ( #sequence )
65
+ - [ basedOnRequest] ( #basedonrequest )
66
+ - [ dropRequest] ( #droprequest )
67
+ - [ Подсчет количества вызовов] ( #подсчет-количества-вызовов )
68
+ - [ Использование shell скриптов] ( #использование-shell-скриптов )
69
+ - [ Описание скрипта] ( #описание-скрипта )
70
+ - [ Запуск скрипта с параметризацией] ( #запуск-скрипта-с-параметризацией )
71
+ - [ Запрос в Базу данных] ( #запрос-в-базу-данных )
72
+ - [ Формат описания запросов] ( #формат-описания-запросов )
73
+ - [ Описание запроса] ( #описание-запроса )
74
+ - [ Описание ответа на запрос в Базу данных] ( #описание-ответа-на-запрос-в-базу-данных )
75
+ - [ Параметризация при запросах в Базу данных] ( #параметризация-при-запросах-в-базу-данных )
76
+ - [ Игнорирование порядка записей в ответе на запрос в базу данных] ( #игнорирование-порядка-записей-в-ответе-на-запрос-в-базу-данных )
77
+ - [ JSON-schema] ( #json-schema )
78
+ - [ Настройка на IDE Jetbrains] ( #настройка-на-ide-jetbrains )
79
+ - [ Настройка на IDE VSCode] ( #настройка-на-ide-vscode )
57
80
58
81
## Использование консольной утилиты
59
82
@@ -346,6 +369,7 @@ responseHeaders:
346
369
- body для моков
347
370
- headers для моков
348
371
- requestConstraints для моков
372
+ - form для multipart/form-data
349
373
350
374
Пример использования :
351
375
@@ -487,12 +511,41 @@ env-файл, например, удобно использовать, когд
487
511
488
512
Такие переменные будут доступны и в других кейсах, если не будут переопределены.
489
513
490
- # # Загрузка файлов
491
-
492
- В тестовом запросе можно загружать файлы. Для этого нужно указать тип запроса - POST и заголовок :
514
+ # # Запросы с multipart/form-data
515
+ Нужно указать тип запроса
516
+ - POST
493
517
518
+ Заголовок (необязательно) :
494
519
> Content-Type: multipart/form-data
495
520
521
+ или с указанием _boundary_ (необязательно) :
522
+ > Content-Type: multipart/form-data; boundary=--some-boundary
523
+
524
+ # ## Данные полей формы
525
+ Пример :
526
+
527
+ ` ` ` yaml
528
+ - name: "upload-form"
529
+ method: POST
530
+ form:
531
+ fields:
532
+ field_name1: "field_name1 value"
533
+ name2: "name2 value"
534
+ "custom_struct_field[0]": "custom_struct_field 0"
535
+ "custom_struct_field[1]": "custom_struct_field 1"
536
+ "custom_struct_field[inner_obj][field]": "inner_obj field value"
537
+ headers:
538
+ Content-Type: multipart/form-data # case-sensitive, can be omitted
539
+ response:
540
+ 200: |
541
+ {
542
+ "status": "OK"
543
+ }
544
+ ` ` `
545
+
546
+ # ## Загрузка файлов
547
+ *по пути с файловой системы
548
+
496
549
Пример :
497
550
498
551
` ` ` yaml
@@ -502,6 +555,25 @@ env-файл, например, удобно использовать, когд
502
555
files:
503
556
file1: "testdata/upload-files/file1.txt"
504
557
file2: "testdata/upload-files/file2.log"
558
+ headers:
559
+ Content-Type: multipart/form-data
560
+ response:
561
+ 200: |
562
+ {
563
+ "status": "OK"
564
+ }
565
+ ` ` `
566
+
567
+ с данными формы :
568
+ ` ` ` yaml
569
+ - name: "upload-multipart-form-data"
570
+ method: POST
571
+ form:
572
+ fields:
573
+ field_name1: "field_name1 value"
574
+ files:
575
+ file1: "testdata/upload-files/file1.txt"
576
+ file2: "testdata/upload-files/file2.log"
505
577
headers:
506
578
Content-Type: multipart/form-data # case-sensitive, can be omitted
507
579
response:
0 commit comments