Spec-Zone.ru › Chef 18

mssql_session ресурс

[редактировать на GitHub]

Используйте ресурс проверки аудита Chef InSpec, чтобы протестировать SQL-команды, выполняемые на базе данных Microsoft SQL.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс стал доступен в версии v1.24.0 InSpec.

Синтаксис

Блок ресурса mssql_session объявляет имя пользователя и пароль для сессии, а затем команду, которую нужно выполнить:

describe mssql_session(user: 'username', password: 'password').query('QUERY').row(0).column('result') do
  its('value') { should eq('') }
end

где

  • mssql_session объявляет имя пользователя и пароль с разрешением на выполнение запроса. Пропуск параметров имени пользователя или пароля приводит к использованию аутентификации Windows как пользователя, от имени которого выполняется Chef InSpec. Вы также можете необязательно указать имя хоста и экземпляра. Если они опущены, по умолчанию они будут host: localhost и стандартный экземпляр.
  • query('QUERY') содержит запрос, который необходимо выполнить
  • its('value') { should eq('') } сравнивает результаты запроса с ожидаемым результатом в тесте

Примеры

В следующих примерах показано, как использовать этот ресурс проверки аудита Chef InSpec.

Проверка соответствия баз данных

sql = mssql_session(user: 'my_user', password: 'password')

describe sql.query("SELECT SERVERPROPERTY('ProductVersion') as result").row(0).column('result') do
  its("value") { should cmp > '12.00.4457' }
end

Проверка с использованием аутентификации Windows

sql = mssql_session

describe sql.query("SELECT SERVERPROPERTY('ProductVersion') as result").row(0).column('result') do
  its("value") { should cmp > '12.00.4457' }
end

Проверка определённого хоста и экземпляра

sql = mssql_session(user: 'my_user', password: 'password', host: 'mssqlserver', instance: 'foo')

describe sql.query("SELECT SERVERPROPERTY('ProductVersion') as result").row(0).column('result') do
  its("value") { should cmp > '12.00.4457' }
end

Проверка определённой базы данных

sql = mssql_session(user: 'my_user', password: 'password', db_name: 'test')

describe sql.query("SELECT Name AS result FROM Product WHERE ProductID == 1").row(0).column('result') do
  its("value") { should eq 'foo' }
end

Matchers

Полный список доступных matchers можно найти на нашей странице matchers.

© 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/mssql_session/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API