Ресурс ibmdb2_session
Используйте ресурс проверки аудита Chef InSpec ibmdb2_session для проверки SQL-команд, выполняемых против базы данных IBM Db2. Убедитесь, что вы используете учетные данные пользователя экземпляра базы данных IBM Db2 для выполнения теста InSpec.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Синтаксис
Блок ресурса ibmdb2_session объявляет db2_executable_file_path, db_instance и db_name для использования в сессии, а затем запрос, который нужно выполнить:
describe ibmdb2_session(db2_executable_file_path: "/opt/ibm/db2/V11.5/bin/db2", db_instance: "db2inst1", db_name: "sample").query("select rolename from syscat.roleauth") do
its("output") { should match(/SYSTS_MGR/) }
end
Windows
describe ibmdb2_session(db_name: "sample").query("select rolename from syscat.roleauth") do
its("output") { should match(/SYSTS_MGR/) }
end
где
-
ibmdb2_sessionобъявляет db2_executable_file_path, db_instance и db_name для подключения. -
db2_executable_file_path— путь к двоичному файлу db2. Для Windows это не требуется. -
db_instance— имя экземпляра базы данных. Для Windows это не требуется. -
db_name— имя базы данных для запроса. -
query('QUERY')содержит запрос, который нужно выполнить. -
its('output') { should eq(/expected-result/) }сравнивает результаты запроса с ожидаемым результатом в тесте.
Примеры
В следующих примерах показано, как использовать этот ресурс аудита Chef InSpec.
Проверка соответствия имени роли
describe ibmdb2_session(db2_executable_file_path: "/opt/ibm/db2/V11.5/bin/db2", db_instance: "db2inst1", db_name: "sample").query("select rolename from syscat.roleauth") do
its("output") { should match(/SYSTS_MGR/) }
end
Проверка соответствия базы данных
describe ibmdb2_session(db2_executable_file_path: "/opt/ibm/db2/V11.5/bin/db2", db_instance: "db2inst1", db_name: "sample").query("list database directory") do
its("output") { should match(/SAMPLE/) }
end
Сопоставители
Полный список доступных сопоставителей можно найти на нашей странице сопоставителей.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/ibmdb2_session/