foreman_salt 14.0.0 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/Rakefile +2 -2
  4. data/app/controllers/foreman_salt/api/v2/jobs_controller.rb +9 -9
  5. data/app/controllers/foreman_salt/api/v2/salt_autosign_controller.rb +15 -14
  6. data/app/controllers/foreman_salt/api/v2/salt_environments_controller.rb +6 -6
  7. data/app/controllers/foreman_salt/api/v2/salt_hostgroups_controller.rb +42 -0
  8. data/app/controllers/foreman_salt/api/v2/salt_keys_controller.rb +14 -14
  9. data/app/controllers/foreman_salt/api/v2/salt_minions_controller.rb +8 -8
  10. data/app/controllers/foreman_salt/api/v2/salt_states_controller.rb +24 -26
  11. data/app/controllers/foreman_salt/api/v2/salt_variables_controller.rb +22 -21
  12. data/app/controllers/foreman_salt/concerns/hostgroups_controller_extensions.rb +3 -3
  13. data/app/controllers/foreman_salt/concerns/hosts_controller_extensions.rb +4 -4
  14. data/app/controllers/foreman_salt/concerns/salt_environment_parameters.rb +1 -1
  15. data/app/controllers/foreman_salt/concerns/salt_hostgroup_parameters.rb +25 -0
  16. data/app/controllers/foreman_salt/concerns/salt_module_parameters.rb +1 -1
  17. data/app/controllers/foreman_salt/concerns/salt_override_value.rb +4 -4
  18. data/app/controllers/foreman_salt/concerns/salt_variable_parameters.rb +5 -5
  19. data/app/controllers/foreman_salt/minions_controller.rb +9 -9
  20. data/app/controllers/foreman_salt/salt_autosign_controller.rb +8 -8
  21. data/app/controllers/foreman_salt/salt_environments_controller.rb +4 -4
  22. data/app/controllers/foreman_salt/salt_keys_controller.rb +11 -11
  23. data/app/controllers/foreman_salt/salt_modules_controller.rb +10 -11
  24. data/app/controllers/foreman_salt/salt_variables_controller.rb +5 -4
  25. data/app/controllers/foreman_salt/state_importer.rb +12 -13
  26. data/app/helpers/concerns/foreman_salt/hosts_helper_extensions.rb +16 -10
  27. data/app/helpers/concerns/foreman_salt/smart_proxies_helper_extensions.rb +2 -2
  28. data/app/helpers/foreman_salt/salt_keys_helper.rb +2 -1
  29. data/app/helpers/foreman_salt/salt_modules_helper.rb +11 -11
  30. data/app/helpers/foreman_salt/salt_reports_helper.rb +0 -1
  31. data/app/lib/actions/foreman_salt/report_import.rb +2 -2
  32. data/app/lib/proxy_api/salt.rb +17 -17
  33. data/app/models/foreman_salt/concerns/host_managed_extensions.rb +47 -46
  34. data/app/models/foreman_salt/concerns/hostgroup_extensions.rb +14 -11
  35. data/app/models/foreman_salt/host_salt_module.rb +1 -1
  36. data/app/models/foreman_salt/salt_environment.rb +8 -8
  37. data/app/models/foreman_salt/salt_module.rb +15 -13
  38. data/app/models/foreman_salt/salt_module_environment.rb +1 -1
  39. data/app/models/foreman_salt/salt_provider.rb +7 -4
  40. data/app/models/foreman_salt/salt_variable.rb +8 -8
  41. data/app/models/setting/salt.rb +12 -10
  42. data/app/overrides/salt_environment_host_selector.rb +4 -4
  43. data/app/overrides/salt_environment_hostgroup_selector.rb +4 -4
  44. data/app/overrides/salt_modules_selector.rb +16 -16
  45. data/app/overrides/salt_proxy_selector.rb +11 -9
  46. data/app/services/foreman_salt/report_importer.rb +26 -26
  47. data/app/services/foreman_salt/smart_proxies/salt_keys.rb +47 -45
  48. data/app/views/foreman_salt/api/v2/salt_autosign/create.json.rabl +1 -1
  49. data/app/views/foreman_salt/api/v2/salt_environments/create.json.rabl +1 -1
  50. data/app/views/foreman_salt/api/v2/salt_environments/show.json.rabl +1 -1
  51. data/app/views/foreman_salt/api/v2/salt_hostgroups/base.json.rabl +7 -0
  52. data/app/views/foreman_salt/api/v2/salt_hostgroups/show.json.rabl +3 -0
  53. data/app/views/foreman_salt/api/v2/salt_hostgroups/update.json.rabl +3 -0
  54. data/app/views/foreman_salt/api/v2/salt_keys/update.json.rabl +1 -1
  55. data/app/views/foreman_salt/api/v2/salt_minions/show.json.rabl +3 -4
  56. data/app/views/foreman_salt/api/v2/salt_states/create.json.rabl +1 -1
  57. data/app/views/foreman_salt/api/v2/salt_states/show.json.rabl +0 -1
  58. data/app/views/foreman_salt/api/v2/salt_variables/create.json.rabl +1 -1
  59. data/app/views/foreman_salt/api/v2/salt_variables/destroy.json.rabl +1 -1
  60. data/app/views/foreman_salt/api/v2/salt_variables/show.json.rabl +8 -8
  61. data/config/api_routes.rb +31 -0
  62. data/config/routes.rb +16 -44
  63. data/db/migrate/20140817210214_create_salt_modules.rb +4 -4
  64. data/db/migrate/20140829210214_add_salt_modules_to_hostgroups.rb +1 -1
  65. data/db/migrate/20140920232200_create_salt_environments.rb +3 -3
  66. data/db/migrate/20150220122707_fix_incorrect_report_metrics.rb +6 -2
  67. data/db/migrate/20211108211312_add_missing_permissions.rb +9 -0
  68. data/db/seeds.d/75-salt_seeds.rb +1 -1
  69. data/db/seeds.d/76-job_templates.rb +3 -3
  70. data/lib/foreman_salt/engine.rb +24 -16
  71. data/lib/foreman_salt/extensions.rb +8 -8
  72. data/lib/foreman_salt/plugin.rb +120 -114
  73. data/lib/foreman_salt/version.rb +1 -1
  74. data/lib/foreman_salt.rb +1 -1
  75. data/lib/tasks/foreman_salt_tasks.rake +3 -5
  76. data/locale/action_names.rb +4 -4
  77. data/test/factories/foreman_salt_factories.rb +5 -5
  78. data/test/functional/api/v2/salt_autosign_controller_test.rb +26 -20
  79. data/test/functional/api/v2/salt_environments_controller_test.rb +29 -23
  80. data/test/functional/api/v2/salt_hostgroups_controller_test.rb +76 -0
  81. data/test/functional/api/v2/salt_keys_controller_test.rb +25 -19
  82. data/test/functional/api/v2/salt_states_controller_test.rb +72 -66
  83. data/test/functional/api/v2/salt_variables_controller_test.rb +4 -4
  84. data/test/functional/hosts_controller_test.rb +26 -26
  85. data/test/functional/minions_controller_test.rb +22 -22
  86. data/test/functional/salt_modules_controller_test.rb +3 -3
  87. data/test/functional/salt_variables_controller_test.rb +5 -5
  88. data/test/integration/hosts_js_test.rb +11 -11
  89. data/test/integration/salt_autosign_test.rb +5 -5
  90. data/test/integration/salt_environment_test.rb +2 -2
  91. data/test/integration/salt_keys_test.rb +7 -7
  92. data/test/integration/salt_module_test.rb +9 -9
  93. data/test/integration/salt_variable_test.rb +2 -2
  94. data/test/test_plugin_helper.rb +1 -1
  95. data/test/unit/grains_importer_test.rb +12 -12
  96. data/test/unit/host_extensions_test.rb +19 -19
  97. data/test/unit/hostgroup_extensions_test.rb +13 -13
  98. data/test/unit/report_importer_test.rb +9 -9
  99. data/test/unit/salt_keys_test.rb +2 -2
  100. data/test/unit/salt_modules_test.rb +2 -2
  101. data/test/unit/salt_variables_test.rb +10 -10
  102. metadata +22 -13
@@ -0,0 +1,76 @@
1
+ require 'test_plugin_helper'
2
+
3
+ module ForemanSalt
4
+ module Api
5
+ module V2
6
+ class SaltHostgroupsControllerTest < ActionController::TestCase
7
+ setup do
8
+ @proxy = FactoryBot.create(:smart_proxy, :with_salt_feature)
9
+ @env = ForemanSalt::SaltEnvironment.create(name: 'basement')
10
+ @state = ForemanSalt::SaltModule.create(name: 'motd')
11
+ end
12
+
13
+ test 'should show host group' do
14
+ hostgroup = FactoryBot.create(:hostgroup)
15
+ get :show, params: { id: hostgroup.id }
16
+
17
+ assert_response :success
18
+ assert_template 'foreman_salt/api/v2/salt_hostgroups/show'
19
+ end
20
+
21
+ test 'should set proxy' do
22
+ hostgroup = FactoryBot.create(:hostgroup)
23
+ put :update, params: { id: hostgroup.id, hostgroup: { salt_proxy_id: @proxy.id } }
24
+ response_json = ActiveSupport::JSON.decode(response.body)
25
+ # remove protocol and port
26
+ clean_url = @proxy.url[8..-6]
27
+
28
+ assert_response :success
29
+ assert_template 'foreman_salt/api/v2/salt_hostgroups/update'
30
+ assert_equal clean_url, response_json['salt_master']
31
+ end
32
+
33
+ test 'should not find proxy' do
34
+ hostgroup = FactoryBot.create(:hostgroup)
35
+ put :update, params: { id: hostgroup.id, hostgroup: { salt_proxy_id: -2 } }
36
+
37
+ assert_response 422 # unprocessable entity
38
+ end
39
+
40
+ test 'should set environment' do
41
+ hostgroup = FactoryBot.create(:hostgroup)
42
+ put :update, params: { id: hostgroup.id, hostgroup: { salt_environment_id: @env.id } }
43
+ response_json = ActiveSupport::JSON.decode(response.body)
44
+
45
+ assert_response :success
46
+ assert_template 'foreman_salt/api/v2/salt_hostgroups/update'
47
+ assert_equal @env.name, response_json['salt_environment']
48
+ end
49
+
50
+ test 'should not find environment' do
51
+ hostgroup = FactoryBot.create(:hostgroup)
52
+ put :update, params: { id: hostgroup.id, hostgroup: { salt_environment_id: -12 } }
53
+
54
+ assert_response 422 # unprocessable entity
55
+ end
56
+
57
+ test 'should set states' do
58
+ hostgroup = FactoryBot.create(:hostgroup)
59
+ put :update, params: { id: hostgroup.id, hostgroup: { salt_state_ids: [@state.id] } }
60
+ response_json = ActiveSupport::JSON.decode(response.body)
61
+
62
+ assert_response :success
63
+ assert_template 'foreman_salt/api/v2/salt_hostgroups/update'
64
+ assert_equal @state.name, response_json['salt_states'][0]['name']
65
+ end
66
+
67
+ test 'should not find states' do
68
+ hostgroup = FactoryBot.create(:hostgroup)
69
+ put :update, params: { id: hostgroup.id, hostgroup: { salt_state_ids: [-5] } }
70
+
71
+ assert_response 422 # unprocessable entity
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -1,27 +1,33 @@
1
1
  require 'test_plugin_helper'
2
2
 
3
- class ::ForemanSalt::Api::V2::SaltKeysControllerTest < ActionController::TestCase
4
- setup do
5
- @proxy = FactoryBot.create(:smart_proxy, :with_salt_feature)
3
+ module ForemanSalt
4
+ module Api
5
+ module V2
6
+ class SaltKeysControllerTest < ActionController::TestCase
7
+ setup do
8
+ @proxy = FactoryBot.create(:smart_proxy, :with_salt_feature)
6
9
 
7
- ProxyAPI::Salt.any_instance.stubs(:key_list).returns('saltstack.example.com' => { 'state' => 'unaccepted',
8
- 'fingerprint' => '98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c0' })
9
- end
10
+ ProxyAPI::Salt.any_instance.stubs(:key_list).returns('saltstack.example.com' => { 'state' => 'unaccepted',
11
+ 'fingerprint' => '98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c0' })
12
+ end
10
13
 
11
- test 'should get index' do
12
- get :index, params: { :smart_proxy_id => @proxy.id }
13
- assert_response :success
14
- end
14
+ test 'should get index' do
15
+ get :index, params: { smart_proxy_id: @proxy.id }
16
+ assert_response :success
17
+ end
15
18
 
16
- test 'should update keys' do
17
- ProxyAPI::Salt.any_instance.expects(:key_accept).once.returns(true)
18
- put :update, params: { :smart_proxy_id => @proxy.id, :name => 'saltstack.example.com', :state => 'accepted' }
19
- assert_response :success
20
- end
19
+ test 'should update keys' do
20
+ ProxyAPI::Salt.any_instance.expects(:key_accept).once.returns(true)
21
+ put :update, params: { smart_proxy_id: @proxy.id, name: 'saltstack.example.com', state: 'accepted' }
22
+ assert_response :success
23
+ end
21
24
 
22
- test 'should delete keys' do
23
- ProxyAPI::Salt.any_instance.expects(:key_delete).once.returns(true)
24
- delete :destroy, params: { :smart_proxy_id => @proxy.id, :name => 'saltstack.example.com' }
25
- assert_response :success
25
+ test 'should delete keys' do
26
+ ProxyAPI::Salt.any_instance.expects(:key_delete).once.returns(true)
27
+ delete :destroy, params: { smart_proxy_id: @proxy.id, name: 'saltstack.example.com' }
28
+ assert_response :success
29
+ end
30
+ end
31
+ end
26
32
  end
27
33
  end
@@ -1,84 +1,90 @@
1
1
  require 'test_plugin_helper'
2
2
 
3
- class ::ForemanSalt::Api::V2::SaltStatesControllerTest < ActionController::TestCase
4
- test 'should get index' do
5
- get :index
6
- assert_response :success
7
- assert_template 'api/v2/salt_states/index'
8
- end
3
+ module ForemanSalt
4
+ module Api
5
+ module V2
6
+ class SaltStatesControllerTest < ActionController::TestCase
7
+ test 'should get index' do
8
+ get :index
9
+ assert_response :success
10
+ assert_template 'api/v2/salt_states/index'
11
+ end
9
12
 
10
- test 'should show state' do
11
- state = ForemanSalt::SaltModule.create(:name => 'foo.bar.baz')
12
- get :show, params: { :id => state.id }
13
- assert_response :success
14
- assert_template 'api/v2/salt_states/show'
15
- end
13
+ test 'should show state' do
14
+ state = ForemanSalt::SaltModule.create(name: 'foo.bar.baz')
15
+ get :show, params: { id: state.id }
16
+ assert_response :success
17
+ assert_template 'api/v2/salt_states/show'
18
+ end
16
19
 
17
- test 'should create state' do
18
- post :create, params: { :state => { :name => 'unicorn' } }
19
- assert_response :success
20
- assert ForemanSalt::SaltModule.find_by_name('unicorn')
21
- assert_template 'api/v2/salt_states/create'
22
- end
20
+ test 'should create state' do
21
+ post :create, params: { state: { name: 'unicorn' } }
22
+ assert_response :success
23
+ assert ForemanSalt::SaltModule.find_by(name: 'unicorn')
24
+ assert_template 'api/v2/salt_states/create'
25
+ end
23
26
 
24
- test 'should delete state' do
25
- state = ForemanSalt::SaltModule.create(:name => 'foo.bar.baz')
26
- assert_difference('ForemanSalt::SaltModule.count', -1) do
27
- delete :destroy, params: { :id => state.id }
28
- end
29
- assert_response :success
30
- end
27
+ test 'should delete state' do
28
+ state = ForemanSalt::SaltModule.create(name: 'foo.bar.baz')
29
+ assert_difference('ForemanSalt::SaltModule.count', -1) do
30
+ delete :destroy, params: { id: state.id }
31
+ end
32
+ assert_response :success
33
+ end
31
34
 
32
- context 'importing' do
33
- setup do
34
- @proxy = FactoryBot.create :smart_proxy, :with_salt_feature
35
- @states = { 'env1' => %w(state1 state2 state3),
36
- 'env2' => %w(state1 state2) }
35
+ context 'importing' do
36
+ setup do
37
+ @proxy = FactoryBot.create :smart_proxy, :with_salt_feature
38
+ @states = { 'env1' => %w[state1 state2 state3],
39
+ 'env2' => %w[state1 state2] }
37
40
 
38
- ProxyAPI::Salt.any_instance.stubs(:states_list).returns(@states)
39
- end
41
+ ProxyAPI::Salt.any_instance.stubs(:states_list).returns(@states)
42
+ end
40
43
 
41
- test 'should import' do
42
- post :import, params: { :smart_proxy_id => @proxy.id }
44
+ test 'should import' do
45
+ post :import, params: { smart_proxy_id: @proxy.id }
43
46
 
44
- assert_response :success
47
+ assert_response :success
45
48
 
46
- @states.each do |env, states|
47
- environment = ::ForemanSalt::SaltEnvironment.find_by_name(env)
48
- assert_empty environment.salt_modules.map(&:name) - states
49
- end
50
- end
49
+ @states.each do |env, states|
50
+ environment = ::ForemanSalt::SaltEnvironment.find_by(name: env)
51
+ assert_empty environment.salt_modules.map(&:name) - states
52
+ end
53
+ end
51
54
 
52
- test 'should import only from a given environment' do
53
- post :import, params: { :smart_proxy_id => @proxy.id, :salt_environments => ['env2'] }
54
- assert_response :success
55
- assert_not ::ForemanSalt::SaltEnvironment.where(:name => 'env1').first
56
- assert ::ForemanSalt::SaltEnvironment.where(:name => 'env2').first
57
- end
55
+ test 'should import only from a given environment' do
56
+ post :import, params: { smart_proxy_id: @proxy.id, salt_environments: ['env2'] }
57
+ assert_response :success
58
+ assert_not ::ForemanSalt::SaltEnvironment.where(name: 'env1').first
59
+ assert ::ForemanSalt::SaltEnvironment.where(name: 'env2').first
60
+ end
58
61
 
59
- test 'should limit actions to add' do
60
- env = FactoryBot.create :salt_environment
61
- state = FactoryBot.create :salt_module, :salt_environments => [env]
62
+ test 'should limit actions to add' do
63
+ env = FactoryBot.create :salt_environment
64
+ state = FactoryBot.create :salt_module, salt_environments: [env]
62
65
 
63
- post :import, params: { :smart_proxy_id => @proxy.id, :actions => ['add'] }
64
- assert_response :success
65
- assert ::ForemanSalt::SaltModule.where(:id => state).first
66
- assert ::ForemanSalt::SaltModule.where(:name => 'state1').first
67
- end
66
+ post :import, params: { smart_proxy_id: @proxy.id, actions: ['add'] }
67
+ assert_response :success
68
+ assert ::ForemanSalt::SaltModule.where(id: state).first
69
+ assert ::ForemanSalt::SaltModule.where(name: 'state1').first
70
+ end
68
71
 
69
- test 'should limit actions to remove' do
70
- state = FactoryBot.create :salt_module
71
- post :import, params: { :smart_proxy_id => @proxy.id, :actions => ['remove'] }
72
- assert_response :success
73
- assert_not ::ForemanSalt::SaltModule.where(:id => state).first
74
- assert_not ::ForemanSalt::SaltModule.where(:name => 'state1').first
75
- end
72
+ test 'should limit actions to remove' do
73
+ state = FactoryBot.create :salt_module
74
+ post :import, params: { smart_proxy_id: @proxy.id, actions: ['remove'] }
75
+ assert_response :success
76
+ assert_not ::ForemanSalt::SaltModule.where(id: state).first
77
+ assert_not ::ForemanSalt::SaltModule.where(name: 'state1').first
78
+ end
76
79
 
77
- test 'dryrun should do nothing' do
78
- post :import, params: { :smart_proxy_id => @proxy.id, :dryrun => true }
79
- assert_response :success
80
- assert_not ::ForemanSalt::SaltModule.all.any?
81
- assert_not ::ForemanSalt::SaltEnvironment.all.any?
80
+ test 'dryrun should do nothing' do
81
+ post :import, params: { smart_proxy_id: @proxy.id, dryrun: true }
82
+ assert_response :success
83
+ assert_not ::ForemanSalt::SaltModule.all.any?
84
+ assert_not ::ForemanSalt::SaltEnvironment.all.any?
85
+ end
86
+ end
87
+ end
82
88
  end
83
89
  end
84
90
  end
@@ -12,21 +12,21 @@ module ForemanSalt
12
12
  end
13
13
 
14
14
  test 'should get index' do
15
- get :index, :session => set_session_user
15
+ get :index, session: set_session_user
16
16
  response = JSON.parse(@response.body)
17
17
  assert_not_empty response['results']
18
18
  assert_response :success
19
19
  end
20
20
 
21
21
  test 'should destroy' do
22
- delete :destroy, :params => { :id => @variable.id }, :session => set_session_user
22
+ delete :destroy, params: { id: @variable.id }, session: set_session_user
23
23
  assert_response :ok
24
24
  assert_not SaltVariable.exists?(@variable.id)
25
25
  end
26
26
 
27
27
  test 'should create' do
28
- params = { :key => 'test name', :salt_state_id => FactoryBot.create(:salt_module).id }
29
- post :create, :params => params, :session => set_session_user
28
+ params = { key: 'test name', salt_state_id: FactoryBot.create(:salt_module).id }
29
+ post :create, params: params, session: set_session_user
30
30
  assert_response :success
31
31
  end
32
32
  end
@@ -4,9 +4,9 @@ module ForemanSalt
4
4
  class HostsControllerExtensionsTest < ActionController::TestCase
5
5
  tests ::HostsController
6
6
 
7
- describe "setting salt master proxy on multiple hosts" do
7
+ describe 'setting salt master proxy on multiple hosts' do
8
8
  before do
9
- setup_user "edit"
9
+ setup_user 'edit'
10
10
  as_admin do
11
11
  @hosts = FactoryBot.create_list(:host, 2)
12
12
  @proxy = FactoryBot.create(:smart_proxy, :with_salt_feature)
@@ -16,22 +16,22 @@ module ForemanSalt
16
16
  test 'user without edit permission should not be able to change salt master' do
17
17
  @request.env['HTTP_REFERER'] = hosts_path
18
18
 
19
- params = { :host_ids => @hosts.map(&:id),
20
- :proxy => { :proxy_id => '' } }
19
+ params = { host_ids: @hosts.map(&:id),
20
+ proxy: { proxy_id: '' } }
21
21
 
22
22
  post :update_multiple_salt_master, params: params,
23
- session: set_session_user.merge(:user => users(:one).id)
23
+ session: set_session_user.merge(user: users(:one).id)
24
24
  assert_response :forbidden
25
25
  end
26
26
 
27
- test "should change the salt master proxy" do
27
+ test 'should change the salt master proxy' do
28
28
  @request.env['HTTP_REFERER'] = hosts_path
29
29
 
30
- params = { :host_ids => @hosts.map(&:id),
31
- :proxy => { :proxy_id => @proxy.id } }
30
+ params = { host_ids: @hosts.map(&:id),
31
+ proxy: { proxy_id: @proxy.id } }
32
32
 
33
33
  post :update_multiple_salt_master, params: params,
34
- session: set_session_user.merge(:user => users(:admin).id)
34
+ session: set_session_user.merge(user: users(:admin).id)
35
35
 
36
36
  assert_empty flash[:error]
37
37
 
@@ -42,14 +42,14 @@ module ForemanSalt
42
42
  end
43
43
  end
44
44
 
45
- test "should clear the salt master proxy of multiple hosts" do
45
+ test 'should clear the salt master proxy of multiple hosts' do
46
46
  @request.env['HTTP_REFERER'] = hosts_path
47
47
 
48
- params = { :host_ids => @hosts.map(&:id),
49
- :proxy => { :proxy_id => '' } }
48
+ params = { host_ids: @hosts.map(&:id),
49
+ proxy: { proxy_id: '' } }
50
50
 
51
51
  post :update_multiple_salt_master, params: params,
52
- session: set_session_user.merge(:user => users(:admin).id)
52
+ session: set_session_user.merge(user: users(:admin).id)
53
53
 
54
54
  assert_empty flash[:error]
55
55
 
@@ -61,9 +61,9 @@ module ForemanSalt
61
61
  end
62
62
  end
63
63
 
64
- describe "setting salt environment on multiple hosts" do
64
+ describe 'setting salt environment on multiple hosts' do
65
65
  before do
66
- setup_user "edit"
66
+ setup_user 'edit'
67
67
  as_admin do
68
68
  @hosts = FactoryBot.create_list(:host, 2)
69
69
  @proxy = FactoryBot.create(:smart_proxy, :with_salt_feature)
@@ -74,22 +74,22 @@ module ForemanSalt
74
74
  test 'user without edit permission should not be able to change salt environment' do
75
75
  @request.env['HTTP_REFERER'] = hosts_path
76
76
 
77
- params = { :host_ids => @hosts.map(&:id),
78
- :salt_environment => { :id => @salt_environment.id } }
77
+ params = { host_ids: @hosts.map(&:id),
78
+ salt_environment: { id: @salt_environment.id } }
79
79
 
80
80
  post :update_multiple_salt_environment, params: params,
81
- session: set_session_user.merge(:user => users(:one).id)
81
+ session: set_session_user.merge(user: users(:one).id)
82
82
  assert_response :forbidden
83
83
  end
84
84
 
85
- test "should change the salt environment" do
85
+ test 'should change the salt environment' do
86
86
  @request.env['HTTP_REFERER'] = hosts_path
87
87
 
88
- params = { :host_ids => @hosts.map(&:id),
89
- :salt_environment => { :id => @salt_environment.id } }
88
+ params = { host_ids: @hosts.map(&:id),
89
+ salt_environment: { id: @salt_environment.id } }
90
90
 
91
91
  post :update_multiple_salt_environment, params: params,
92
- session: set_session_user.merge(:user => users(:admin).id)
92
+ session: set_session_user.merge(user: users(:admin).id)
93
93
 
94
94
  assert_empty flash[:error]
95
95
 
@@ -100,14 +100,14 @@ module ForemanSalt
100
100
  end
101
101
  end
102
102
 
103
- test "should clear the salt environment of multiple hosts" do
103
+ test 'should clear the salt environment of multiple hosts' do
104
104
  @request.env['HTTP_REFERER'] = hosts_path
105
105
 
106
- params = { :host_ids => @hosts.map(&:id),
107
- :salt_environment => { :id => '' } }
106
+ params = { host_ids: @hosts.map(&:id),
107
+ salt_environment: { id: '' } }
108
108
 
109
109
  post :update_multiple_salt_environment, params: params,
110
- session: set_session_user.merge(:user => users(:admin).id)
110
+ session: set_session_user.merge(user: users(:admin).id)
111
111
 
112
112
  assert_empty flash[:error]
113
113
 
@@ -13,26 +13,26 @@ module ForemanSalt
13
13
 
14
14
  @hostgroup = FactoryBot.create(:hostgroup)
15
15
  @host = FactoryBot.create(:host, salt_environment: FactoryBot.create(:salt_environment), salt_proxy: @proxy)
16
- @host2 = FactoryBot.create(:host, :hostgroup => @hostgroup, salt_environment: FactoryBot.create(:salt_environment), salt_proxy: @proxy)
17
- FactoryBot.create(:host_parameter, name: "parameter1", value: "different", host: @host)
16
+ @host2 = FactoryBot.create(:host, hostgroup: @hostgroup, salt_environment: FactoryBot.create(:salt_environment), salt_proxy: @proxy)
17
+ FactoryBot.create(:host_parameter, name: 'parameter1', value: 'different', host: @host)
18
18
  end
19
19
 
20
20
  test 'salt smart proxy should get salt external node' do
21
- get :node, params: { :id => @host, :format => 'yml' }
21
+ get :node, params: { id: @host, format: 'yml' }
22
22
  assert_response :success
23
23
 
24
24
  res = YAML.safe_load(@response.body)
25
- assert_equal res['parameters']['parameter1'], 'different'
25
+ assert_equal('different', res['parameters']['parameter1'])
26
26
  end
27
27
 
28
28
  test 'setting salt_namespace_pillars is considered' do
29
29
  Setting['salt_namespace_pillars'] = true
30
30
 
31
- get :node, params: { :id => @host, :format => 'yml' }
31
+ get :node, params: { id: @host, format: 'yml' }
32
32
  assert_response :success
33
33
 
34
34
  res = YAML.safe_load(@response.body)
35
- assert_equal res['parameters']['foreman']['parameter1'], 'different'
35
+ assert_equal('different', res['parameters']['foreman']['parameter1'])
36
36
  end
37
37
 
38
38
  test 'salt variable is available' do
@@ -40,7 +40,7 @@ module ForemanSalt
40
40
  var.salt_module.salt_environments << @host.salt_environment
41
41
  @host.salt_modules << var.salt_module
42
42
 
43
- get :node, params: { :id => @host, :format => 'yml' }
43
+ get :node, params: { id: @host, format: 'yml' }
44
44
  assert_response :success
45
45
 
46
46
  res = YAML.safe_load(@response.body)
@@ -52,7 +52,7 @@ module ForemanSalt
52
52
  var.salt_module.salt_environments << @host.salt_environment
53
53
  @host.salt_modules << var.salt_module
54
54
 
55
- get :node, params: { :id => @host, :format => 'yml' }
55
+ get :node, params: { id: @host, format: 'yml' }
56
56
  assert_response :success
57
57
 
58
58
  res = YAML.safe_load(@response.body)
@@ -60,17 +60,17 @@ module ForemanSalt
60
60
  end
61
61
 
62
62
  test 'salt variable matching host with host specific value' do
63
- var = FactoryBot.create(:salt_variable, key: 'parameter1', value: "default", override: true)
63
+ var = FactoryBot.create(:salt_variable, key: 'parameter1', value: 'default', override: true)
64
64
  # rubocop:disable Lint/UselessAssignment
65
- value1 = LookupValue.create(:lookup_key => var, :match => "os=debian", :value => "aaa")
66
- value2 = LookupValue.create(:lookup_key => var, :match => "fqdn=#{@host.fqdn}", :value => "myval")
67
- value3 = LookupValue.create(:lookup_key => var, :match => "hostgroup=Unusual", :value => "bbbb")
65
+ value1 = LookupValue.create(lookup_key: var, match: 'os=debian', value: 'aaa')
66
+ value2 = LookupValue.create(lookup_key: var, match: "fqdn=#{@host.fqdn}", value: 'myval')
67
+ value3 = LookupValue.create(lookup_key: var, match: 'hostgroup=Unusual', value: 'bbbb')
68
68
  # rubocop:enable Lint/UselessAssignment
69
69
 
70
70
  var.salt_module.salt_environments << @host.salt_environment
71
71
  @host.salt_modules << var.salt_module
72
72
 
73
- get :node, params: { :id => @host, :format => 'yml' }
73
+ get :node, params: { id: @host, format: 'yml' }
74
74
  assert_response :success
75
75
 
76
76
  res = YAML.safe_load(@response.body)
@@ -78,16 +78,16 @@ module ForemanSalt
78
78
  end
79
79
 
80
80
  test 'salt variable matching host with hostgroup specific value' do
81
- var = FactoryBot.create(:salt_variable, key: 'parameter1', value: "default", override: true)
81
+ var = FactoryBot.create(:salt_variable, key: 'parameter1', value: 'default', override: true)
82
82
  # rubocop:disable Lint/UselessAssignment
83
- value1 = LookupValue.create(:lookup_key => var, :match => "os=debian", :value => "aaa")
84
- value2 = LookupValue.create(:lookup_key => var, :match => @hostgroup.lookup_value_matcher, :value => "bbbb")
83
+ value1 = LookupValue.create(lookup_key: var, match: 'os=debian', value: 'aaa')
84
+ value2 = LookupValue.create(lookup_key: var, match: @hostgroup.lookup_value_matcher, value: 'bbbb')
85
85
  # rubocop:enable Lint/UselessAssignment
86
86
 
87
87
  var.salt_module.salt_environments << @host2.salt_environment
88
88
  @host2.salt_modules << var.salt_module
89
89
 
90
- get :node, params: { :id => @host2, :format => 'yml' }
90
+ get :node, params: { id: @host2, format: 'yml' }
91
91
  assert_response :success
92
92
 
93
93
  res = YAML.safe_load(@response.body)
@@ -95,16 +95,16 @@ module ForemanSalt
95
95
  end
96
96
 
97
97
  test 'salt variable matching host with default value' do
98
- var = FactoryBot.create(:salt_variable, key: 'parameter1', value: "default", override: true)
98
+ var = FactoryBot.create(:salt_variable, key: 'parameter1', value: 'default', override: true)
99
99
  # rubocop:disable Lint/UselessAssignment
100
- value1 = LookupValue.create(:lookup_key => var, :match => "os=debian", :value => "aaa")
101
- value2 = LookupValue.create(:lookup_key => var, :match => "fqdn=#{@host.fqdn}", :value => "myval")
102
- value3 = LookupValue.create(:lookup_key => var, :match => "hostgroup=Unusual", :value => "bbbb")
100
+ value1 = LookupValue.create(lookup_key: var, match: 'os=debian', value: 'aaa')
101
+ value2 = LookupValue.create(lookup_key: var, match: "fqdn=#{@host.fqdn}", value: 'myval')
102
+ value3 = LookupValue.create(lookup_key: var, match: 'hostgroup=Unusual', value: 'bbbb')
103
103
  # rubocop:enable Lint/UselessAssignment
104
104
 
105
105
  var.salt_module.salt_environments << @host2.salt_environment
106
106
  @host2.salt_modules << var.salt_module
107
- get :node, params: { :id => @host2, :format => 'yml' }
107
+ get :node, params: { id: @host2, format: 'yml' }
108
108
  assert_response :success
109
109
 
110
110
  res = YAML.safe_load(@response.body)
@@ -8,13 +8,13 @@ module ForemanSalt
8
8
  @model = FactoryBot.create(:salt_module)
9
9
  end
10
10
 
11
- basic_index_test "salt_modules"
11
+ basic_index_test 'salt_modules'
12
12
  basic_new_test
13
- basic_edit_test "salt_module"
13
+ basic_edit_test 'salt_module'
14
14
 
15
15
  test 'should destroy module' do
16
16
  assert_difference('SaltModule.count', -1) do
17
- delete :destroy, :params => { :id => @model.id }, :session => set_session_user
17
+ delete :destroy, params: { id: @model.id }, session: set_session_user
18
18
  end
19
19
  assert_redirected_to salt_modules_url
20
20
  end
@@ -9,23 +9,23 @@ module ForemanSalt
9
9
  @proxy = FactoryBot.create(:smart_proxy, :with_salt_feature)
10
10
  end
11
11
 
12
- basic_index_test "salt_variables"
12
+ basic_index_test 'salt_variables'
13
13
  basic_new_test
14
- basic_edit_test "salt_variable"
14
+ basic_edit_test 'salt_variable'
15
15
  basic_pagination_per_page_test
16
16
  basic_pagination_rendered_test
17
17
 
18
18
  test 'should destroy variable' do
19
19
  assert_difference('SaltVariable.count', -1) do
20
- delete :destroy, :params => { :id => @model.id }, :session => set_session_user
20
+ delete :destroy, params: { id: @model.id }, session: set_session_user
21
21
  end
22
22
  assert_redirected_to salt_variables_url
23
23
  end
24
24
 
25
25
  test 'should create salt variable' do
26
- params = { :foreman_salt_salt_variable => { :key => 'great name', :salt_module_id => FactoryBot.create(:salt_module).id } }
26
+ params = { foreman_salt_salt_variable: { key: 'great name', salt_module_id: FactoryBot.create(:salt_module).id } }
27
27
  assert_difference('SaltVariable.count', 1) do
28
- post :create, :params => params, :session => set_session_user
28
+ post :create, params: params, session: set_session_user
29
29
  end
30
30
  assert_redirected_to salt_variables_url
31
31
  end