diff --git a/.gitignore b/.gitignore index 3332d98..6e18e33 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ test-reports/* *.ospx tests.xml .scannerwork/ +oscript_modules/ diff --git a/readme.md b/readme.md index f71df3f..f4c388a 100644 --- a/readme.md +++ b/readme.md @@ -19,16 +19,36 @@ Каждая команда конфигуратора может выполняться только для конкретной информационной базы. База, для которой выполняется команда называется контекстом команды. -Контекст указывается в формате **параметра командной строки конфигуратора** - так, как в Конфигураторе задается нужная информационная база. Например, для формата строки соединения: +Контекст указывается в формате **параметра командной строки конфигуратора** (так, как в Конфигураторе задается нужная информационная база) или в виде специальной структуры. Например, для формата строки соединения: ```bsl Конфигуратор.УстановитьКонтекст("/IBConnectionString""Srvr=someserver:2041; Ref='database'""","Admin", "passw0rd"); ``` +ИЛИ + +```bsl +ПараметрыСтрокиСоединения = Конфигуратор.ПараметрыСтрокиСоединения(); +ПараметрыСтрокиСоединения.Сервер = "someserver"; +ПараметрыСтрокиСоединения.Порт = 2041; +ПараметрыСтрокиСоединения.ИмяБазы = "database"; + +Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения, "Admin", "passw0rd"); +``` + В более простой форме - для файловой базы можно указать через ключ ```/F```: ```bsl -Конфигуратор.УстановитьКонтекст("/FC:\1cdb\mydatabase","Admin", "passw0rd"); +Конфигуратор.УстановитьКонтекст("/FC:\1cdb\mydatabase", "Admin", "passw0rd"); +``` + +ИЛИ + +```bsl +ПараметрыСтрокиСоединения = Конфигуратор.ПараметрыСтрокиСоединения(); +ПараметрыСтрокиСоединения.ПутьКФайлуБазы = "C:\1cdb\mydatabase"; + +Конфигуратор.УстановитьКонтекст(ПараметрыСтрокиСоединения, "Admin", "passw0rd"); ``` Далее, вы вызываете методы объекта "Конфигуратор", соответствующие командам конфигуратора. Все команды будут выполняться над заданной базой. Теперь, объект Конфигуратор настроен на некий *"контекст"* - информационную базу, с которой и будут производиться все операции. diff --git a/src/v8runner.os b/src/v8runner.os index 4fc14b6..3fba92c 100644 --- a/src/v8runner.os +++ b/src/v8runner.os @@ -34,7 +34,13 @@ #Область ПрограммыйИнтерфейс Процедура УстановитьКонтекст(Знач СтрокаСоединения, Знач Пользователь, Знач Пароль) Экспорт - мКонтекстКоманды.КлючСоединенияСБазой = СтрокаСоединения; + + Если ТипЗнч(СтрокаСоединения) = Тип("Структура") Тогда + мКонтекстКоманды.КлючСоединенияСБазой = СформироватьСтрокуСоединения(СтрокаСоединения); + Иначе + мКонтекстКоманды.КлючСоединенияСБазой = СтрокаСоединения; + КОнецЕсли; + мКонтекстКоманды.ИмяПользователя = Пользователь; мКонтекстКоманды.Пароль = Пароль; @@ -917,7 +923,8 @@ Знач ФайлНастроек, Знач ПоставитьНаПоддержку = Неопределено, Знач ВключитьВОбъединениеОбъектыПоНеразрешеннымСсылкам = Неопределено, - Знач Принудительно = Ложь) Экспорт + Знач Принудительно = Ложь, + Знач ПараметрыХранилища = Неопределено) Экспорт Параметры = СтандартныеПараметрыЗапускаКонфигуратора(); Параметры.Добавить("/MergeCfg " + ОбернутьВКавычки(ФайлКонфигурации)); @@ -939,6 +946,15 @@ Параметры.Добавить("-force"); КонецЕсли; + Если НЕ ПараметрыХранилища = Неопределено Тогда + Параметры.Добавить("/ConfigurationRepositoryF """ + ПараметрыХранилища.СтрокаПодключенияХранилище + """"); + Параметры.Добавить("/ConfigurationRepositoryN """ + ПараметрыХранилища.ПользовательХранилища + """"); + + Если ЗначениеЗаполнено(ПараметрыХранилища.ПарольХранилища) Тогда + Параметры.Добавить("/ConfigurationRepositoryP """ + ПараметрыХранилища.ПарольХранилища + """"); + КонецЕсли; + КонецЕсли; + ВыполнитьКоманду(Параметры); КонецПроцедуры @@ -1300,7 +1316,9 @@ КонецПроцедуры // СоздатьСервернуюБазу() -Процедура ЗагрузитьИнформационнуюБазу(ПутьВыгрузкиИБ) Экспорт +Процедура ЗагрузитьИнформационнуюБазу(ПутьВыгрузкиИБ, + Знач КоличествоЗаданий = 0) Экспорт + ФайлВыгрузки = Новый Файл(ПутьВыгрузкиИБ); Ожидаем.Что(ФайлВыгрузки.Существует(), "Файл выгрузки <"+ПутьВыгрузкиИБ +"> существует, а это не так").ЭтоИстина(); @@ -1308,6 +1326,10 @@ ПараметрыЗапуска.Добавить("/RestoreIB " + ОбернутьВКавычки(ПутьВыгрузкиИБ)); + Если ИспользуемаяВерсияПлатформыСтаршеИлиРавна("8.3.19") Тогда + ПараметрыЗапуска.Добавить(СтрШаблон("-JobsCount %1", КоличествоЗаданий)); + КонецЕсли; + ВыполнитьКоманду(ПараметрыЗапуска); КонецПроцедуры @@ -2544,6 +2566,48 @@ КонецФункции +Функция СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения) Экспорт + + Если ТипЗнч(ПараметрыСтрокиСоединения) <> Тип("Структура") Тогда + Возврат ПараметрыСтрокиСоединения; + КонецЕсли; + + Если ПараметрыСтрокиСоединения.ПутьКФайлуБазы <> "" Тогда + СтрокаСоединения = СтрШаблон("/F""%1""", ПараметрыСтрокиСоединения.ПутьКФайлуБазы); + Иначе + СтрокаСоединения = СтрШаблон( + "/IBConnectionString""Srvr='%1:%2'; Ref='%3'""", + ПараметрыСтрокиСоединения.Сервер, + ПараметрыСтрокиСоединения.Порт, + ПараметрыСтрокиСоединения.ИмяБазы); + КонецЕсли; + + Возврат СтрокаСоединения; + +КонецФункции + +// возвращает параметры строки соединения с базой +// +// Возвращаемое значение: +// - Структура +// * Путь к файлу базы - строка - путь к базе в файловом варианте; если задан - остальные параметры игнорируются +// * Сервер - Строка +// * Порт - Строка +// * ИмяБазы - Строка +// +Функция ПараметрыСтрокиСоединения() Экспорт + + ПараметрыСтрокиСоединения = Новый Структура; + + ПараметрыСтрокиСоединения.Вставить("ПутьКФайлуБазы", ""); + ПараметрыСтрокиСоединения.Вставить("Сервер", ""); + ПараметрыСтрокиСоединения.Вставить("Порт", ""); + ПараметрыСтрокиСоединения.Вставить("ИмяБазы", ""); + + Возврат ПараметрыСтрокиСоединения; + +КонецФункции + #КонецОбласти Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner"); diff --git a/tests/v8runner-test.os b/tests/v8runner-test.os index dd7bdff..25c6076 100644 --- a/tests/v8runner-test.os +++ b/tests/v8runner-test.os @@ -13,7 +13,7 @@ УправлениеКонфигуратором = Новый УправлениеКонфигуратором; Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner"); Лог.УстановитьУровень(УровниЛога.Отладка); - + КонецПроцедуры Функция ПолучитьСписокТестов(Тестирование) Экспорт @@ -27,32 +27,37 @@ СписокТестов.Добавить("ТестДолжен_ПроверитьУстановкуЯзыкаИнтерфейса"); СписокТестов.Добавить("ТестДолжен_СоздатьХранилищеКонфигурации"); СписокТестов.Добавить("ТестДолжен_ПроверитьСозданиеФайловПоставки"); - СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетПоВерсиямХранилища"); - СписокТестов.Добавить("ТестДолжен_СкопироватьПользователейИзХранилища"); - СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииОсновнойКонфигурацииСФайлом"); + СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетПоВерсиямХранилища"); + СписокТестов.Добавить("ТестДолжен_СкопироватьПользователейИзХранилища"); + СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииОсновнойКонфигурацииСФайлом"); СписокТестов.Добавить("ТестДолжен_ПроверитьОсновнаяКонфигурацияИдентичнаФайлу"); СписокТестов.Добавить("ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииКонфигурацииРасширенияСФайлом"); - СписокТестов.Добавить("ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу"); - СписокТестов.Добавить("ТестДолжен_ОставитьФайлИнформации"); - + СписокТестов.Добавить("ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу"); + СписокТестов.Добавить("ТестДолжен_ОставитьФайлИнформации"); + + СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСтрокиСоединенияСФайловойБазой"); + СписокТестов.Добавить("ТестДолжен_СформироватьСтрокуСоединенияСФайловойБазой"); + СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСтрокиСоединенияССервернойБазой"); + СписокТестов.Добавить("ТестДолжен_СформироватьСтрокуСоединенияССервернойБазой"); + Возврат СписокТестов; КонецФункции Процедура ПослеЗапускаТеста() Экспорт - - Если ЗначениеЗаполнено( ВременныйКаталог ) Тогда - - Утверждения.ПроверитьИстину( НайтиФайлы( ВременныйКаталог, "*").Количество() = 0, "Во временном каталоге " + ВременныйКаталог + " не должно остаться файлов" ); - ВременныеФайлы.УдалитьФайл( ВременныйКаталог ); - - Утверждения.ПроверитьИстину( Не ФС.КаталогСуществует(ВременныйКаталог), "Временный каталог должен быть удален"); - + Если ЗначениеЗаполнено(ВременныйКаталог) Тогда + + Утверждения.ПроверитьИстину(НайтиФайлы(ВременныйКаталог, "*").Количество() = 0, "Во временном каталоге " + ВременныйКаталог + " не должно остаться файлов"); + + ВременныеФайлы.УдалитьФайл(ВременныйКаталог); + + Утверждения.ПроверитьИстину(Не ФС.КаталогСуществует(ВременныйКаталог), "Временный каталог должен быть удален"); + ВременныйКаталог = ""; - + КонецЕсли; - + КонецПроцедуры Процедура ТестДолжен_ИзменитьКаталогСборки() Экспорт @@ -67,107 +72,107 @@ КонецПроцедуры Процедура ТестДолжен_СоздатьВременнуюБазу() Экспорт - + УправлениеКонфигуратором.УдалитьВременнуюБазу(); - Утверждения.ПроверитьЛожь(УправлениеКонфигуратором.ВременнаяБазаСуществует(), "Временной базы не должно быть в каталоге <"+УправлениеКонфигуратором.ПутьКВременнойБазе()+">"); + Утверждения.ПроверитьЛожь(УправлениеКонфигуратором.ВременнаяБазаСуществует(), "Временной базы не должно быть в каталоге <" + УправлениеКонфигуратором.ПутьКВременнойБазе() + ">"); УправлениеКонфигуратором.СоздатьФайловуюБазу(УправлениеКонфигуратором.ПутьКВременнойБазе()); Сообщить(УправлениеКонфигуратором.ВыводКоманды()); Утверждения.ПроверитьИстину(УправлениеКонфигуратором.ВременнаяБазаСуществует(), "Временная база должна существовать"); УправлениеКонфигуратором.УдалитьВременнуюБазу(); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + КонецПроцедуры Процедура ТестДолжен_СоздатьХранилищеКонфигурации() Экспорт ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); // по идеи надо проверить что конфигурация загружена. // Вопрос как? УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); + КаталогВременногоХранилища, + "Администратор"); Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); УправлениеКонфигуратором.УдалитьВременнуюБазу(); КонецПроцедуры Процедура ТестДолжен_ПроверитьФормированиеФайлаОтчетПоВерсиямХранилища() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла("mxl"); - + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); - Ожидаем.Что(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); - - УправлениеКонфигуратором.ПолучитьОтчетПоВерсиямИзХранилища(КаталогВременногоХранилища, "Администратор", , ПутьКФайлуОтчета); - Ожидаем.Что( ФС.ФайлСуществует( ПутьКФайлуОтчета ) , "Отчет из хранилища конфигурации должен существовать"); - - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - - ВременныеФайлы.УдалитьФайл( ПутьКФайлуОтчета ); - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); - + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( + КаталогВременногоХранилища, + "Администратор"); + Ожидаем.Что(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); + + УправлениеКонфигуратором.ПолучитьОтчетПоВерсиямИзХранилища(КаталогВременногоХранилища, "Администратор", , ПутьКФайлуОтчета); + Ожидаем.Что(ФС.ФайлСуществует(ПутьКФайлуОтчета), "Отчет из хранилища конфигурации должен существовать"); + + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + + ВременныеФайлы.УдалитьФайл(ПутьКФайлуОтчета); + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); + КонецПроцедуры Процедура ТестДолжен_ПроверитьСозданиеФайловПоставки() Экспорт ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - + КаталогПоставки = ОбъединитьПути(ВременныйКаталог, "v8r_TempDitr"); ПутьФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); НомерВерсииВыпуска = "1.0"; - ПутьФайлПредыдущейПоставки = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "0.9", "1Cv8.cf"); - - ПутьФайлПолнойПоставки = ОбъединитьПути(КаталогПоставки, НомерВерсииВыпуска +".cf"); + ПутьФайлПредыдущейПоставки = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "0.9", "1Cv8.cf"); + + ПутьФайлПолнойПоставки = ОбъединитьПути(КаталогПоставки, НомерВерсииВыпуска + ".cf"); - ПутьФайлаПоставкиОбновления = ОбъединитьПути(КаталогПоставки, НомерВерсииВыпуска+".cfu"); + ПутьФайлаПоставкиОбновления = ОбъединитьПути(КаталогПоставки, НомерВерсииВыпуска + ".cfu"); МассивФайловПредыдущейПоставки = Новый Массив; МассивФайловПредыдущейПоставки.Добавить(ПутьФайлПредыдущейПоставки); - + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ПутьФайлКонфигурации, Истина); УправлениеКонфигуратором.СоздатьФайлыПоставки(ПутьФайлПолнойПоставки, - ПутьФайлаПоставкиОбновления, - МассивФайловПредыдущейПоставки); + ПутьФайлаПоставкиОбновления, + МассивФайловПредыдущейПоставки); Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьФайлПолнойПоставки), "Файл полной поставки конфигурации должен существовать"); Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьФайлаПоставкиОбновления), "Файл частичной поставки конфигурации должен существовать"); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - ВременныеФайлы.УдалитьФайл( ПутьФайлПолнойПоставки ); - ВременныеФайлы.УдалитьФайл( ПутьФайлаПоставкиОбновления ); - ВременныеФайлы.УдалитьФайл( КаталогПоставки ); + ВременныеФайлы.УдалитьФайл(ПутьФайлПолнойПоставки); + ВременныеФайлы.УдалитьФайл(ПутьФайлаПоставкиОбновления); + ВременныеФайлы.УдалитьФайл(КаталогПоставки); УправлениеКонфигуратором.УдалитьВременнуюБазу(); КонецПроцедуры @@ -198,330 +203,386 @@ УправлениеКонфигуратором.УстановитьКодЯзыка(ПоУмолчанию); МассивПараметров = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска(); - Утверждения.ПроверитьБольшеИлиРавно(МассивПараметров.Найти("/L"+ПоУмолчанию), 0, "Массив параметров запуска должен содержать локализацию /L"+ПоУмолчанию + " строка:"+Строка(МассивПараметров)); - Утверждения.ПроверитьБольшеИлиРавно(МассивПараметров.Найти("/VL"+ПоУмолчанию), 0, "Массив запуска должен содержать локализацию сеанаса /VL"+ПоУмолчанию + " строка:"+Строка(МассивПараметров)); + Утверждения.ПроверитьБольшеИлиРавно(МассивПараметров.Найти("/L" + ПоУмолчанию), 0, "Массив параметров запуска должен содержать локализацию /L" + ПоУмолчанию + " строка:" + Строка(МассивПараметров)); + Утверждения.ПроверитьБольшеИлиРавно(МассивПараметров.Найти("/VL" + ПоУмолчанию), 0, "Массив запуска должен содержать локализацию сеанаса /VL" + ПоУмолчанию + " строка:" + Строка(МассивПараметров)); КонецПроцедуры Процедура ТестДолжен_ДобавитьПользователяВХранилище() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - - КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); - Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); - - НовыйПользователь = "ТестовыйПользователь"; - ПарольПользователя = "ТестПароль"; - УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища, - "Администратор", - "", - НовыйПользователь, - ПарольПользователя, - ПраваПользователяХранилища.ТолькоЧтение, - Истина); - - ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя); - - Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - ВременныеФайлы.УдалитьФайл( ПутьКФайлуВерсии ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); - + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( + КаталогВременногоХранилища, + "Администратор"); + Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); + + НовыйПользователь = "ТестовыйПользователь"; + ПарольПользователя = "ТестПароль"; + УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища, + "Администратор", + "", + НовыйПользователь, + ПарольПользователя, + ПраваПользователяХранилища.ТолькоЧтение, + Истина); + + ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя); + + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + ВременныеФайлы.УдалитьФайл(ПутьКФайлуВерсии); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); + КонецПроцедуры Процедура ТестДолжен_СкопироватьПользователейИзХранилища() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - - КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор", - "ПарольАдминистратора"); - Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); - - НовыйПользователь = "ТестовыйПользователь"; - ПарольПользователя = "123"; - УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища, - "Администратор", - "ПарольАдминистратора", - НовыйПользователь, - ПарольПользователя, - ПраваПользователяХранилища.ТолькоЧтение, - Истина); - - ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя); - - Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); - - КаталогВременногоХранилища2 = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository2"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища2, - "Администратор2", - "ПарольАдминистратора2"); - Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища2), "Временное хранилище 2 конфигурации должно существовать"); - - УправлениеКонфигуратором.КопироватьПользователейИзХранилища(КаталогВременногоХранилища2, - "Администратор2", - "ПарольАдминистратора2", - КаталогВременногоХранилища, - "Администратор", - "ПарольАдминистратора", - Истина); - - ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища2, НовыйПользователь, ПарольПользователя); - - Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); - Утверждения.ПроверитьИстину( Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища2 ); - ВременныеФайлы.УдалитьФайл( ПутьКФайлуВерсии ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); - + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( + КаталогВременногоХранилища, + "Администратор", + "ПарольАдминистратора"); + Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать"); + + НовыйПользователь = "ТестовыйПользователь"; + ПарольПользователя = "123"; + УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища, + "Администратор", + "ПарольАдминистратора", + НовыйПользователь, + ПарольПользователя, + ПраваПользователяХранилища.ТолькоЧтение, + Истина); + + ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя); + + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); + + КаталогВременногоХранилища2 = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository2"); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( + КаталогВременногоХранилища2, + "Администратор2", + "ПарольАдминистратора2"); + Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища2), "Временное хранилище 2 конфигурации должно существовать"); + + УправлениеКонфигуратором.КопироватьПользователейИзХранилища(КаталогВременногоХранилища2, + "Администратор2", + "ПарольАдминистратора2", + КаталогВременногоХранилища, + "Администратор", + "ПарольАдминистратора", + Истина); + + ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища2, НовыйПользователь, ПарольПользователя); + + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать"); + Утверждения.ПроверитьИстину(Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища2); + ВременныеФайлы.УдалитьФайл(ПутьКФайлуВерсии); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); + КонецПроцедуры Процедура ТестДолжен_ОставитьФайлИнформации() Экспорт ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - + // Переинициализация класса, чтобы предыдущие установки не влияли на чистоту теста УправлениеКонфигуратором = Новый УправлениеКонфигуратором; - + внешнийФайлИнформации = ВременныеФайлы.СоздатьФайл(); - УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы( внешнийФайлИнформации ); - + УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы(внешнийФайлИнформации); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); - + КаталогВременногоХранилища, + "Администратор"); + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(внешнийФайлИнформации), "Внешний файл информации должен существовать"); - + текстВывода = УправлениеКонфигуратором.ВыводКоманды(); - + Чтение = Новый ЧтениеТекста(внешнийФайлИнформации); текстВФайле = Чтение.Прочитать(); Чтение.Закрыть(); - - Утверждения.ПроверитьРавенство( текстВФайле, текстВывода, "Вывод и текст файла должны совпадать"); - Утверждения.ПроверитьРавенство( внешнийФайлИнформации, УправлениеКонфигуратором.ФайлИнформации(), "Внешний файл и файл информации должны совпадать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - ВременныеФайлы.УдалитьФайл( внешнийФайлИнформации ); + + Утверждения.ПроверитьРавенство(текстВФайле, текстВывода, "Вывод и текст файла должны совпадать"); + Утверждения.ПроверитьРавенство(внешнийФайлИнформации, УправлениеКонфигуратором.ФайлИнформации(), "Внешний файл и файл информации должны совпадать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + ВременныеФайлы.УдалитьФайл(внешнийФайлИнформации); УправлениеКонфигуратором.УдалитьВременнуюБазу(); - + // Переинициализация класса, чтобы предыдущие установки не влияли на чистоту теста УправлениеКонфигуратором = Новый УправлениеКонфигуратором; - + внешнийФайлИнформацииДописываемый = ВременныеФайлы.СоздатьФайл(); - УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы( внешнийФайлИнформацииДописываемый, Ложь ); - + УправлениеКонфигуратором.УстановитьИмяФайлаСообщенийПлатформы(внешнийФайлИнформацииДописываемый, Ложь); + текстКоторыйУжеЛежитВФайле = "Very important text in file. Do not delete."; - + СистемнаяИнформация = Новый СистемнаяИнформация; ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; - + Кодировка = ?(ЭтоWindows, КодировкаТекста.ANSI, "utf-8"); ЗаписьТекста = Новый ЗаписьТекста(внешнийФайлИнформацииДописываемый, Кодировка); - ЗаписьТекста.ЗаписатьСтроку( текстКоторыйУжеЛежитВФайле ); + ЗаписьТекста.ЗаписатьСтроку(текстКоторыйУжеЛежитВФайле); ЗаписьТекста.Закрыть(); - + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); - + КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository"); - + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации( - КаталогВременногоХранилища, - "Администратор"); - + КаталогВременногоХранилища, + "Администратор"); + Утверждения.ПроверитьИстину(ФС.ФайлСуществует(внешнийФайлИнформацииДописываемый), "Внешний файл информации должен существовать"); - + текстВывода = УправлениеКонфигуратором.ВыводКоманды(); - + Чтение = Новый ЧтениеТекста(внешнийФайлИнформацииДописываемый); текстВФайле = Чтение.Прочитать(); Чтение.Закрыть(); - - Утверждения.ПроверитьИстину( СтрНайти( текстВФайле, текстКоторыйУжеЛежитВФайле ) > 0 , "В файле должен быть текст, записанный ранее"); - Утверждения.ПроверитьИстину( СтрНайти( текстВФайле, текстВывода ) > 0 , "В файле должен быть текст вывода последней команды"); - Утверждения.ПроверитьНеРавенство( текстВФайле, текстВывода, "Текст в файле вывода и в выводе должны отличаться"); - Утверждения.ПроверитьРавенство( внешнийФайлИнформацииДописываемый, УправлениеКонфигуратором.ФайлИнформации(), "Внешний файл и файл информации должны совпадать"); - - ВременныеФайлы.УдалитьФайл( КаталогВременногоХранилища ); - ВременныеФайлы.УдалитьФайл( внешнийФайлИнформацииДописываемый ); + + Утверждения.ПроверитьИстину(СтрНайти(текстВФайле, текстКоторыйУжеЛежитВФайле) > 0, "В файле должен быть текст, записанный ранее"); + Утверждения.ПроверитьИстину(СтрНайти(текстВФайле, текстВывода) > 0, "В файле должен быть текст вывода последней команды"); + Утверждения.ПроверитьНеРавенство(текстВФайле, текстВывода, "Текст в файле вывода и в выводе должны отличаться"); + Утверждения.ПроверитьРавенство(внешнийФайлИнформацииДописываемый, УправлениеКонфигуратором.ФайлИнформации(), "Внешний файл и файл информации должны совпадать"); + + ВременныеФайлы.УдалитьФайл(КаталогВременногоХранилища); + ВременныеФайлы.УдалитьФайл(внешнийФайлИнформацииДописываемый); УправлениеКонфигуратором.УдалитьВременнуюБазу(); КонецПроцедуры Процедура ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииОсновнойКонфигурацииСФайлом() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла("txt"); - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - - УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом( - ФайлКонфигурации, + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + + УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом( + ФайлКонфигурации, ПутьКФайлуОтчета ); - + ФайлОтчетаСуществует = ФС.ФайлСуществует(ПутьКФайлуОтчета); - - ВременныеФайлы.УдалитьФайл( ПутьКФайлуОтчета ); - ВременныеФайлы.УдалитьФайл( ВременныйКаталог ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); + + ВременныеФайлы.УдалитьФайл(ПутьКФайлуОтчета); + ВременныеФайлы.УдалитьФайл(ВременныйКаталог); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); Утверждения.ПроверитьИстину( - Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), + Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать" ); - + Утверждения.ПроверитьИстину( ФайлОтчетаСуществует, "Отчет о сравнении конфигурации с файлом должен существовать" - ); - + ); + КонецПроцедуры Процедура ТестДолжен_ПроверитьОсновнаяКонфигурацияИдентичнаФайлу() Экспорт - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); - - КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны( - ФайлКонфигурации - ); - - УправлениеКонфигуратором.УдалитьВременнуюБазу(); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + + КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны( + ФайлКонфигурации + ); + + УправлениеКонфигуратором.УдалитьВременнуюБазу(); УдалитьФайлы(ВременныйКаталог); - + Утверждения.ПроверитьИстину(КонфигурацииИдентичны, "Конфигурации отличаются"); Утверждения.ПроверитьИстину( - Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), + Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать" ); - + КонецПроцедуры Процедура ТестДолжен_ПроверитьФормированиеФайлаОтчетаОСравненииКонфигурацииРасширенияСФайлом() Экспорт - - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); + + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); ПутьКФайлуОтчета = ПолучитьИмяВременногоФайла("txt"); - - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe"); - ИмяРасширения = "Test_Extension"; - - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe"); + + ИмяРасширения = "Test_Extension"; + + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); УправлениеКонфигуратором.ЗагрузитьРасширениеИзФайла(ФайлРасширения, ИмяРасширения); - УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом( - ФайлРасширения, + УправлениеКонфигуратором.ПолучитьОтчетОСравненииКонфигурацииСФайлом( + ФайлРасширения, ПутьКФайлуОтчета, , , ИмяРасширения ); - + ФайлОтчетаСуществует = ФС.ФайлСуществует(ПутьКФайлуОтчета); - - ВременныеФайлы.УдалитьФайл( ПутьКФайлуОтчета ); - ВременныеФайлы.УдалитьФайл( ВременныйКаталог ); - УправлениеКонфигуратором.УдалитьВременнуюБазу(); + + ВременныеФайлы.УдалитьФайл(ПутьКФайлуОтчета); + ВременныеФайлы.УдалитьФайл(ВременныйКаталог); + УправлениеКонфигуратором.УдалитьВременнуюБазу(); Утверждения.ПроверитьИстину( - Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), + Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать" ); - + Утверждения.ПроверитьИстину( ФайлОтчетаСуществует, "Отчет о сравнении конфигурации с файлом должен существовать" - ); - + ); + КонецПроцедуры Процедура ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу() Экспорт - ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - - УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + ВременныйКаталог = ВременныеФайлы.СоздатьКаталог(); - ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); - ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe"); + УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог); + + ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cf"); + ФайлРасширения = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0", "1Cv8.cfe"); - ИмяРасширения = "Test_Extension"; + ИмяРасширения = "Test_Extension"; - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации); УправлениеКонфигуратором.ЗагрузитьРасширениеИзФайла(ФайлРасширения, ИмяРасширения); - - КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны( - ФайлРасширения, - ИмяРасширения - ); - - УправлениеКонфигуратором.УдалитьВременнуюБазу(); + + КонфигурацииИдентичны = УправлениеКонфигуратором.КонфигурацияИФайлИдентичны( + ФайлРасширения, + ИмяРасширения + ); + + УправлениеКонфигуратором.УдалитьВременнуюБазу(); ВременныеФайлы.УдалитьФайл(ВременныйКаталог); - + Утверждения.ПроверитьИстину(КонфигурацииИдентичны, "Конфигурации отличаются"); Утверждения.ПроверитьИстину( - Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), + Не ФС.ФайлСуществует(УправлениеКонфигуратором.ФайлИнформации()), "Внутренний файл информации не должен существовать" ); + +КонецПроцедуры + + +Процедура ТестДолжен_ПолучитьПараметрыСтрокиСоединенияСФайловойБазой() Экспорт + + ПоУмолчанию = ТекущийКаталог(); + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения(); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ПутьКФайлуБазы"), "Стркутура должна содержать ключ 'ПутьКФайлуБазы'"); + +КонецПроцедуры +Процедура ТестДолжен_СформироватьСтрокуСоединенияСФайловойБазой() Экспорт + + ПоУмолчанию = ТекущийКаталог(); + СтрокаСоединенияЭталон = "/F""D:\1c\1Cv8.1CD"""; + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения(); + ПараметрыСтрокиСоединения.ПутьКФайлуБазы = "D:\1c\1Cv8.1CD"; + СтрокаСоединения = УправлениеКонфигуратором.СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения); + + ТестОшибки = СтрШаблон("Строка соединения %1 НЕ совпадает с эталоном %2", СтрокаСоединения, СтрокаСоединенияЭталон); + + Утверждения.ПроверитьРавенство(СтрокаСоединения, СтрокаСоединенияЭталон, ТестОшибки); + КонецПроцедуры +Процедура ТестДолжен_ПолучитьПараметрыСтрокиСоединенияССервернойБазой() Экспорт + + ПоУмолчанию = ТекущийКаталог(); + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения(); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("Сервер"), "Стркутура должна содержать ключ 'Сервер'"); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("Порт"), "Стркутура должна содержать ключ 'Порт'"); + Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ИмяБазы"), "Стркутура должна содержать ключ 'ИмяБазы'"); + +КонецПроцедуры + +Процедура ТестДолжен_СформироватьСтрокуСоединенияССервернойБазой() Экспорт + + ПоУмолчанию = ТекущийКаталог(); + СтрокаСоединенияЭталон = "/IBConnectionString""Srvr='someserver:2041'; Ref='database'"""; + + ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения(); + ПараметрыСтрокиСоединения.Сервер = "someserver"; + ПараметрыСтрокиСоединения.Порт = "2041"; + ПараметрыСтрокиСоединения.ИмяБазы = "database"; + + СтрокаСоединения = УправлениеКонфигуратором.СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения); + + ТестОшибки = СтрШаблон("Строка соединения %1 НЕ совпадает с эталоном %2", СтрокаСоединения, СтрокаСоединенияЭталон); + + Утверждения.ПроверитьРавенство(СтрокаСоединения, СтрокаСоединенияЭталон, ТестОшибки); + +КонецПроцедуры + + + Функция ХранилищеКонфигурацииСуществует(Знач ПапкаХранилища) - Возврат ФС.ФайлСуществует( ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD")); + Возврат ФС.ФайлСуществует(ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD")); КонецФункции ////////////////////////////////////////////////////////////////////////////////////// // Инициализация -Инициализация(); +Инициализация(); \ No newline at end of file