Spec-Zone.ru › Chef 18

Ресурс mongodb_session

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

Используйте ресурс аудита Chef InSpec mongodb_session для выполнения команд MongoDB в базе данных MongoDB.

Доступность

Установка

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

Синтаксис

Блок ресурса mongodb_session объявляет user, password, и database для сессии, а затем команду для выполнения:

describe mongodb_session(user: “username”, password: “password”, database: “test”).query(key: value) do its(“params”) { should match(/expected-result/) } end

где

  • mongodb_session объявляет пользователя, пароль и базу данных, подключаясь локально с разрешением на выполнение запроса.
  • query содержит запрос, который необходимо выполнить.
  • its("params") { should eq(/expected-result/) } сравнивает результаты запроса с ожидаемым результатом в тесте

Дополнительные параметры

Ресурс mongodb_session InSpec принимает параметры user, password, host, port, auth_source, auth_mech, ssl, ssl_cert, ssl_ca_cert, и auth_mech_properties.

В частности:

host

IP-адрес сервера. Значение по умолчанию: 127.0.0.1.

port

Порт сервера. Значение по умолчанию: 27017.

auth_mech

Механизм аутентификации. Доступные варианты: :scram, :scram256, :mongodb_x509, и :aws. Значение по умолчанию: :scram.

Дополнительную информацию см. в документации MongoDB по аутентификации Ruby драйвера.

auth_source

База данных, в которой хранятся учетные данные пользователя. Значение по умолчанию — имя базы данных, переданное в качестве параметра ресурсу.

ssl

Использовать протокол безопасности SSL или нет. Установите в true для использования SSL-транспорта, значение по умолчанию: false. Дополнительную информацию см. в документации MongoDB по аутентификации Ruby драйвера.

‘ssl_cert’

Путь к файлу сертификата SSL.

ssl_ca_cert

Путь к файлу сертификата центра сертификации (CA).

ssl_key

Путь к файлу ключа SSL.

auth_mech_properties

Хэш свойств механизма аутентификации. Этот параметр обычно используется с механизмом аутентификации AWS. Дополнительную информацию см. в документации MongoDB по аутентификации Ruby драйвера с использованием AWS.

Документация по справке запросов MongoDB

Этот ресурс использует MongoDB Ruby Driver для извлечения данных.

Примеры

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

Проверка информации о ролях с помощью команды rolesInfo в MongoDB

describe mongodb_session(user: "foo", password: "bar", database: "test").query(rolesInfo: "dbAdmin").params["roles"].first do
  its(["role"]) { should eq "dbAdmin" }
end

Проверка роли пользователя MongoDB

describe mongodb_session(user: "foo", password: "bar", database: "test").query(usersInfo: "foo").params["users"].first["roles"].first do
  its(["role"]) { should eq "readWrite" }
end

Проверка параметров базы данных

describe mongodb_session(user: "foo", password: "bar", database: "test").query(rolesInfo: "dbAdmin") do
  its("params") { should_not be_empty }
  its("params") { should include "roles" }
end

Сопоставители

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

params

params содержит все данные запроса.

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

Spec-Zone.ru

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