2010-07-26 2 views
2

Как вы используете код интеграции/интеграции, требующий другого уровня привилегий, чем существует в вашей среде непрерывной интеграции?Автоматическое тестирование привилегированных операций

В моей среде без полномочий root, CCRB -driven build, у меня есть некоторые служебные функции, которые предполагают привилегии, которые не хранятся в моей автоматической среде сборки: либо привилегии root, либо специальные учетные записи и группы. (Например, одна функция изменяет UID/GID и дополнительные группы на указанную учетную запись, меняет корень и текущий рабочий каталог и разводится с любого управляющего терминала.)

Мы могли бы провести тесты вручную, конечно, но затем мы могли бы забыть их запустить.

Как другие решают эту проблему?

ответ

0

Я бы попытался разложить код управления безопасностью за макетным интерфейсом, так что в модульных тестах я могу предоставить фальшивые привилегии, но я хочу.

Таким образом можно было бы протестировать как запрещающие требуемые привилегии, так и функции с отказами, а также с предоставленными ей привилегиями, что она должна делать.

Без более конкретных деталей трудно сказать больше.

+0

Можете ли вы прояснить, например, как вы проверили функцию, предназначенную для вызова как root, которая изменяет UID/GID, рабочий каталог и корень файловой системы? – pilcrow

+0

@pilcrow, как я уже сказал, я попытался скрыть все эти функционалы за макетируемыми интерфейсами, с двумя реализациями: реальным, который будет использоваться в производстве, и макетной реализацией, предназначенной для модульного тестирования, которая может быть предварительно сконфигурирована для вернуть необходимые значения (ы) и позволить мне распознавать вызовы методов и значения параметров. Таким образом, в моей тестовой среде я мог «проверять» все привилегии, которые мне нужны, и я мог бы почувствовать, что правильные методы вызываются с правильными параметрами без побочного эффекта фактически изменяющегося состояния системы. –

+0

éter, это «код управления безопасностью», который я хочу проверить. Я не хочу насмехаться над проверкой того, что я потерял ложные привилегии, я хочу проверить, действительно ли я сбросил фактические привилегии. – pilcrow

Смежные вопросы