Skip to content

Commit 19456c6

Browse files
authored
Merge pull request #21 from oscript-library/master
Sync
2 parents c13b3ac + 12a34af commit 19456c6

File tree

3 files changed

+109
-9
lines changed

3 files changed

+109
-9
lines changed

src/v8runner.os

Lines changed: 57 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,63 @@
432432
ВыполнитьКоманду(Параметры);
433433
КонецПроцедуры
434434

435+
436+
// Добавление пользователя хранилища конфигурации.
437+
// Пользователь, от имени которого выполняется подключение к хранилищу, должен обладать административными правами.
438+
// Если пользователь с указанным именем существует, то пользователь добавлен не будет.
439+
// Параметры:
440+
// СтрокаСоединения - Строка - Строка соединения с хранилищем конфигурации
441+
// ПользовательХранилища - строка - Пользователь для подключения к хранилищю конфигурации
442+
// ПарольХранилища - Строка - Пароль пользователь для подключения к хранилищю конфигурации
443+
// НовыйПользователь - Строка - Имя создаваемого пользователя.
444+
// ПарольПользователя - Строка - Пароль создаваемого пользователя.
445+
// Право - ПраваПользователяХранилища - Права пользователя. Возможные значения:
446+
// ТолькоЧтение — право на просмотр, (по умолчанию)
447+
// ПравоЗахватаОбъектов — право на захват объектов,
448+
// ПравоИзмененияВерсий — право на изменение состава версий,
449+
// Администрирование — право на административные функции.
450+
// ВосстановитьУдаленного - Булево - флаг небходимости востановления удаленного пользователя
451+
// Если обнаружен удаленный пользователь с таким же именем, он будет восстановлен.
452+
//
453+
Процедура ДобавитьПользователяВХранилище(Знач СтрокаСоединения,
454+
Знач ПользовательХранилища,
455+
Знач ПарольХранилища,
456+
Знач НовыйПользователь,
457+
Знач ПарольПользователя = "",
458+
Знач Право = Неопределено,
459+
Знач ВосстановитьУдаленного = Ложь) Экспорт
460+
461+
Параметры = СтандартныеПараметрыЗапускаКонфигуратора();
462+
463+
Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаСоединения+"""");
464+
Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+"""");
465+
466+
Если Не ПустаяСтрока(ПарольХранилища) Тогда
467+
Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+"""");
468+
КонецЕсли;
469+
470+
Параметры.Добавить("/ConfigurationRepositoryAddUser ");
471+
Параметры.Добавить(СтрШаблон("-User ""%1""",НовыйПользователь));
472+
Если Не ПустаяСтрока(ПарольПользователя) Тогда
473+
Параметры.Добавить(СтрШаблон("-Pwd ""%1""",ПарольПользователя));
474+
КонецЕсли;
475+
476+
Если Не ЗначениеЗаполнено(Право) ТОгда
477+
Право = ПраваПользователяХранилища.ТолькоЧтение;
478+
КонецЕсли;
479+
480+
Параметры.Добавить(СтрШаблон("-Rights %1",Право));
481+
482+
483+
Если ВосстановитьУдаленного Тогда
484+
Параметры.Добавить("-RestoreDeletedUser");
485+
КонецЕсли;
486+
487+
ВыполнитьКоманду(Параметры);
488+
489+
КонецПроцедуры
490+
491+
435492
Процедура ВыгрузитьКонфигурациюВФайлы(Знач КаталогВыгрузки, Знач ФорматВыгрузки = "") Экспорт
436493

437494
Если НЕ ЗначениеЗаполнено(ФорматВыгрузки) Тогда
@@ -1146,14 +1203,6 @@
11461203
Возврат ФайлБазы.Существует();
11471204
КонецФункции
11481205

1149-
Функция ХранилищеКонфигурацииСуществует(Знач ПапкаХранилища) Экспорт
1150-
ФайлБазы = Новый Файл(ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD"));
1151-
1152-
Возврат ФайлБазы.Существует();
1153-
КонецФункции
1154-
1155-
1156-
11571206
Функция РазложитьСтрокуВМассивПодстрок(ИсходнаяСтрока, Разделитель)
11581207

11591208
МассивПодстрок = Новый Массив;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
Перем ТолькоЧтение Экспорт;
3+
Перем ПравоЗахватаОбъектов Экспорт;
4+
Перем ПравоИзмененияВерсий Экспорт;
5+
Перем Администрирование Экспорт;
6+
7+
///////////////////////////////////////////////////////////////
8+
9+
ТолькоЧтение = "ReadOnly";
10+
ПравоЗахватаОбъектов = "LockObjects";
11+
ПравоИзмененияВерсий = "ManageConfigurationVersions";
12+
Администрирование = "Administration";

tests/v8runner-test.os

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации(
7474
КаталогВременногоХранилища,
7575
"Администратор");
76-
Утверждения.ПроверитьИстину(УправлениеКонфигуратором.ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать");
76+
Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать");
7777
ВременныеФайлы.Удалить()
7878

7979
КонецПроцедуры
@@ -174,6 +174,45 @@
174174

175175
КонецПроцедуры
176176

177+
Процедура ТестДолжен_ДобавитьПользователяВХранилище() Экспорт
178+
179+
ВременныйКаталог = ВременныеФайлы.СоздатьКаталог();
180+
УправлениеКонфигуратором.КаталогСборки(ВременныйКаталог);
181+
182+
КаталогВременногоХранилища = ОбъединитьПути(ВременныйКаталог, "v8r_TempRepository");
183+
184+
ФайлКонфигурации = ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures", "1.0\1Cv8.cf");
185+
186+
187+
УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлКонфигурации);
188+
УправлениеКонфигуратором.СоздатьФайловоеХранилищеКонфигурации(
189+
КаталогВременногоХранилища,
190+
"Администратор");
191+
Утверждения.ПроверитьИстину(ХранилищеКонфигурацииСуществует(КаталогВременногоХранилища), "Временное хранилище конфигурации должно существовать");
192+
193+
НовыйПользователь = "ТестовыйПользователь";
194+
ПарольПользователя = "ТестПароль";
195+
УправлениеКонфигуратором.ДобавитьПользователяВХранилище(КаталогВременногоХранилища,
196+
"Администратор",
197+
,
198+
НовыйПользователь,
199+
ПарольПользователя,
200+
ПраваПользователяХранилища.ТолькоЧтение,
201+
Истина);
202+
203+
ПутьКФайлуВерсии = УправлениеКонфигуратором.ПолучитьВерсиюИзХранилища(КаталогВременногоХранилища, НовыйПользователь, ПарольПользователя);
204+
205+
Утверждения.ПроверитьИстину(ФайлСуществует(ПутьКФайлуВерсии), "Файл конфигурации из хранилища должен существовать");
206+
207+
ВременныеФайлы.Удалить()
208+
КонецПроцедуры
209+
210+
Функция ХранилищеКонфигурацииСуществует(Знач ПапкаХранилища)
211+
ФайлБазы = Новый Файл(ОбъединитьПути(ПапкаХранилища, "1cv8ddb.1CD"));
212+
213+
Возврат ФайлБазы.Существует();
214+
КонецФункции
215+
177216
// Проверяет существование каталога
178217
//
179218
// Параметры:

0 commit comments

Comments
 (0)