diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.os" new file mode 100644 index 00000000..1020d8fc --- /dev/null +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.os" @@ -0,0 +1,230 @@ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// +// Установка/получение параметров расширения конфигурации 1С:Предприятие 8 +// +// Служебный модуль с набором методов работы с командами приложения +// +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#Использовать asserts + +#Область ОписаниеПеременных + +Перем Лог; // Экземпляр логгера +Перем Активность; // Признак активности расширения +Перем БезопасныйРежим; // Признак безопасного режима +Перем ИмяПрофиляБезопасности; // Имя профиля безопасности +Перем ЗащитаОтОпасныхДействий; // Режим защиты от опасных действий +Перем ИспользуетсяВРаспределеннойИнформационнойБазе; // Режим использования в распределенной информационной базе +Перем ОбластьДействия; // Область действия расширения + +#КонецОбласти + +#Область ОбработчикиСобытий + +// Регистрация команды и ее аргументов/ключей +// +// Параметры: +// ИмяКоманды - Строка - имя команды +// Парсер - Парсер - объект парсера +// +Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт + + ТекстОписания = + " Получение/установка параметров расширения конфигурации с использованием ibcmd"; + + ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, + ТекстОписания); + + Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extensionName", + "Имя расширения, под которым оно зарегистрировано в списке расширений"); + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--active", + "Установить признак активности расширения. Допустимые значения true|false, yes|no"); + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--safe-mode", + "Установить признак безопасного режима. Допустимые значения true|false, yes|no"); + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--security-profile-name", + "Установить имя профиля безопасности."); + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--unsafe-action-protection", + "Установить режим защиты от опасных действий. Допустимые значения true|false, yes|no"); + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--used-in-distributed-infobase", + "Установить режим использования в распределенной информационной базе. Допустимые значения true|false, yes|no"); + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--scope", + "Установить область действия расширения. Допустимые значения true,yes=infobase|false,no=data-separation"); + + Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--no-info", + "Не выводить информацию о расширении"); + + ОбщиеМетоды.ДобавитьПараметрыПодключенияСУБДIbcmd(Парсер, ОписаниеКоманды); + + Парсер.ДобавитьКоманду(ОписаниеКоманды); + +КонецПроцедуры // ЗарегистрироватьКоманду + +// Выполняет логику команды +// +// Параметры: +// ПараметрыКоманды - Соответствие - Соответствие ключей командной строки и их значений +// ДополнительныеПараметры - Соответствие - дополнительные параметры (необязательно) +// +// Возвращаемое значение: +// Число - Код возврата команды +// +Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач ДополнительныеПараметры = Неопределено) Экспорт + + Лог = ОбщиеМетоды.ЛогКоманды(ДополнительныеПараметры); + + ИмяРасширения = ПараметрыКоманды["extensionName"]; + Ожидаем.Что(ИмяРасширения, "Имя расширения должно быть указано").Заполнено(); + + МенеджерСборки = Новый МенеджерIbcmd(); + ДанныеПодключения = ОбщиеМетоды.ДанныеПодключения(ПараметрыКоманды); + МенеджерСборки.Конструктор(ДанныеПодключения, ПараметрыКоманды); + + УстановитьАктивность(ПараметрыКоманды); + УстановитьБезопасныйРежимРасширения(ПараметрыКоманды); + УстановитьИмяПрофиляБезопасности(ПараметрыКоманды); + УстановитьРежимЗащитыОтОпасныхДействий(ПараметрыКоманды); + УстановитьИспользованиеВРаспределеннойИнформационнойБазе(ПараметрыКоманды); + УстановитьОбластьДействия(ПараметрыКоманды); + + ВыводитьИнформациюОРасширении = НЕ ПараметрыКоманды["--no-info"]; + + Попытка + Если УстанавливатьСвойства() Тогда + МенеджерСборки.ИзменитьСвойстваРасширения(ИмяРасширения, Активность, + БезопасныйРежим, ИмяПрофиляБезопасности, ЗащитаОтОпасныхДействий, + ИспользуетсяВРаспределеннойИнформационнойБазе, ОбластьДействия); + Иначе + Лог.Информация("Свойства расширения не изменяются"); + КонецЕсли; + + Если ВыводитьИнформациюОРасширении Тогда + МенеджерСборки.ИнформацияОРасширении(ИмяРасширения); + Иначе + Лог.Информация("Информация о свойствах расширения не выводится"); + КонецЕсли; + + Исключение + МенеджерСборки.Деструктор(); + ВызватьИсключение; + КонецПопытки; + + МенеджерСборки.Деструктор(); + + Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ЗначениеПараметраБулево(ЗначениеПараметра) + + Если ПустаяСтрока(ЗначениеПараметра) Тогда + Возврат Неопределено; + КонецЕсли; + + РегулярноеВыражениеИстина = Новый РегулярноеВыражение("true|yes"); + РегулярноеВыражениеЛожь = Новый РегулярноеВыражение("false|no"); + + Если РегулярноеВыражениеИстина.Совпадает(ЗначениеПараметра) Тогда + Возврат Истина; + ИначеЕсли РегулярноеВыражениеЛожь.Совпадает(ЗначениеПараметра) Тогда + Возврат Ложь; + Иначе + ВызватьИсключение "Некорректное значение параметра " + ЗначениеПараметра; + КонецЕсли; + +КонецФункции + +Функция УстанавливатьСвойства() + + Возврат НЕ (Активность = Неопределено + И БезопасныйРежим = Неопределено + И ПустаяСтрока(ИмяПрофиляБезопасности) + И ЗащитаОтОпасныхДействий = Неопределено + И ИспользуетсяВРаспределеннойИнформационнойБазе = Неопределено + И ОбластьДействия = Неопределено); + +КонецФункции + +Процедура УстановитьАктивность(ПараметрыКоманды) + + Активность = ЗначениеПараметраБулево(ПараметрыКоманды["--active"]); + Если Активность = Неопределено Тогда + Лог.Отладка("Режим активности расширения не изменяется"); + Иначе + Лог.Информация("Активность расширения: %1", Строка(Активность)); + КонецЕсли; + +КонецПроцедуры + +Процедура УстановитьБезопасныйРежимРасширения(ПараметрыКоманды) + + БезопасныйРежим = ЗначениеПараметраБулево(ПараметрыКоманды["--safe-mode"]); + Если БезопасныйРежим = Неопределено Тогда + Лог.Отладка("Безопасный режим расширения не изменяется"); + Иначе + Лог.Информация("Безопасный режим расширения: %1", Строка(БезопасныйРежим)); + КонецЕсли; + +КонецПроцедуры + +Процедура УстановитьИмяПрофиляБезопасности(ПараметрыКоманды) + + ЗначениеПараметра = ПараметрыКоманды["--security-profile-name"]; + Если ЗначениеПараметра = Неопределено Тогда + ИмяПрофиляБезопасности = ""; + Лог.Отладка("Имя профиля безопасности расширения не изменяется"); + Иначе + ИмяПрофиляБезопасности = ЗначениеПараметра; + Лог.Информация("Имя профиля безопасности расширения: %1", ИмяПрофиляБезопасности); + КонецЕсли; + +КонецПроцедуры + +Процедура УстановитьРежимЗащитыОтОпасныхДействий(ПараметрыКоманды) + + ЗащитаОтОпасныхДействий = ЗначениеПараметраБулево(ПараметрыКоманды["--unsafe-action-protection"]); + Если ЗащитаОтОпасныхДействий = Неопределено Тогда + Лог.Отладка("Режим защиты от опасных действий расширения не изменяется"); + Иначе + Лог.Информация("Режим защиты от опасных действий расширения: %1", Строка(ЗащитаОтОпасныхДействий)); + КонецЕсли; + +КонецПроцедуры + +Процедура УстановитьИспользованиеВРаспределеннойИнформационнойБазе(ПараметрыКоманды) + + ИспользуетсяВРаспределеннойИнформационнойБазе = + ЗначениеПараметраБулево(ПараметрыКоманды["--used-in-distributed-infobase"]); + Если ИспользуетсяВРаспределеннойИнформационнойБазе = Неопределено Тогда + Лог.Отладка("Режим использования расширения в распределенной информационной базе не изменяется"); + Иначе + Лог.Информация("Режим использования расширения в распределенной информационной базе: %1", + Строка(ИспользуетсяВРаспределеннойИнформационнойБазе)); + КонецЕсли; + +КонецПроцедуры + +Процедура УстановитьОбластьДействия(ПараметрыКоманды) + + ОбластьДействия = ЗначениеПараметраБулево(ПараметрыКоманды["--scope"]); + Если ОбластьДействия = Неопределено Тогда + Лог.Отладка("Область действия расширения расширения не изменяется"); + ИначеЕсли ОбластьДействия = Истина Тогда + Лог.Информация("Область действия расширения: Информационная база"); + Иначе + Лог.Информация("Область действия расширения: Разделение данных"); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200Ibcmd.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200Ibcmd.os" index 03e8c964..db61924c 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200Ibcmd.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200Ibcmd.os" @@ -332,6 +332,43 @@ КонецПроцедуры +// Изменить свойства расширения +// +// Параметры: +// ИмяРасширения - Строка - Имя расширения, у которого будем изменять свойства +// Активность - Булево, Неопределено - Активность +// БезопасныйРежим - Булево, Неопределено - Безопасный режим +// ИмяПрофиляБезопасности - Строка - Имя профиля безопасности +// ЗащитаОтОпасныхДействий - Булево, Неопределено - защита от опасных действий +// ИспользуетсяВРаспределеннойИнформационнойБазе - Булево, Неопределено - расширение используется в РИБ +// ОбластьДействия - Булево, Неопределено - если Истина - область действия ИБ, иначе - разделитель данных +// +Процедура ИзменитьСвойстваРасширения(Знач ИмяРасширения, Знач Активность, + Знач БезопасныйРежим, Знач ИмяПрофиляБезопасности, Знач ЗащитаОтОпасныхДействий, + Знач ИспользуетсяВРаспределеннойИнформационнойБазе, Знач ОбластьДействия) Экспорт + + Лог.Информация("Выполняю установку свойств расширения %1", ИмяРасширения); + + УправлениеИБ.ИзменитьСвойстваРасширения(ИмяРасширения, Активность, + БезопасныйРежим, ИмяПрофиляБезопасности, ЗащитаОтОпасныхДействий, + ИспользуетсяВРаспределеннойИнформационнойБазе, ОбластьДействия); + + Лог.Информация("Установка свойств расширения %1 завершена", ИмяРасширения); + +КонецПроцедуры + +// Выводит в лог информацию о расширении конфигурации +// +// Параметры: +// ИмяРасширения - Строка - Имя расширения, у которого будем изменять свойства +// +Процедура ИнформацияОРасширении(Знач ИмяРасширения) Экспорт + + ИнформацияОРасширении = УправлениеИБ.ИнформацияОРасширении(ИмяРасширения); + Лог.Информация("Информация о расширении конфигурации:%2%1", ИнформацияОРасширении, Символы.ПС); + +КонецПроцедуры + // Возвращает каталог времнной ИБ // // Возвращаемое значение: diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\236\320\261\321\211\320\270\320\265\320\234\320\265\321\202\320\276\320\264\321\213.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\236\320\261\321\211\320\270\320\265\320\234\320\265\321\202\320\276\320\264\321\213.os" index db30f0c0..6ef5cf03 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\236\320\261\321\211\320\270\320\265\320\234\320\265\321\202\320\276\320\264\321\213.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\236\320\261\321\211\320\270\320\265\320\234\320\265\321\202\320\276\320\264\321\213.os" @@ -726,10 +726,15 @@ "Использовать утилиту ibcmd вместо конфигуратора"); // Для использования серверных баз, добавим параметры подключения к СУБД для --ibcmd - // BSLLS:LineLength-off - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--dbms-type", "Тип СУБД. Разрешенные значения: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase - | или их сокращенные варианты: mssql, postgresql, db2, oracle соответственно."); - // BSLLS:LineLength-on + ДобавитьПараметрыПодключенияСУБДIbcmd(Парсер, ОписаниеКоманды); + +КонецПроцедуры + +Процедура ДобавитьПараметрыПодключенияСУБДIbcmd(Знач Парсер, ОписаниеКоманды) Экспорт + + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--dbms-type", + "Тип СУБД. Разрешенные значения: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase + | или их сокращенные варианты: mssql, postgresql, db2, oracle соответственно."); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--dbms-server", "Сервер СУБД"); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--dbms-base", "Имя базы на сервере СУБД"); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--dbms-user", "Пользователь СУБД"); diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" index 887cccfb..dfb378fb 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" @@ -71,6 +71,7 @@ мВозможныеКоманды.Вставить("ВыгрузитьРасширениеВФайл", "unloadext"); мВозможныеКоманды.Вставить("ОбновлениеРасширений", "updateext"); мВозможныеКоманды.Вставить("СобратьИзИсходниковФайлРасширения", "compileexttocfe"); + мВозможныеКоманды.Вставить("ПараметрыРасширения", "extparams"); мВозможныеКоманды.Вставить("ЗапуститьВРежимеПредприятия", "run"); мВозможныеКоманды.Вставить("ЗапуститьКонфигуратор", "designer"); @@ -145,6 +146,7 @@ КлассыРеализацииКоманд[ВозможныеКоманды().ВыгрузитьРасширениеВФайл] = "КомандаВыгрузитьРасширениеВФайл"; КлассыРеализацииКоманд[ВозможныеКоманды().СборкаВнешнихОбработок] = "КомандаСборкаВнешнихОбработок"; КлассыРеализацииКоманд[ВозможныеКоманды().РазборкаВнешнихОбработок] = "КомандаРазборкаВнешнихОбработок"; + КлассыРеализацииКоманд[ВозможныеКоманды().ПараметрыРасширения] = "КомандаПараметрыРасширения"; КлассыРеализацииКоманд[ВозможныеКоманды().ОбновитьКонфигурациюБазыДанных] = "КомандаОбновлениеКонфигурацииБД"; КлассыРеализацииКоманд[ВозможныеКоманды().ВыгрузитьКонфигурациюВФайл] = "КомандаВыгрузитьКонфигурациюВФайл"; diff --git a/tests/xunits/extparams.os b/tests/xunits/extparams.os new file mode 100644 index 00000000..8527a107 --- /dev/null +++ b/tests/xunits/extparams.os @@ -0,0 +1,167 @@ +#Использовать tempfiles +#Использовать "utils" +#Использовать "../.." + +#Область ОписаниеПеременных + +Перем НакопленныеВременныеФайлы; // фиксация накопленных времнных файлов для сброса + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +&Тест +Процедура ТестДолжен_ДеактивироватьРасширение() Экспорт + + // Дано + Исполнитель = Новый Тест_ИсполнительКоманд("extparams"); + Исполнитель.ДобавитьПараметр("test"); + Исполнитель.ДобавитьПараметр("--active", "false"); + + Исполнитель.УстановитьКонтекстПустаяИБ(); + Исполнитель.СоздатьПустоеРасширение("test", "Ext1_"); + + // Когда + Исполнитель.ВыполнитьКоманду(); + + // Тогда + Исполнитель.ОжидаемЧтоВыводСодержит("Активность расширения: Нет"); + Исполнитель.ОжидаемЧтоВыводСодержитРегулярноеВыражение("active\s+:\s+no"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ВыключитьИспользованиеБезопасногоРежима() Экспорт + + // Дано + Исполнитель = Новый Тест_ИсполнительКоманд("extparams"); + Исполнитель.ДобавитьПараметр("test"); + Исполнитель.ДобавитьПараметр("--safe-mode", "false"); + + Исполнитель.УстановитьКонтекстПустаяИБ(); + Исполнитель.СоздатьПустоеРасширение("test", "Ext1_"); + + // Когда + Исполнитель.ВыполнитьКоманду(); + + // Тогда + Исполнитель.ОжидаемЧтоВыводСодержит("Безопасный режим расширения: Нет"); + Исполнитель.ОжидаемЧтоВыводСодержитРегулярноеВыражение("safe-mode\s+:\s+no"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_УстановитьИмяПрофиляБезопасности() Экспорт + + // Дано + Исполнитель = Новый Тест_ИсполнительКоманд("extparams"); + Исполнитель.ДобавитьПараметр("test"); + Исполнитель.ДобавитьПараметр("--security-profile-name", "Strong"); + + Исполнитель.УстановитьКонтекстПустаяИБ(); + Исполнитель.СоздатьПустоеРасширение("test", "Ext1_"); + + // Когда + Исполнитель.ВыполнитьКоманду(); + + // Тогда + Исполнитель.ОжидаемЧтоВыводСодержит("Имя профиля безопасности расширения: Strong"); + Исполнитель.ОжидаемЧтоВыводСодержитРегулярноеВыражение("safe-mode\s+:\s+yes"); + Исполнитель.ОжидаемЧтоВыводСодержитРегулярноеВыражение("security-profile-name\s+:\s+""Strong"""); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ВключитьЗащитуОтОпасныхДействий() Экспорт + + // Дано + Исполнитель = Новый Тест_ИсполнительКоманд("extparams"); + Исполнитель.ДобавитьПараметр("test"); + Исполнитель.ДобавитьПараметр("--unsafe-action-protection", "true"); + + Исполнитель.УстановитьКонтекстПустаяИБ(); + Исполнитель.СоздатьПустоеРасширение("test", "Ext1_"); + + // Когда + Исполнитель.ВыполнитьКоманду(); + + // Тогда + Исполнитель.ОжидаемЧтоВыводСодержит("Режим защиты от опасных действий расширения: Да"); + Исполнитель.ОжидаемЧтоВыводСодержитРегулярноеВыражение("unsafe-action-protection\s+:\s+yes"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ВключитьИспользованиеВРИБ() Экспорт + + // Дано + Исполнитель = Новый Тест_ИсполнительКоманд("extparams"); + Исполнитель.ДобавитьПараметр("test"); + Исполнитель.ДобавитьПараметр("--used-in-distributed-infobase", "yes"); + + Исполнитель.УстановитьКонтекстПустаяИБ(); + Исполнитель.СоздатьПустоеРасширение("test", "Ext1_"); + + // Когда + Исполнитель.ВыполнитьКоманду(); + + // Тогда + Исполнитель.ОжидаемЧтоВыводСодержит("Режим использования расширения в распределенной информационной базе: Да"); + Исполнитель.ОжидаемЧтоВыводСодержитРегулярноеВыражение("used-in-distributed-infobase\s+:\s+yes"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_НеВыводитьИнформациюОРасширении() Экспорт + + Исполнитель = Новый Тест_ИсполнительКоманд("extparams"); + Исполнитель.ДобавитьПараметр("test"); + Исполнитель.ДобавитьПараметр("--no-info"); + + Исполнитель.УстановитьКонтекстПустаяИБ(); + Исполнитель.СоздатьПустоеРасширение("test", "Ext1_"); + + // Когда + Исполнитель.ВыполнитьКоманду(); + + // Тогда + Исполнитель.ОжидаемЧтоВыводСодержит("Свойства расширения не изменяются"); + Исполнитель.ОжидаемЧтоВыводСодержит("Информация о свойствах расширения не выводится"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ВывестиИнформациюОРасширении() Экспорт + + Исполнитель = Новый Тест_ИсполнительКоманд("extparams"); + Исполнитель.ДобавитьПараметр("test"); + + Исполнитель.УстановитьКонтекстПустаяИБ(); + Исполнитель.СоздатьПустоеРасширение("test", "Ext1_"); + + // Когда + Исполнитель.ВыполнитьКоманду(); + + // Тогда + Исполнитель.ОжидаемЧтоВыводСодержит("Свойства расширения не изменяются"); + Исполнитель.ОжидаемЧтоВыводСодержит("Информация о расширении конфигурации:"); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытий + +Процедура ПередЗапускомТеста() Экспорт + + НакопленныеВременныеФайлы = ВременныеФайлы.Файлы(); + +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + + ВременныеФайлы.УдалитьНакопленныеВременныеФайлы(НакопленныеВременныеФайлы); + +КонецПроцедуры + +#КонецОбласти diff --git "a/tests/xunits/utils/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202_\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\276\320\274\320\260\320\275\320\264.os" "b/tests/xunits/utils/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202_\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\276\320\274\320\260\320\275\320\264.os" index fb22b092..366af987 100644 --- "a/tests/xunits/utils/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202_\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\276\320\274\320\260\320\275\320\264.os" +++ "b/tests/xunits/utils/\320\232\320\273\320\260\321\201\321\201\321\213/\320\242\320\265\321\201\321\202_\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\276\320\274\320\260\320\275\320\264.os" @@ -85,6 +85,15 @@ Ожидаем.Что(СпособВывода.ВыводЛога()).Не_().Содержит(Строка); КонецПроцедуры +Процедура ОжидаемЧтоВыводСодержитРегулярноеВыражение(ШаблонРегулярногоВыражения) Экспорт + + РегулярноеВыражение = Новый РегулярноеВыражение(ШаблонРегулярногоВыражения); + Совпадения = РегулярноеВыражение.НайтиСовпадения(СпособВывода.ВыводЛога()); + + Ожидаем.Что(Совпадения, "Вывод должен содержать " + ШаблонРегулярногоВыражения).ИмеетДлину(1); + +КонецПроцедуры + Процедура ОжидаемЧтоРавно(Значение1, Значение2, ПредставлениеОшибки = "") Экспорт Ожидаем.Что(Значение1, ПредставлениеОшибки).Равно(Значение2); КонецПроцедуры