Skip to content

Commit 06b9c0c

Browse files
committed
Добавлена логика формирования строки соединения
Сделано для упрощения понимания
1 parent 3e5e1fc commit 06b9c0c

File tree

2 files changed

+119
-0
lines changed

2 files changed

+119
-0
lines changed

src/v8runner.os

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2544,6 +2544,64 @@
25442544

25452545
КонецФункции
25462546

2547+
Функция СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения) Экспорт
2548+
2549+
Если ТипЗнч(ПараметрыСтрокиСоединения) <> Тип("Структура") Тогда
2550+
Возврат "";
2551+
КонецЕсли;
2552+
2553+
Если ПараметрыСтрокиСоединения.Свойство("ЭтоФайловыйВариант") Тогда
2554+
СтрокаСоединения = СтрШаблон("/F""%1""", ПараметрыСтрокиСоединения.ПутьКБазе);
2555+
Иначе
2556+
СтрокаСоединения = СтрШаблон(
2557+
"/IBConnectionString""Srvr='%1:%2'; Ref='%3'""",
2558+
ПараметрыСтрокиСоединения.Сервер,
2559+
ПараметрыСтрокиСоединения.Порт,
2560+
ПараметрыСтрокиСоединения.ИмяБазы);
2561+
КонецЕсли;
2562+
2563+
Возврат СтрокаСоединения;
2564+
2565+
КонецФункции
2566+
2567+
// возвращает параметры строки соединения с файловой базой
2568+
//
2569+
// Возвращаемое значение:
2570+
// - Структура
2571+
// * ПутьКБазе - Строка
2572+
// * ЭтоФайловыйВариант - Строка - служебный ключ, что это параметры файловой базы
2573+
//
2574+
Функция ПараметрыСтрокиСоединения_ФайловыйВариант() Экспорт
2575+
2576+
ПараметрыСтрокиСоединения = Новый Структура;
2577+
2578+
ПараметрыСтрокиСоединения.Вставить("ПутьКбазе", "");
2579+
ПараметрыСтрокиСоединения.Вставить("ЭтоФайловыйВариант", Истина);
2580+
2581+
Возврат ПараметрыСтрокиСоединения;
2582+
2583+
КонецФункции
2584+
2585+
// возвращает параметры строки соединения с базой на сервере
2586+
//
2587+
// Возвращаемое значение:
2588+
// - Структура
2589+
// * Сервер - Строка
2590+
// * Порт - Строка
2591+
// * ИмяБазы - Строка
2592+
//
2593+
Функция ПараметрыСтрокиСоединения_СерверныйВариант() Экспорт
2594+
2595+
ПараметрыСтрокиСоединения = Новый Структура;
2596+
2597+
ПараметрыСтрокиСоединения.Вставить("Сервер", "");
2598+
ПараметрыСтрокиСоединения.Вставить("Порт", "");
2599+
ПараметрыСтрокиСоединения.Вставить("ИмяБазы", "");
2600+
2601+
Возврат ПараметрыСтрокиСоединения;
2602+
2603+
КонецФункции
2604+
25472605
#КонецОбласти
25482606

25492607
Лог = Логирование.ПолучитьЛог("oscript.lib.v8runner");

tests/v8runner-test.os

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
СписокТестов.Добавить("ТестДолжен_ПроверитьКонфигурацияРасширенияИдентичнаФайлу");
3636
СписокТестов.Добавить("ТестДолжен_ОставитьФайлИнформации");
3737

38+
СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСтрокиСоединенияСФайловойБазой");
39+
СписокТестов.Добавить("ТестДолжен_СформироватьСтрокуСоединенияСФайловойБазой");
40+
СписокТестов.Добавить("ТестДолжен_ПолучитьПараметрыСтрокиСоединенияССервернойБазой");
41+
СписокТестов.Добавить("ТестДолжен_СформироватьСтрокуСоединенияССервернойБазой");
42+
3843
Возврат СписокТестов;
3944

4045
КонецФункции
@@ -516,6 +521,62 @@
516521

517522
КонецПроцедуры
518523

524+
525+
Процедура ТестДолжен_ПолучитьПараметрыСтрокиСоединенияСФайловойБазой() Экспорт
526+
527+
ПоУмолчанию = ТекущийКаталог();
528+
529+
ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_ФайловыйВариант();
530+
Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ПутьКБазе"), "Стркутура должна содержать ключ 'ПутьКФайлу'");
531+
532+
КонецПроцедуры
533+
534+
Процедура ТестДолжен_СформироватьСтрокуСоединенияСФайловойБазой() Экспорт
535+
536+
ПоУмолчанию = ТекущийКаталог();
537+
СтрокаСоединенияЭталон = "/F'D:\1c\1cv8.dt'";
538+
539+
ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_ФайловыйВариант();
540+
ПараметрыСтрокиСоединения.ПутьКБазе = "D:\1c\1cv8.dt";
541+
СтрокаСоединения = УправлениеКонфигуратором.СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения);
542+
543+
ТестОшибки = СтрШаблон("Строка соединения %1 НЕ совпадает с эталоном %2", СтрокаСоединения, СтрокаСоединенияЭталон);
544+
545+
Утверждения.ПроверитьРавенство(СтрокаСоединения, СтрокаСоединенияЭталон, ТестОшибки);
546+
547+
КонецПроцедуры
548+
549+
Процедура ТестДолжен_ПолучитьПараметрыСтрокиСоединенияССервернойБазой() Экспорт
550+
551+
ПоУмолчанию = ТекущийКаталог();
552+
553+
ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_СерверныйВариант();
554+
Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("Сервер"), "Стркутура должна содержать ключ 'Сервер'");
555+
Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("Порт"), "Стркутура должна содержать ключ 'Порт'");
556+
Утверждения.Проверить(ПараметрыСтрокиСоединения.Свойство("ИмяБазы"), "Стркутура должна содержать ключ 'ИмяБазы'");
557+
558+
КонецПроцедуры
559+
560+
Процедура ТестДолжен_СформироватьСтрокуСоединенияССервернойБазой() Экспорт
561+
562+
ПоУмолчанию = ТекущийКаталог();
563+
СтрокаСоединенияЭталон = "/IBConnectionString""Srvr='someserver:2041'; Ref='database'""";
564+
565+
ПараметрыСтрокиСоединения = УправлениеКонфигуратором.ПараметрыСтрокиСоединения_СерверныйВариант();
566+
ПараметрыСтрокиСоединения.Сервер = "someserver";
567+
ПараметрыСтрокиСоединения.Порт = "2041";
568+
ПараметрыСтрокиСоединения.ИмяБазы = "database";
569+
570+
СтрокаСоединения = УправлениеКонфигуратором.СформироватьСтрокуСоединения(ПараметрыСтрокиСоединения);
571+
572+
ТестОшибки = СтрШаблон("Строка соединения %1 НЕ совпадает с эталоном %2", СтрокаСоединения, СтрокаСоединенияЭталон);
573+
574+
Утверждения.ПроверитьРавенство(СтрокаСоединения, СтрокаСоединенияЭталон, ТестОшибки);
575+
576+
КонецПроцедуры
577+
578+
579+
519580
Функция ХранилищеКонфигурацииСуществует(Знач ПапкаХранилища)
520581
Возврат ФС.ФайлСуществует( ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD"));
521582
КонецФункции

0 commit comments

Comments
 (0)