2015-09-10 11:35:15 +00:00
|
|
|
# encoding: utf-8
|
2015-10-06 16:55:44 +00:00
|
|
|
# author: Christoph Hartmann
|
|
|
|
# author: Dominik Richter
|
2015-09-10 11:35:15 +00:00
|
|
|
|
|
|
|
require 'helper'
|
2015-10-26 03:04:18 +00:00
|
|
|
require 'inspec/resource'
|
2015-09-10 11:35:15 +00:00
|
|
|
|
2015-10-26 03:04:18 +00:00
|
|
|
describe 'Inspec::Resources::OneGet' do
|
2015-09-10 11:35:15 +00:00
|
|
|
|
2015-09-22 16:33:05 +00:00
|
|
|
it 'verify oneget package detail parsing' do
|
2015-10-02 09:09:47 +00:00
|
|
|
resource = MockLoader.new(:windows).load_resource('oneget', 'Mozilla Firefox')
|
2015-09-22 16:33:05 +00:00
|
|
|
pkg = {
|
|
|
|
name: 'Mozilla Firefox 40.0.3 (x86 en-US)',
|
|
|
|
version: '40.0.3',
|
|
|
|
type: 'oneget',
|
|
|
|
installed: true,
|
|
|
|
}
|
|
|
|
_(resource.installed?).must_equal true
|
2015-10-02 09:09:47 +00:00
|
|
|
_(resource.version).must_equal '40.0.3'
|
|
|
|
_(resource.info).must_equal pkg
|
|
|
|
end
|
|
|
|
|
|
|
|
# catch cases where we recieve multiple return values
|
|
|
|
# eg. happens if you do 'choco install ruby'
|
|
|
|
it 'filter dups of Get-Package' do
|
|
|
|
resource = MockLoader.new(:windows).load_resource('oneget', 'Ruby 2.1.6-p336-x64')
|
|
|
|
pkg = {
|
|
|
|
name: 'Ruby 2.1.6-p336-x64',
|
|
|
|
version: '2.1.6-p336',
|
|
|
|
type: 'oneget',
|
|
|
|
installed: true,
|
|
|
|
}
|
|
|
|
_(resource.installed?).must_equal true
|
|
|
|
_(resource.version).must_equal '2.1.6-p336'
|
|
|
|
_(resource.info).must_equal pkg
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'should skip on linux' do
|
|
|
|
resource = MockLoader.new(:centos7).load_resource('oneget', 'Not available')
|
|
|
|
pkg = { type: 'oneget', installed: false }
|
|
|
|
_(resource.installed?).must_equal false
|
2017-06-11 10:16:10 +00:00
|
|
|
_(resource.version).must_be_nil
|
2015-09-22 16:33:05 +00:00
|
|
|
_(resource.info).must_equal pkg
|
2015-09-10 11:35:15 +00:00
|
|
|
end
|
|
|
|
end
|