gem ресурс
Используйте 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/