Spec-Zone.ru › Chef 18

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 — это допустимый матчер для данного ресурса

Свойства

version (String)

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

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

versions

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

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

Примеры

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

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

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

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

describe gem('rubocop') do
  it { should be_installed }
  its('versions') { should include /1.21.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-3.0.2/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 '1.22.0' }

versions

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

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

Матчеры

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

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