Skip to content

Commit 5ab63dd

Browse files
committed
Переработана настройка исключения из проверки объектов метаданных и ролей
Обновлен пример настроек теста
1 parent b701bc9 commit 5ab63dd

File tree

2 files changed

+36
-16
lines changed
  • tests/smoke
    • Тесты_ПроверкаПраваИнтерактивногоУдаления/Тесты_ПроверкаПраваИнтерактивногоУдаления/Forms/Форма/Ext/Form

2 files changed

+36
-16
lines changed

tests/smoke/smoke.example.json

+6-3
Original file line numberDiff line numberDiff line change
@@ -783,16 +783,19 @@
783783

784784
"Используется": false,
785785
"ПроверятьОсновныеРоли": true,
786-
"Префикс": "",
787-
"ОтборПоПрефиксу": false,
786+
"ПрефиксОбъекта": "",
787+
"ОтборПоПрефиксуОбъекта": false,
788+
"ПрефиксРоли": "",
789+
"ОтборПоПрефиксуРоли": false,
788790
"ИсключенияИзПроверок":{
789791

790792
"Справочники":[
791793
"Справочник1"
792794
],
793795
"Документы":[
794796
"Документ1"
795-
],
797+
]
798+
796799
}
797800

798801
},

tests/smoke/Тесты_ПроверкаПраваИнтерактивногоУдаления/Тесты_ПроверкаПраваИнтерактивногоУдаления/Forms/Форма/Ext/Form/Module.bsl

+30-13
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,13 @@
99
&НаКлиенте
1010
Перем ПроверятьОсновныеРоли;
1111
&НаКлиенте
12-
Перем ОтборПоПрефиксу;
12+
Перем ОтборПоПрефиксуОбъекта;
1313
&НаКлиенте
14-
Перем ПрефиксОбъектов;
14+
Перем ПрефиксОбъекта;
15+
&НаКлиенте
16+
Перем ОтборПоПрефиксуРоли;
17+
&НаКлиенте
18+
Перем ПрефиксРоли;
1519
&НаКлиенте
1620
Перем ИсключенияИзПроверок;
1721

@@ -39,7 +43,7 @@
3943
Возврат;
4044
КонецЕсли;
4145

42-
ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов, ИсключенияИзПроверок);
46+
ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксуОбъекта, ПрефиксОбъекта, ИсключенияИзПроверок);
4347

4448
Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл
4549
Если ОбъектМетаданных.Значение.Количество() = 0 Тогда
@@ -67,8 +71,10 @@
6771
Возврат;
6872
КонецЕсли;
6973

70-
ПрефиксОбъектов = "";
71-
ОтборПоПрефиксу = Ложь;
74+
ПрефиксОбъекта = "";
75+
ОтборПоПрефиксуОбъекта = Ложь;
76+
ПрефиксРоли = "";
77+
ОтборПоПрефиксуРоли = Ложь;
7278
ИсключенияИзПроверок = Новый Структура;
7379
ПроверятьОсновныеРоли = Истина;
7480

@@ -85,12 +91,20 @@
8591
ПроверятьОсновныеРоли = Настройки.ПроверятьОсновныеРоли;
8692
КонецЕсли;
8793

88-
Если Настройки.Свойство("Префикс") Тогда
89-
ПрефиксОбъектов = ВРег(Настройки.Префикс);
94+
Если Настройки.Свойство("ПрефиксОбъекта") Тогда
95+
ПрефиксОбъекта = ВРег(Настройки.ПрефиксОбъекта);
96+
КонецЕсли;
97+
98+
Если Настройки.Свойство("ОтборПоПрефиксуОбъекта") Тогда
99+
ОтборПоПрефиксуОбъекта = Настройки.ОтборПоПрефиксуОбъекта;
100+
КонецЕсли;
101+
102+
Если Настройки.Свойство("ПрефиксРоли") Тогда
103+
ПрефиксРоли = ВРег(Настройки.ПрефиксРоли);
90104
КонецЕсли;
91105

92-
Если Настройки.Свойство("ОтборПоПрефиксу") Тогда
93-
ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу;
106+
Если Настройки.Свойство("ОтборПоПрефиксуРоли") Тогда
107+
ОтборПоПрефиксуРоли = Настройки.ОтборПоПрефиксуРоли;
94108
КонецЕсли;
95109

96110
Если Настройки.Свойство("ИсключенияИзПроверок") Тогда
@@ -106,14 +120,14 @@
106120
&НаКлиенте
107121
Процедура ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных) Экспорт
108122

109-
Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ПроверятьОсновныеРоли);
123+
Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ОтборПоПрефиксуРоли, ПрефиксРоли, ПроверятьОсновныеРоли);
110124
ШаблонСообщения = НСтр("ru = 'Есть право на интерактивное удаление объектов:%1'");
111125
Утверждения.Проверить(Результат = "", СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат));
112126

113127
КонецПроцедуры
114128

115129
&НаСервереБезКонтекста
116-
Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ПроверятьОсновныеРоли)
130+
Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ОтборПоПрефиксуРоли, ПрефиксРоли, ПроверятьОсновныеРоли)
117131

118132
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных);
119133
ЕстьПраво = Ложь;
@@ -123,6 +137,9 @@
123137
Если Не ПроверятьОсновныеРоли И Метаданные.ОсновныеРоли.Содержит(Роль) Тогда
124138
Продолжить;
125139
КонецЕсли;
140+
Если ОтборПоПрефиксуРоли И Не СтрНачинаетсяС(ВРег(Роль.Имя), ВРег(ПрефиксРоли)) Тогда
141+
Продолжить;
142+
КонецЕсли;
126143
ЕстьПраво = ПравоДоступа("ИнтерактивноеУдаление", ОбъектМетаданных, Роль);
127144
Если ЕстьПраво Тогда
128145
Результат = Результат + Символы.ПС + Роль.Имя;
@@ -138,7 +155,7 @@
138155
#Область СлужебныеПроцедурыИФункции
139156

140157
&НаСервереБезКонтекста
141-
Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов, ИсключенияИзПроверок)
158+
Функция ОбъектыМетаданных(ОтборПоПрефиксуОбъекта, ПрефиксОбъекта, ИсключенияИзПроверок)
142159

143160
ЛокальныйКонтекстЯдра = ВнешниеОбработки.Создать("xddTestRunner");
144161

@@ -158,7 +175,7 @@
158175
Для Каждого Элемент Из ОбъектыМетаданных Цикл
159176
Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл
160177
ПолноеИмяОбъекта = ОбъектМетаданных.ПолноеИмя();
161-
Если ОтборПоПрефиксу И Не СтрНачинаетсяС(ВРег(ОбъектМетаданных.Имя), ВРег(ПрефиксОбъектов)) Тогда
178+
Если ОтборПоПрефиксуОбъекта И Не СтрНачинаетсяС(ВРег(ОбъектМетаданных.Имя), ВРег(ПрефиксОбъекта)) Тогда
162179
Продолжить;
163180
КонецЕсли;
164181
Если ИсключенияИзПроверок.Свойство(Элемент.Ключ)

0 commit comments

Comments
 (0)