|
1 | 1 | # run a test task
|
2 | 2 | require 'spec_helper_acceptance'
|
3 | 3 |
|
| 4 | +sysv = (os[:family] == 'redhat' && os[:release].to_i == 6) || |
| 5 | + (os[:family] == 'debian' && os[:release].to_i == 14) |
4 | 6 | describe 'linux service task', unless: os[:family] == 'windows' do
|
5 | 7 | package_to_use = if os[:family] == 'redhat'
|
6 | 8 | 'httpd'
|
|
40 | 42 | end
|
41 | 43 | end
|
42 | 44 |
|
| 45 | + describe 'enable action', unless: sysv do |
| 46 | + it "enable #{package_to_use}" do |
| 47 | + result = run_bolt_task('service::linux', 'action' => 'enable', 'name' => package_to_use) |
| 48 | + expect(result.exit_code).to eq(0) |
| 49 | + expect(result['result']).to include('enabled' => 'enabled') |
| 50 | + end |
| 51 | + end |
| 52 | + |
| 53 | + describe 'disable action', unless: sysv do |
| 54 | + it "disable #{package_to_use}" do |
| 55 | + result = run_bolt_task('service::linux', 'action' => 'disable', 'name' => package_to_use) |
| 56 | + expect(result.exit_code).to eq(0) |
| 57 | + expect(result['result']).to include('enabled' => 'disabled') |
| 58 | + end |
| 59 | + end |
| 60 | + |
43 | 61 | context 'when a service does not exist' do
|
44 | 62 | let(:non_existent_service) { 'foo' }
|
45 | 63 |
|
|
64 | 82 | File.delete(temp_inventory_file) if File.exist?(temp_inventory_file)
|
65 | 83 | end
|
66 | 84 |
|
67 |
| - it 'enable action fails' do |
68 |
| - params = { 'action' => 'enable', 'name' => package_to_use } |
69 |
| - result = run_bolt_task('service', params, expect_failures: true, inventory_file: temp_inventory_file) |
70 |
| - expect(result['result']).to include('status' => 'failure') |
71 |
| - expect(result['result']['_error']).to include('msg' => %r{'enable' action not supported}) |
72 |
| - expect(result['result']['_error']).to include('kind' => 'bash-error') |
73 |
| - expect(result['result']['_error']).to include('details') |
74 |
| - end |
75 |
| - |
76 |
| - it 'disable action fails' do |
77 |
| - params = { 'action' => 'disable', 'name' => package_to_use } |
78 |
| - result = run_bolt_task('service', params, expect_failures: true, inventory_file: temp_inventory_file) |
79 |
| - expect(result['result']).to include('status' => 'failure') |
80 |
| - expect(result['result']['_error']).to include('msg' => %r{'disable' action not supported}) |
81 |
| - expect(result['result']['_error']).to include('kind' => 'bash-error') |
82 |
| - expect(result['result']['_error']).to include('details') |
| 85 | + it 'does not use the ruby task' do |
| 86 | + params = { 'action' => 'restart', 'name' => package_to_use } |
| 87 | + result = run_bolt_task('service', params, inventory_file: temp_inventory_file) |
| 88 | + expect(result.exit_code).to eq(0) |
| 89 | + expect(result['result']).to include('status' => %r{ActiveState=active|running}) |
83 | 90 | end
|
84 | 91 | end
|
85 | 92 | end
|
0 commit comments