diff options
author | Salim Alam <salam@chef.io> | 2016-01-21 11:11:06 -0800 |
---|---|---|
committer | Salim Alam <salam@chef.io> | 2016-01-21 11:11:06 -0800 |
commit | c53d73f77c8ca93491363bcfee70e1b87e5edccc (patch) | |
tree | bb92179783885680c1c480a621086cc88a49269c | |
parent | 1e746d158f00859933bf3cd0e2bedc0768c1e727 (diff) | |
parent | 3dcc169d88879851065a04a94bea27a48192a2a6 (diff) | |
download | chef-c53d73f77c8ca93491363bcfee70e1b87e5edccc.tar.gz |
Merge pull request #4436 from chef/salam/windows-service-test
Salam/windows service test
6 files changed, 94 insertions, 0 deletions
diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb b/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb new file mode 100644 index 0000000000..4c7c42d9bd --- /dev/null +++ b/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb @@ -0,0 +1 @@ +name 'acceptance-cookbook' diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb new file mode 100644 index 0000000000..f226ea2d10 --- /dev/null +++ b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb @@ -0,0 +1,3 @@ +execute 'bundle exec kitchen destroy' do + cwd node['chef-acceptance']['suite-dir'] +end diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb new file mode 100644 index 0000000000..2763aba70c --- /dev/null +++ b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb @@ -0,0 +1,3 @@ +execute 'bundle exec kitchen converge' do + cwd node['chef-acceptance']['suite-dir'] +end diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb new file mode 100644 index 0000000000..c0b67bf500 --- /dev/null +++ b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb @@ -0,0 +1,3 @@ +execute 'bundle exec kitchen verify' do + cwd node['chef-acceptance']['suite-dir'] +end diff --git a/acceptance/windows-service/.kitchen.yml b/acceptance/windows-service/.kitchen.yml new file mode 100644 index 0000000000..4f269f9aa9 --- /dev/null +++ b/acceptance/windows-service/.kitchen.yml @@ -0,0 +1,26 @@ +driver: + name: vagrant + forward_agent: yes + customize: + cpus: 2 + memory: 1024 + +provisioner: + name: chef_zero + +verifier: + name: inspec + +platforms: + - name: windows-server-2012r2-standard + driver: + box: chef/windows-server-2012r2-standard # private + run_list: + +suites: + - name: chef-windows-service + provisioner: + product_name: chef + product_version: latest + channel: current + run_list: diff --git a/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb b/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb new file mode 100644 index 0000000000..ec90ac083b --- /dev/null +++ b/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb @@ -0,0 +1,58 @@ +only_if do + os["family"] == "windows" +end + +describe command("chef-service-manager") do + it { should exist } + its("exit_status") { should eq 0 } +end + +describe service("chef-client") do + it { should_not be_enabled } + it { should_not be_installed } + it { should_not be_running } +end + +describe command("chef-service-manager -a install") do + its("exit_status") { should eq 0 } + its(:stdout) { should match /Service 'chef-client' has successfully been installed./} +end + +describe service("chef-client") do + it { should be_enabled } + it { should be_installed } + it { should_not be_running } +end + +describe command("chef-service-manager -a start") do + its("exit_status") { should eq 0 } + its(:stdout) { should match /Service 'chef-client' is now 'running'/} +end + +describe service("chef-client") do + it { should be_enabled } + it { should be_installed } + it { should be_running } +end + +describe command("chef-service-manager -a stop") do + its("exit_status") { should eq 0 } + its(:stdout) { should match /Service 'chef-client' is now 'stopped'/} +end + +describe service("chef-client") do + it { should be_enabled } + it { should be_installed } + it { should_not be_running } +end + +describe command("chef-service-manager -a uninstall") do + its("exit_status") { should eq 0 } + its(:stdout) { should match /Service chef-client deleted/} +end + +describe service("chef-client") do + it { should_not be_enabled } + it { should_not be_installed } + it { should_not be_running } +end |