diff --git a/src/Классы/КонвертерКомандыCURL.os b/src/Классы/КонвертерКомандыCURL.os index 0e5fa41..b940689 100644 --- a/src/Классы/КонвертерКомандыCURL.os +++ b/src/Классы/КонвертерКомандыCURL.os @@ -38,15 +38,21 @@ ВызватьИсключение "Команда должна начинаться с ""curl"""; КонецЕсли; + Результат = ""; Для Каждого АргументыКоманды Из АргументыКоманд Цикл Если Не (НРег(АргументыКоманды[0]) = "curl") Тогда ВызватьИсключение "Команда должна начинаться с ""curl"""; КонецЕсли; + АргументыКоманды.Удалить(0); Приложение.Запустить(АргументыКоманды); + + Результат = Результат + + ?(Результат = "", "", Символы.ПС + Символы.ПС) + + ГенераторПрограммногоКода.Получить(ОписаниеЗапроса); КонецЦикла; - Возврат ГенераторПрограммногоКода.Получить(ОписаниеЗапроса); + Возврат Результат; КонецФункции diff --git a/tests/ГенераторПрограммногоКода1С_test.os b/tests/ГенераторПрограммногоКода1С_test.os index 0e05e3c..a0cb19c 100644 --- a/tests/ГенераторПрограммногоКода1С_test.os +++ b/tests/ГенераторПрограммногоКода1С_test.os @@ -19,6 +19,7 @@ СписокТестов.Добавить("ТестДолжен_ПроверитьМножественноеИспользованиеUrl"); СписокТестов.Добавить("ТестДолжен_ПроверитьПередачуОтправляемыхДанныхВСтрокуЗапроса"); СписокТестов.Добавить("ТестДолжен_ПроверитьВставкуОтправляемыхДанныхВСтрокуЗапроса"); + СписокТестов.Добавить("ТестДолжен_ПроверитьОбработкуНесколькихКоманд"); Возврат СписокТестов; @@ -332,7 +333,6 @@ КонецПроцедуры - Процедура ТестДолжен_ПроверитьВставкуОтправляемыхДанныхВСтрокуЗапроса() Экспорт КонсольнаяКоманда = "curl 'https://example.com?param3=value3#page-1' \ @@ -368,4 +368,39 @@ Ожидаем.Что(Результат).Равно(ПрограммныйКод); +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьОбработкуНесколькихКоманд() Экспорт + + КонсольнаяКоманда = "curl 'https://example1.com' & curl 'https://example2.com'"; + + ПрограммныйКод = "ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(); + |Соединение = Новый HTTPСоединение(""example1.com"", + | 443, + | , + | , + | , + | , + | ЗащищенноеСоединение); + | + |HTTPЗапрос = Новый HTTPЗапрос(""/""); + |HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос); + | + |ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(); + |Соединение = Новый HTTPСоединение(""example2.com"", + | 443, + | , + | , + | , + | , + | ЗащищенноеСоединение); + | + |HTTPЗапрос = Новый HTTPЗапрос(""/""); + |HTTPОтвет = Соединение.ВызватьHTTPМетод(""GET"", HTTPЗапрос);"; + + КонвертерКомандыCURL = Новый КонвертерКомандыCURL(); + Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Новый ГенераторПрограммногоКода1С()); + + Ожидаем.Что(Результат).Равно(ПрограммныйКод); + КонецПроцедуры \ No newline at end of file