Spec-Zone.ru › Chef 16

gem ресурс

[править на GitHub]

Используйте gem ресурс проверки Chef InSpec для проверки, установлен ли глобальный пакет Gem.

Доступность

Установка

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

Версия

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

Синтаксис

Блок ресурса gem объявляет пакет и (необязательно) версию пакета:

describe gem('gem_package_name', 'gem_binary') do
  it { should be_installed }
end

где

  • ('gem_package_name') должен указать пакет Gem, такой как 'rubocop'
  • ('gem_binary') может указать путь к нестандартному бинарному файлу gem, по умолчанию 'gem'
  • be_installed — это допустимый матчер для этого ресурса

Примеры свойств ресурса

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

Проверка установки пакета gem с определённой версией

describe gem('rubocop') do
  it { should be_installed }
  its('version') { should eq '0.33.0' }
end

Проверка установки конкретной версии при наличии нескольких установленных версий

describe gem('rubocop') do
  it { should be_installed }
  its('versions') { should include /0.51.0/ }
  its('versions.count') { should_not be > 3 }
end

Проверка отсутствия установки пакета gem

describe gem('rubocop') do
  it { should_not be_installed }
end

Проверка установки пакета gem в среде omnibus

describe gem('pry', '/opt/ruby-2.3.1/embedded/bin/gem') do
  it { should be_installed }
end

Проверка установки пакета gem в среде Chef omnibus

describe gem('chef-sugar', :chef) do
  it { should be_installed }
end

Проверка установки пакета gem в среде Chef-server omnibus

describe gem('knife-backup', :chef_server) do
  it { should be_installed }
end

Свойства

version (Строка)

Свойство version возвращает строку с установленной по умолчанию версией на системе:

its('version') { should eq '0.33.0' }

versions

Свойство versions возвращает массив строк со всеми версиями установленного gem на системе:

its('versions') { should include /0.33/ }

Матчеры

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

be_installed

Матчер be_installed проверяет, установлен ли указанный пакет Gem:

it { should be_installed }

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

Spec-Zone.ru

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