Всем форумчанам большой привет!
Разрабатываю дымовой тест, на xUnitFor1C, у нас есть некие предопределенные роли с необходимыми правами.
Например роль "ВсеПрава" подразумевает под собой то, что у неё есть все права на прикладные объекты метаданных за исключением интерактивного удаления (прикладных, помеченных и тд.).
Вопрос заключается в том, что данные тесты собираемся запускать на разных версиях конфигурациях, а это значит что права там будут разные (они меняются практически с каждым новым релизом). Естественно все права будут проверяться через попытку, чтобы исключить случаи падения теста.
Одним из вариантов будет переписать все права из самой свежей конфигурации и прогонять их, а с другой я задался вопросом реально ли каким-то образом вытащить весь список названий метаданных прав для определенной конфигурации.
В общем решил вопрос.
Вывел весь список прав по подсистемам.
Теперь надо было определиться с тем, что это просто синонимы. А также избавиться от дубляжей.
Excel в помощь как говорится, удалил дубляжи, затем воспользовался функцией ПРОПНАЧ (изменил начальные буквы прав на заглавные), далее удалил все пробелы CTRL+H.
Затем вставил данные права в свой дымовой тест, по результатам теста протыкал все нужные права. Те которые остались не отмеченными, означало, что название данного права не совпадало. Действительно, например "Изменение аутентификации операционной системы сеанса" называется как "ИзменениеАутентификацииОССеанса". Исправил все нужные мне названия прав.
В результате список прав из ИТС совсем не такой, результат списка кому нужно на версии конфигурации 8.3.18.1289:
Список прав
Просмотр
Администрирование
ВводПоСтроке
Выполнение
Добавление
Изменение
ИзменениеАутентификацииОССеанса
ИзменениеИсторииДанных
ИзменениеИсторииДанныхОтсутствующихДанных
ИзменениеКомментарияВерсииИсторииДанных
ИзменениеНастроекИстории
ИзменениеНастроекИсторииДанных
ИзменениеСтандартнойАутентификации
ИзменениеСтандартнойАутентификацииСеанса
ИнтерактивнаяАктивация
ИнтерактивнаяОтменаПроведения
ИнтерактивнаяПометкаУдаленияПредопределенныхДанных
ИнтерактивнаяПометкаУдаления
ИнтерактивноеВыполнение
ИнтерактивноеДобавление
ИнтерактивноеИзменениеПроведенных
ИнтерактивноеПроведение
ИнтерактивноеПроведениеНеоперативное
ИнтерактивноеСнятиеПометкиУдаления
ИнтерактивноеСнятиеПометкиУдаленияПредопределенныхДанных
ИнтерактивноеУдаление
ИнтерактивноеУдалениеПомеченных
ИнтерактивноеУдалениеПомеченныхПредопределенныхДанных
ИнтерактивноеУдалениеПредопределенных
ИнтерактивныйСтарт
Использование
ОтменаПроведения
ПереходНаВерсиюИсторииДанных
Получение
Проведение
Просмотр
ПросмотрИсторииДанных
Редактирование
РедактированиеКомментарияВерсииИсторииДанных
Старт
Удаление
УправлениеИтогами
Установка
Чтение
ЧтениеИсторииДанных
ЧтениеИсторииДанныхОтсутствующихДанных
По поводу добавление или изменения прав с выходом новых версий релизов решили, что будет просто смотреть что добавилось и добавлять в проверку)
(4) Роль это роль, Названия ролей может отличаться от конфы к конфе. Право же (Чтение, просмотр и так далее) везде одинаковое.
Чтобы получить все роли, можно воспользоваться метаданными. Чтобы получить права по указанной роли, на 1С можно воспользоваться функцией ПравоДоступа, куда передать роль.
В общем решил вопрос.
Вывел весь список прав по подсистемам.
Теперь надо было определиться с тем, что это просто синонимы. А также избавиться от дубляжей.
Excel в помощь как говорится, удалил дубляжи, затем воспользовался функцией ПРОПНАЧ (изменил начальные буквы прав на заглавные), далее удалил все пробелы CTRL+H.
Затем вставил данные права в свой дымовой тест, по результатам теста протыкал все нужные права. Те которые остались не отмеченными, означало, что название данного права не совпадало. Действительно, например "Изменение аутентификации операционной системы сеанса" называется как "ИзменениеАутентификацииОССеанса". Исправил все нужные мне названия прав.
В результате список прав из ИТС совсем не такой, результат списка кому нужно на версии конфигурации 8.3.18.1289:
Список прав
Просмотр
Администрирование
ВводПоСтроке
Выполнение
Добавление
Изменение
ИзменениеАутентификацииОССеанса
ИзменениеИсторииДанных
ИзменениеИсторииДанныхОтсутствующихДанных
ИзменениеКомментарияВерсииИсторииДанных
ИзменениеНастроекИстории
ИзменениеНастроекИсторииДанных
ИзменениеСтандартнойАутентификации
ИзменениеСтандартнойАутентификацииСеанса
ИнтерактивнаяАктивация
ИнтерактивнаяОтменаПроведения
ИнтерактивнаяПометкаУдаленияПредопределенныхДанных
ИнтерактивнаяПометкаУдаления
ИнтерактивноеВыполнение
ИнтерактивноеДобавление
ИнтерактивноеИзменениеПроведенных
ИнтерактивноеПроведение
ИнтерактивноеПроведениеНеоперативное
ИнтерактивноеСнятиеПометкиУдаления
ИнтерактивноеСнятиеПометкиУдаленияПредопределенныхДанных
ИнтерактивноеУдаление
ИнтерактивноеУдалениеПомеченных
ИнтерактивноеУдалениеПомеченныхПредопределенныхДанных
ИнтерактивноеУдалениеПредопределенных
ИнтерактивныйСтарт
Использование
ОтменаПроведения
ПереходНаВерсиюИсторииДанных
Получение
Проведение
Просмотр
ПросмотрИсторииДанных
Редактирование
РедактированиеКомментарияВерсииИсторииДанных
Старт
Удаление
УправлениеИтогами
Установка
Чтение
ЧтениеИсторииДанных
ЧтениеИсторииДанныхОтсутствующихДанных
По поводу добавление или изменения прав с выходом новых версий релизов решили, что будет просто смотреть что добавилось и добавлять в проверку)