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