chefspec 5.4.0 → 6.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +6 -2
- data/CHANGELOG.md +12 -1
- data/README.md +17 -3
- data/chefspec.gemspec +2 -3
- data/examples/apt_package/spec/install_spec.rb +1 -1
- data/examples/apt_package/spec/purge_spec.rb +1 -1
- data/examples/apt_package/spec/reconfig_spec.rb +1 -1
- data/examples/apt_package/spec/remove_spec.rb +1 -1
- data/examples/apt_package/spec/upgrade_spec.rb +1 -1
- data/examples/apt_repository/spec/add_spec.rb +1 -1
- data/examples/apt_repository/spec/remove_spec.rb +1 -1
- data/examples/apt_update/spec/periodic_spec.rb +1 -1
- data/examples/apt_update/spec/update_spec.rb +1 -1
- data/examples/batch/spec/run_spec.rb +1 -1
- data/examples/cab_package/recipes/install.rb +13 -0
- data/examples/cab_package/recipes/remove.rb +13 -0
- data/examples/cab_package/spec/install_spec.rb +26 -0
- data/examples/cab_package/spec/remove_spec.rb +22 -0
- data/examples/chocolatey_package/spec/install_spec.rb +1 -1
- data/examples/chocolatey_package/spec/remove_spec.rb +1 -1
- data/examples/chocolatey_package/spec/upgrade_spec.rb +1 -1
- data/examples/dnf_package/recipes/install.rb +13 -0
- data/examples/dnf_package/recipes/purge.rb +13 -0
- data/examples/dnf_package/recipes/remove.rb +13 -0
- data/examples/dnf_package/recipes/upgrade.rb +13 -0
- data/examples/dnf_package/spec/install_spec.rb +26 -0
- data/examples/dnf_package/spec/purge_spec.rb +22 -0
- data/examples/dnf_package/spec/remove_spec.rb +22 -0
- data/examples/dnf_package/spec/upgrade_spec.rb +22 -0
- data/examples/dpkg_package/spec/install_spec.rb +1 -1
- data/examples/dpkg_package/spec/purge_spec.rb +1 -1
- data/examples/dpkg_package/spec/remove_spec.rb +1 -1
- data/examples/dsc_resource/spec/run_spec.rb +4 -4
- data/examples/dsc_script/spec/run_spec.rb +1 -1
- data/examples/env/spec/create_spec.rb +1 -1
- data/examples/env/spec/delete_spec.rb +1 -1
- data/examples/env/spec/modify_spec.rb +1 -1
- data/examples/freebsd_package/spec/install_spec.rb +1 -1
- data/examples/freebsd_package/spec/remove_spec.rb +1 -1
- data/examples/ips_package/spec/install_spec.rb +1 -1
- data/examples/ips_package/spec/remove_spec.rb +1 -1
- data/examples/ips_package/spec/upgrade_spec.rb +1 -1
- data/examples/msu_package/recipes/install.rb +13 -0
- data/examples/msu_package/recipes/remove.rb +13 -0
- data/examples/msu_package/spec/install_spec.rb +26 -0
- data/examples/msu_package/spec/remove_spec.rb +22 -0
- data/examples/pacman_package/spec/install_spec.rb +1 -1
- data/examples/pacman_package/spec/purge_spec.rb +1 -1
- data/examples/pacman_package/spec/remove_spec.rb +1 -1
- data/examples/pacman_package/spec/upgrade_spec.rb +1 -1
- data/examples/portage_package/spec/install_spec.rb +1 -1
- data/examples/portage_package/spec/purge_spec.rb +1 -1
- data/examples/portage_package/spec/remove_spec.rb +1 -1
- data/examples/portage_package/spec/upgrade_spec.rb +1 -1
- data/examples/powershell_script/spec/run_spec.rb +1 -1
- data/examples/registry_key/spec/create_if_missing_spec.rb +1 -1
- data/examples/registry_key/spec/create_spec.rb +1 -1
- data/examples/registry_key/spec/delete_key_spec.rb +1 -1
- data/examples/registry_key/spec/delete_spec.rb +1 -1
- data/examples/roles/roles/role.rb +2 -2
- data/examples/rpm_package/spec/install_spec.rb +1 -1
- data/examples/rpm_package/spec/remove_spec.rb +1 -1
- data/examples/rpm_package/spec/upgrade_spec.rb +1 -1
- data/examples/server/spec/data_bag_spec.rb +9 -11
- data/examples/smartos_package/spec/install_spec.rb +1 -1
- data/examples/smartos_package/spec/remove_spec.rb +1 -1
- data/examples/smartos_package/spec/upgrade_spec.rb +1 -1
- data/examples/solaris_package/spec/install_spec.rb +1 -1
- data/examples/solaris_package/spec/remove_spec.rb +1 -1
- data/examples/step_into/spec/default_spec.rb +2 -2
- data/examples/use_inline_resources/spec/default_spec.rb +1 -1
- data/examples/windows_package/spec/install_spec.rb +1 -1
- data/examples/windows_package/spec/remove_spec.rb +1 -1
- data/examples/windows_service/spec/configure_startup_spec.rb +1 -1
- data/examples/windows_service/spec/disable_spec.rb +1 -1
- data/examples/windows_service/spec/enable_spec.rb +1 -1
- data/examples/windows_service/spec/reload_spec.rb +1 -1
- data/examples/windows_service/spec/restart_spec.rb +1 -1
- data/examples/windows_service/spec/start_spec.rb +1 -1
- data/examples/windows_service/spec/stop_spec.rb +1 -1
- data/examples/yum_package/spec/install_spec.rb +1 -1
- data/examples/yum_package/spec/purge_spec.rb +1 -1
- data/examples/yum_package/spec/remove_spec.rb +1 -1
- data/examples/yum_package/spec/upgrade_spec.rb +1 -1
- data/examples/yum_repository/spec/add_spec.rb +1 -1
- data/examples/yum_repository/spec/create_spec.rb +1 -1
- data/examples/yum_repository/spec/delete_spec.rb +1 -1
- data/examples/yum_repository/spec/makecache_spec.rb +1 -1
- data/examples/yum_repository/spec/remove_spec.rb +1 -1
- data/features/cab_package.feature +21 -0
- data/features/dnf_package.feature +26 -0
- data/features/msu_package.feature +23 -0
- data/features/support/env.rb +8 -0
- data/lib/chefspec.rb +0 -1
- data/lib/chefspec/api.rb +3 -0
- data/lib/chefspec/api/cab_package.rb +80 -0
- data/lib/chefspec/api/dnf_package.rb +154 -0
- data/lib/chefspec/api/msu_package.rb +81 -0
- data/lib/chefspec/rspec.rb +1 -0
- data/lib/chefspec/server_methods.rb +4 -35
- data/lib/chefspec/server_runner.rb +2 -42
- data/lib/chefspec/version.rb +1 -1
- data/lib/chefspec/zero_server.rb +139 -0
- metadata +31 -6
- data/lib/chefspec/chef_backwards_compat.rb +0 -79
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'dnf_package::upgrade' do
|
4
|
+
let(:chef_run) do
|
5
|
+
ChefSpec::ServerRunner.new(platform: 'fedora', version: '25')
|
6
|
+
.converge(described_recipe)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'upgrades a dnf_package with an explicit action' do
|
10
|
+
expect(chef_run).to upgrade_dnf_package('explicit_action')
|
11
|
+
expect(chef_run).to_not upgrade_dnf_package('not_explicit_action')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'upgrades a dnf_package with attributes' do
|
15
|
+
expect(chef_run).to upgrade_dnf_package('with_attributes').with(version: '1.0.0')
|
16
|
+
expect(chef_run).to_not upgrade_dnf_package('with_attributes').with(version: '1.2.3')
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'upgrades a dnf_package when specifying the identity attribute' do
|
20
|
+
expect(chef_run).to upgrade_dnf_package('identity_attribute')
|
21
|
+
end
|
22
|
+
end
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'dpkg_package::install' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'ubuntu', version: '16.04')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'installs a dpkg_package with the default action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'dsc_resource::run' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'runs dsc_resource with the archive resource' do
|
@@ -12,7 +12,7 @@ describe 'dsc_resource::run' do
|
|
12
12
|
properties: {
|
13
13
|
ensure: 'present',
|
14
14
|
path: 'C:\Users\Public\Documents\example.zip',
|
15
|
-
destination: 'C:\Users\Public\Documents\ExtractionPath'
|
15
|
+
destination: 'C:\Users\Public\Documents\ExtractionPath',
|
16
16
|
})
|
17
17
|
end
|
18
18
|
|
@@ -21,7 +21,7 @@ describe 'dsc_resource::run' do
|
|
21
21
|
resource: :group,
|
22
22
|
properties: {
|
23
23
|
groupname: 'demo1',
|
24
|
-
ensure: 'present'
|
24
|
+
ensure: 'present',
|
25
25
|
})
|
26
26
|
end
|
27
27
|
|
@@ -32,7 +32,7 @@ describe 'dsc_resource::run' do
|
|
32
32
|
username: 'Foobar1',
|
33
33
|
fullname: 'Foobar1',
|
34
34
|
password: 'P@assword!',
|
35
|
-
ensure: 'present'
|
35
|
+
ensure: 'present',
|
36
36
|
})
|
37
37
|
end
|
38
38
|
end
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'freebsd_package::install' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'freebsd', version: '10.3')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'installs a freebsd_package with the default action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'freebsd_package::remove' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'freebsd', version: '10.3')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'removes a freebsd_package with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'ips_package::install' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'solaris2', version: '5.11')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'installs a ips_package with the default action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'ips_package::upgrade' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'solaris2', version: '5.11')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'upgrades a ips_package with an explicit action' do
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'msu_package::install' do
|
4
|
+
let(:chef_run) do
|
5
|
+
ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
|
6
|
+
.converge(described_recipe)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'installs a msu_package with the default action' do
|
10
|
+
expect(chef_run).to install_msu_package('default_action')
|
11
|
+
expect(chef_run).to_not install_msu_package('not_default_action')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'installs a msu_package with an explicit action' do
|
15
|
+
expect(chef_run).to install_msu_package('explicit_action')
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'installs a msu_package with attributes' do
|
19
|
+
expect(chef_run).to install_msu_package('with_attributes').with(version: '1.0.0')
|
20
|
+
expect(chef_run).to_not install_msu_package('with_attributes').with(version: '1.2.3')
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'installs a msu_package when specifying the identity attribute' do
|
24
|
+
expect(chef_run).to install_msu_package('identity_attribute')
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'chefspec'
|
2
|
+
|
3
|
+
describe 'msu_package::remove' do
|
4
|
+
let(:chef_run) do
|
5
|
+
ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
|
6
|
+
.converge(described_recipe)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'removes a msu_package with an explicit action' do
|
10
|
+
expect(chef_run).to remove_msu_package('explicit_action')
|
11
|
+
expect(chef_run).to_not remove_msu_package('not_explicit_action')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'removes a msu_package with attributes' do
|
15
|
+
expect(chef_run).to remove_msu_package('with_attributes').with(version: '1.0.0')
|
16
|
+
expect(chef_run).to_not remove_msu_package('with_attributes').with(version: '1.2.3')
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'removes a msu_package when specifying the identity attribute' do
|
20
|
+
expect(chef_run).to remove_msu_package('identity_attribute')
|
21
|
+
end
|
22
|
+
end
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'pacman_package::install' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'arch', version: '4.5.4-1-ARCH')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'installs a pacman_package with the default action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'pacman_package::purge' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'arch', version: '4.5.4-1-ARCH')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'purges a pacman_package with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'pacman_package::remove' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'arch', version: '4.5.4-1-ARCH')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'removes a pacman_package with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'pacman_package::upgrade' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'arch', version: '4.5.4-1-ARCH')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'upgrades a pacman_package with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'portage_package::install' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'gentoo', version: '2.2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'installs a portage_package with the default action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'portage_package::purge' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'gentoo', version: '2.2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'purges a portage_package with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'portage_package::remove' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'gentoo', version: '2.2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'removes a portage_package with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'portage_package::upgrade' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'gentoo', version: '2.2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'upgrades a portage_package with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'powershell_script::run' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'runs a powershell_script with the default action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'registry_key::create_if_missing' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'creates a registry_key with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'registry_key::create' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'creates a registry_key with the default action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'registry_key::delete_key' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'delete_keyes a registry_key with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'registry_key::delete' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'windows', version: '2012R2')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'deletes a registry_key with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'rpm_package::install' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'installs a rpm_package with the default action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'rpm_package::remove' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'removes a rpm_package with an explicit action' do
|
@@ -3,7 +3,7 @@ require 'chefspec'
|
|
3
3
|
describe 'rpm_package::upgrade' do
|
4
4
|
let(:chef_run) do
|
5
5
|
ChefSpec::ServerRunner.new(platform: 'centos', version: '7.2.1511')
|
6
|
-
|
6
|
+
.converge(described_recipe)
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'upgrades a rpm_package with an explicit action' do
|
@@ -2,17 +2,15 @@ require 'chefspec'
|
|
2
2
|
|
3
3
|
describe 'server::data_bag' do
|
4
4
|
let(:chef_run) do
|
5
|
-
ChefSpec::ServerRunner.new(platform: 'ubuntu', version: '16.04') do |
|
6
|
-
server.create_data_bag('accounts', {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
},
|
15
|
-
})
|
5
|
+
ChefSpec::ServerRunner.new(platform: 'ubuntu', version: '16.04') do |_node, server|
|
6
|
+
server.create_data_bag('accounts', 'github' => {
|
7
|
+
'username' => 'sethvargo',
|
8
|
+
'password' => 'p@ssW0rd!',
|
9
|
+
},
|
10
|
+
'twitter' => {
|
11
|
+
'username' => 'sethvargo',
|
12
|
+
'password' => '0th3r',
|
13
|
+
})
|
16
14
|
end.converge(described_recipe)
|
17
15
|
end
|
18
16
|
|