Skip to content

Commit 1b6560c

Browse files
committed
tests: Добавление теста с полем (multipart) с несколькими значениями
1 parent ef91487 commit 1b6560c

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

tests/HttpBin_API_test.os

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,50 @@
319319

320320
КонецПроцедуры
321321

322+
&Тест
323+
Процедура Должен_ПроверитьТочкуМаршрута_Post_ПолеСНесколькимиЗначениямиMultipart() Экспорт
324+
325+
РазделительMultipart = СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
326+
327+
Заголовки = Новый Соответствие();
328+
Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + РазделительMultipart);
329+
330+
Соединение = Новый HTTPСоединение(HttpBin.Хост(), HttpBin.Порт());
331+
HTTPЗапрос = Новый HTTPЗапрос("/post", Заголовки);
332+
Поток = HTTPЗапрос.ПолучитьТелоКакПоток();
333+
334+
РазделительСтрок = Символы.ВК + Символы.ПС;
335+
ЗаписьДанных = Новый ЗаписьДанных(Поток, , , "", "");
336+
// Начало color
337+
ЗаписьДанных.ЗаписатьСтроку("--" + РазделительMultipart + РазделительСтрок);
338+
ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=""color""" + РазделительСтрок);
339+
ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);
340+
ЗаписьДанных.ЗаписатьСтроку("Red" + РазделительСтрок);
341+
// Конец color
342+
// Начало color
343+
ЗаписьДанных.ЗаписатьСтроку("--" + РазделительMultipart + РазделительСтрок);
344+
ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=""color""" + РазделительСтрок);
345+
ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);
346+
ЗаписьДанных.ЗаписатьСтроку("Green" + РазделительСтрок);
347+
// Конец color
348+
ЗаписьДанных.ЗаписатьСтроку("--" + РазделительMultipart + "--" + РазделительСтрок);
349+
ЗаписьДанных.Закрыть();
350+
351+
HTTPОтвет = Соединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
352+
HTTPОтвет.ПолучитьТелоКакСтроку();
353+
354+
ЧтениеJSON = Новый ЧтениеJSON();
355+
ЧтениеJSON.УстановитьСтроку(HTTPОтвет.ПолучитьТелоКакСтроку());
356+
Json = ПрочитатьJSON(ЧтениеJSON, Истина);
357+
ЧтениеJSON.Закрыть();
358+
359+
Ожидаем.Что(HTTPОтвет.КодСостояния).Равно(КодыСостоянияHTTP.ОК_200);
360+
Ожидаем.Что(HTTPОтвет.Заголовки["Content-Type"]).Равно("application/json");
361+
Ожидаем.Что(Json["form"]["color"]).Содержит("Red");
362+
Ожидаем.Что(Json["form"]["color"]).Содержит("Green");
363+
364+
КонецПроцедуры
365+
322366
&Тест
323367
Процедура Должен_ПроверитьТочкуМаршрута_Put() Экспорт
324368

0 commit comments

Comments
 (0)