foreman_salt 4.0.1 → 5.0.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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/foreman_salt/states.js +5 -3
  3. data/app/controllers/foreman_salt/api/v2/salt_autosign_controller.rb +1 -1
  4. data/app/controllers/foreman_salt/api/v2/salt_keys_controller.rb +1 -1
  5. data/app/controllers/foreman_salt/api/v2/salt_states_controller.rb +1 -1
  6. data/app/controllers/foreman_salt/concerns/hostgroups_controller_extensions.rb +1 -1
  7. data/app/controllers/foreman_salt/minions_controller.rb +1 -1
  8. data/app/controllers/foreman_salt/state_importer.rb +4 -4
  9. data/app/helpers/concerns/foreman_salt/smart_proxies_helper_extensions.rb +7 -9
  10. data/app/models/foreman_salt/concerns/host_managed_extensions.rb +7 -2
  11. data/app/models/foreman_salt/concerns/hostgroup_extensions.rb +3 -0
  12. data/app/models/foreman_salt/fact_name.rb +3 -1
  13. data/app/models/foreman_salt/salt_environment.rb +2 -0
  14. data/app/models/foreman_salt/salt_module.rb +2 -0
  15. data/app/overrides/salt_modules_selector.rb +2 -2
  16. data/app/services/foreman_salt/fact_importer.rb +1 -1
  17. data/app/services/foreman_salt/fact_parser.rb +3 -3
  18. data/app/services/foreman_salt/report_importer.rb +7 -6
  19. data/config/routes.rb +3 -3
  20. data/db/seeds.d/75-salt_seeds.rb +1 -1
  21. data/lib/foreman_salt/engine.rb +3 -1
  22. data/lib/foreman_salt/plugin.rb +1 -1
  23. data/lib/foreman_salt/version.rb +1 -1
  24. data/test/factories/foreman_salt_factories.rb +1 -1
  25. data/test/functional/api/v2/salt_states_controller_test.rb +2 -2
  26. data/test/test_plugin_helper.rb +1 -1
  27. data/test/unit/host_extensions_test.rb +2 -2
  28. data/test/unit/hostgroup_extensions_test.rb +1 -1
  29. data/test/unit/report_importer_test.rb +1 -0
  30. metadata +13 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53e9c60ec9d9ffcbadae6c71eae62c4e545bd20f
4
- data.tar.gz: 6dd19160007e09f75ed43082ebc446c848a260dd
3
+ metadata.gz: f9868208c4e4fcafc333d26d1328d26fda1aedbe
4
+ data.tar.gz: 5123aa03c84c55a2b2bcf7781bd20a4c8f8c0bc7
5
5
  SHA512:
6
- metadata.gz: 5553e760b7ba4c5ccbcb4694818f2cee361cb4bfa26717817aed8e1ae016d3b01207336745bf899f394e69fc2cc5d66f3ae0c27423d44d23ba183b0aaab64490
7
- data.tar.gz: f4a10ec1a21cddb8134961584baca1ba768fd75f51c30a9ed9b94a28965e854fd3b660ae189eeab7b098374681c255ffb90c7385b22c2b344e3f45acf12dee94
6
+ metadata.gz: f3eb26a7c80cfd36770eeaa6fd758641e24942940964c4a97d2e516ecd3e80f59b7806f1828cea71dc3abee4623f30e6056e66df97a6143f12e67087e23244ba
7
+ data.tar.gz: 2912f3b5f10639dfd156bc5b7b3110fcc18eb732b49c04f1b4e036f2fc32c75916ad739d08456423c8c846c71486651aa73348f401a22e5e87bf49c52c64917e
@@ -8,6 +8,8 @@ function update_salt_states(element) {
8
8
  var url = $(element).attr('data-url');
9
9
  var data = $("form").serialize().replace('method=put', 'method=post');
10
10
 
11
+ if (url == undefined) return;
12
+
11
13
  if (url.match('hostgroups')) {
12
14
  data = data + '&hostgroup_id=' + host_id;
13
15
  } else {
@@ -18,9 +20,9 @@ function update_salt_states(element) {
18
20
  return;
19
21
  }
20
22
 
21
- $(element).indicator_show();
23
+ foreman.tools.showSpinner();
22
24
  $.ajax({
23
- type: 'post',
25
+ type: 'put',
24
26
  url: url,
25
27
  data: data,
26
28
  success: function(request) {
@@ -29,7 +31,7 @@ function update_salt_states(element) {
29
31
  multiSelectOnLoad();
30
32
  },
31
33
  complete: function() {
32
- $(element).indicator_hide();
34
+ foreman.tools.hideSpinner();
33
35
  }
34
36
  });
35
37
  }
@@ -51,7 +51,7 @@ module ForemanSalt
51
51
  end
52
52
 
53
53
  def find_proxy
54
- @proxy = ::SmartProxy.find(params[:smart_proxy_id])
54
+ @proxy = ::SmartProxy.friendly.find(params[:smart_proxy_id])
55
55
  not_found unless @proxy
56
56
  end
57
57
 
@@ -65,7 +65,7 @@ module ForemanSalt
65
65
  end
66
66
 
67
67
  def find_proxy
68
- @proxy = ::SmartProxy.find(params[:smart_proxy_id])
68
+ @proxy = ::SmartProxy.friendly.find(params[:smart_proxy_id])
69
69
  not_found unless @proxy
70
70
  end
71
71
 
@@ -89,7 +89,7 @@ module ForemanSalt
89
89
 
90
90
  def find_environment
91
91
  if params[:salt_environment_id]
92
- @salt_environment = ForemanSalt::SaltEnvironment.find(params[:salt_environment_id])
92
+ @salt_environment = ForemanSalt::SaltEnvironment.friendly.find(params[:salt_environment_id])
93
93
  fail _('Could not find salt environment with id %s') % params[:salt_environment_id] unless @salt_environment
94
94
  end
95
95
  end
@@ -11,7 +11,7 @@ module ForemanSalt
11
11
  @hostgroup = Hostgroup.authorized(:view_hostgroups, Hostgroup).find_by_id(params[:hostgroup_id]) || Hostgroup.new(params[:hostgroup])
12
12
 
13
13
  if params[:hostgroup][:salt_environment_id].present?
14
- @salt_environment = ::ForemanSalt::SaltEnvironment.find(params[:hostgroup][:salt_environment_id])
14
+ @salt_environment = ::ForemanSalt::SaltEnvironment.friendly.find(params[:hostgroup][:salt_environment_id])
15
15
  load_vars_for_ajax
16
16
  render :partial => 'foreman_salt/salt_modules/host_tab_pane'
17
17
  else
@@ -34,7 +34,7 @@ module ForemanSalt
34
34
 
35
35
  def salt_environment_selected
36
36
  if params[:host][:salt_environment_id].present?
37
- @salt_environment = ::ForemanSalt::SaltEnvironment.find(params[:host][:salt_environment_id])
37
+ @salt_environment = ::ForemanSalt::SaltEnvironment.friendly.find(params[:host][:salt_environment_id])
38
38
  load_ajax_vars
39
39
  render :partial => 'foreman_salt/salt_modules/host_tab_pane'
40
40
  else
@@ -46,19 +46,19 @@ module ForemanSalt
46
46
  end
47
47
 
48
48
  def add_to_environment(states, environment)
49
- environment = SaltEnvironment.find_or_create_by_name(environment)
49
+ environment = SaltEnvironment.where(:name => environment).first_or_create
50
50
 
51
51
  states.each do |state_name|
52
- state = SaltModule.find_or_create_by_name(state_name)
52
+ state = SaltModule.where(:name => state_name).first_or_create
53
53
  state.salt_environments << environment unless state.salt_environments.include? environment
54
54
  end
55
55
  end
56
56
 
57
57
  def remove_from_environment(states, environment)
58
- return unless (environment = SaltEnvironment.find(environment))
58
+ return unless (environment = SaltEnvironment.friendly.find(environment))
59
59
 
60
60
  states.each do |state_name|
61
- state = SaltModule.find(state_name)
61
+ state = SaltModule.friendly.find(state_name)
62
62
  state.salt_environments.delete(environment) if state
63
63
  end
64
64
  end
@@ -7,16 +7,14 @@ module ForemanSalt
7
7
  end
8
8
 
9
9
  def proxy_actions_with_salt_proxy(proxy, authorizer)
10
- salt = proxy.features.detect { |feature| feature.name == 'Salt' }
11
- [
12
- if salt
13
- display_link_if_authorized(_('Salt Keys'), :controller => 'foreman_salt/salt_keys', :action => 'index', :smart_proxy_id => proxy)
14
- end,
10
+ actions = proxy_actions_without_salt_proxy(proxy, authorizer)
15
11
 
16
- if salt
17
- display_link_if_authorized(_('Salt Autosign'), :controller => 'foreman_salt/salt_autosign', :action => 'index', :smart_proxy_id => proxy)
18
- end
19
- ] + proxy_actions_without_salt_proxy(proxy, authorizer)
12
+ if proxy.has_feature?('Salt')
13
+ actions << display_link_if_authorized(_('Salt Keys'), :controller => 'foreman_salt/salt_keys', :action => 'index', :smart_proxy_id => proxy)
14
+ actions << display_link_if_authorized(_('Salt Autosign'), :controller => 'foreman_salt/salt_autosign', :action => 'index', :smart_proxy_id => proxy)
15
+ end
16
+
17
+ actions
20
18
  end
21
19
  end
22
20
  end
@@ -24,6 +24,9 @@ module ForemanSalt
24
24
  after_build :delete_salt_key, :if => ->(host) { host.salt_proxy }
25
25
  before_provision :accept_salt_key, :if => ->(host) { host.salt_proxy }
26
26
  before_destroy :delete_salt_key, :if => ->(host) { host.salt_proxy }
27
+
28
+ attr_accessible :salt_proxy_id, :salt_proxy_name, :salt_environment_id,
29
+ :salt_environment_name, :salt_modules, :salt_module_ids
27
30
  end
28
31
 
29
32
  def configuration_with_salt?
@@ -87,7 +90,8 @@ module ForemanSalt
87
90
  def accept_salt_key
88
91
  begin
89
92
  Rails.logger.info("Host #{fqdn} is built, accepting Salt key")
90
- ForemanSalt::SmartProxies::SaltKeys.find(salt_proxy, fqdn).accept
93
+ key = ForemanSalt::SmartProxies::SaltKeys.find(salt_proxy, fqdn)
94
+ key.accept unless key.nil?
91
95
  rescue Foreman::Exception => e
92
96
  Rails.logger.warn("Unable to accept key for #{fqdn}: #{e}")
93
97
  end
@@ -95,7 +99,8 @@ module ForemanSalt
95
99
 
96
100
  def delete_salt_key
97
101
  begin
98
- ForemanSalt::SmartProxies::SaltKeys.find(salt_proxy, fqdn).delete
102
+ key = ForemanSalt::SmartProxies::SaltKeys.find(salt_proxy, fqdn)
103
+ key.delete unless key.nil?
99
104
  rescue Foreman::Exception => e
100
105
  Rails.logger.warn("Unable to delete key for #{fqdn}: #{e}")
101
106
  end
@@ -13,6 +13,9 @@ module ForemanSalt
13
13
  scoped_search :in => :salt_modules, :on => :name, :complete_value => true, :rename => :salt_state
14
14
  scoped_search :in => :salt_environment, :on => :name, :complete_value => true, :rename => :salt_environment
15
15
  scoped_search :in => :salt_proxy, :on => :name, :complete_value => true, :rename => :saltmaster
16
+
17
+ attr_accessible :salt_proxy_id, :salt_proxy_name, :salt_environment_id,
18
+ :salt_environment_name, :salt_modules, :salt_module_ids
16
19
  end
17
20
 
18
21
  def all_salt_modules
@@ -1,3 +1,5 @@
1
1
  module ForemanSalt
2
- class FactName < ::FactName; end
2
+ class FactName < ::FactName
3
+ attr_accessible :parent, :name, :compose, :parent_id
4
+ end
3
5
  end
@@ -4,6 +4,8 @@ module ForemanSalt
4
4
  extend FriendlyId
5
5
  friendly_id :name
6
6
 
7
+ attr_accessible :name, :salt_modules, :salt_module_ids
8
+
7
9
  has_many :hosts, :class_name => '::Host::Managed'
8
10
  has_many :hostgroups, :class_name => '::Hostgroup'
9
11
 
@@ -4,6 +4,8 @@ module ForemanSalt
4
4
  extend FriendlyId
5
5
  friendly_id :name
6
6
 
7
+ attr_accessible :name, :salt_environments, :salt_environment_ids
8
+
7
9
  # before_destroy EnsureNotUsedBy.new(:hosts, :hostgroups)
8
10
 
9
11
  has_many :hosts, :through => :host_salt_modules, :class_name => '::Host::Managed'
@@ -5,7 +5,7 @@ Deface::Override.new(:virtual_path => 'hosts/_form',
5
5
 
6
6
  Deface::Override.new(:virtual_path => 'hosts/_form',
7
7
  :name => 'add_salt_modules_tab_pane_to_host',
8
- :insert_before => 'div#puppet_klasses',
8
+ :insert_before => 'div#primary',
9
9
  :partial => 'foreman_salt/salt_modules/host_tab_pane')
10
10
 
11
11
  Deface::Override.new(:virtual_path => 'hostgroups/_form',
@@ -15,5 +15,5 @@ Deface::Override.new(:virtual_path => 'hostgroups/_form',
15
15
 
16
16
  Deface::Override.new(:virtual_path => 'hostgroups/_form',
17
17
  :name => 'add_salt_modules_tab_pane_to_hg',
18
- :insert_before => 'div#puppet_klasses',
18
+ :insert_before => 'div#primary',
19
19
  :partial => 'foreman_salt/salt_modules/host_tab_pane')
@@ -27,7 +27,7 @@ module ForemanSalt
27
27
  name_with_prefix = prefix.empty? ? name : prefix + FactName::SEPARATOR + name
28
28
 
29
29
  compose = value.is_a?(Hash)
30
- if fact_names[name_with_prefix].present?
30
+ if fact_names.is_a?(Hash) && fact_names[name_with_prefix].present?
31
31
  fact_name_id = fact_names[name_with_prefix]
32
32
  else
33
33
  fact_name_id = fact_name_class.create!(:name => name_with_prefix,
@@ -15,7 +15,7 @@ module ForemanSalt
15
15
  def architecture
16
16
  name = facts[:osarch]
17
17
  name = 'x86_64' if name == 'amd64'
18
- Architecture.find_or_create_by_name name unless name.blank?
18
+ Architecture.where(:name => name).first_or_create unless name.blank?
19
19
  end
20
20
 
21
21
  def environment
@@ -24,12 +24,12 @@ module ForemanSalt
24
24
 
25
25
  def model
26
26
  name = facts[:productname]
27
- Model.find_or_create_by_name(name.strip) unless name.blank?
27
+ Model.where(:name => name.strip).first_or_create unless name.blank?
28
28
  end
29
29
 
30
30
  def domain
31
31
  name = facts[:domain]
32
- Domain.find_or_create_by_name name unless name.blank?
32
+ Domain.where(:name => name).first_or_create unless name.blank?
33
33
  end
34
34
 
35
35
  def ip
@@ -24,7 +24,7 @@ module ForemanSalt
24
24
 
25
25
  if @host.new_record? && !Setting[:create_new_host_when_report_is_uploaded]
26
26
  logger.info("skipping report for #{@host} as its an unknown host and create_new_host_when_report_is_uploaded setting is disabled")
27
- return Report.new
27
+ return ConfigReport.new
28
28
  end
29
29
 
30
30
  @host.salt_proxy_id ||= @proxy_id
@@ -36,9 +36,10 @@ module ForemanSalt
36
36
  process_normal
37
37
  end
38
38
 
39
+ @host.save(:validate => false)
40
+ @host.reload
39
41
  @host.refresh_statuses
40
42
 
41
- @host.save(:validate => false)
42
43
  logger.info("Imported report for #{@host} in #{(Time.zone.now - start_time).round(2)} seconds")
43
44
  end
44
45
 
@@ -130,16 +131,16 @@ module ForemanSalt
130
131
 
131
132
  def process_normal
132
133
  metrics = calculate_metrics
133
- status = ReportStatusCalculator.new(:counters => metrics[:resources].slice(*::Report::METRIC)).calculate
134
+ status = ConfigReportStatusCalculator.new(:counters => metrics[:resources].slice(*::ConfigReport::METRIC)).calculate
134
135
 
135
- @report = Report.new(:host => @host, :reported_at => start_time, :status => status, :metrics => metrics)
136
+ @report = ConfigReport.new(:host => @host, :reported_at => start_time, :status => status, :metrics => metrics)
136
137
  return @report unless @report.save
137
138
  import_log_messages
138
139
  end
139
140
 
140
141
  def process_failures
141
- status = ReportStatusCalculator.new(:counters => { 'failed' => @raw.size }).calculate
142
- @report = Report.create(:host => @host, :reported_at => Time.zone.now, :status => status, :metrics => {})
142
+ status = ConfigReportStatusCalculator.new(:counters => { 'failed' => @raw.size }).calculate
143
+ @report = ConfigReport.create(:host => @host, :reported_at => Time.zone.now, :status => status, :metrics => {})
143
144
 
144
145
  source = Source.find_or_create('Salt')
145
146
  @raw.each do |failure|
data/config/routes.rb CHANGED
@@ -1,14 +1,14 @@
1
1
  Rails.application.routes.draw do
2
2
  scope :salt, :path => '/salt' do
3
3
  constraints(:id => /[\w\.-]+/) do
4
- match '/node/:id' => 'foreman_salt/minions#node'
5
- match '/run/:id' => 'foreman_salt/minions#run'
4
+ match '/node/:id' => 'foreman_salt/minions#node', :via => :get
5
+ match '/run/:id' => 'foreman_salt/minions#run', :via => :get
6
6
  end
7
7
 
8
8
  resources :minions, :controller => 'foreman_salt/minions', :only => [] do
9
9
  collection do
10
10
  constraints(:id => /[^\/]+/) do
11
- post 'salt_environment_selected'
11
+ put 'salt_environment_selected'
12
12
  end
13
13
  end
14
14
  end
@@ -1,5 +1,5 @@
1
1
  # Create feature for Smart Proxy
2
- Feature.find_or_create_by_name('Salt')
2
+ Feature.where(:name => 'Salt').first_or_create
3
3
 
4
4
  # Add new viewing permissions to Viewer role
5
5
  viewer = Role.find_by_name('Viewer')
@@ -22,7 +22,9 @@ module ForemanSalt
22
22
  end
23
23
 
24
24
  initializer 'foreman_salt.load_app_instance_data' do |app|
25
- app.config.paths['db/migrate'] += ForemanSalt::Engine.paths['db/migrate'].existent
25
+ ForemanSalt::Engine.paths['db/migrate'].existent.each do |path|
26
+ app.config.paths['db/migrate'] << path
27
+ end
26
28
  end
27
29
 
28
30
  initializer 'foreman_salt.assets.precompile' do |app|
@@ -1,5 +1,5 @@
1
1
  Foreman::Plugin.register :foreman_salt do
2
- requires_foreman '>= 1.10'
2
+ requires_foreman '>= 1.11'
3
3
 
4
4
  apipie_documented_controllers ["#{ForemanSalt::Engine.root}/app/controllers/foreman_salt/api/v2/*.rb"]
5
5
 
@@ -1,3 +1,3 @@
1
1
  module ForemanSalt
2
- VERSION = '4.0.1'
2
+ VERSION = '5.0.0'
3
3
  end
@@ -28,7 +28,7 @@ FactoryGirl.modify do
28
28
 
29
29
  factory :smart_proxy do
30
30
  trait :with_salt_feature do
31
- features { [::Feature.find_or_create_by_name('Salt')] }
31
+ features { [::Feature.where(:name => 'Salt').first_or_create] }
32
32
  end
33
33
  end
34
34
  end
@@ -45,8 +45,8 @@ module ForemanSalt
45
45
  assert_response :success
46
46
 
47
47
  @states.each do |env, states|
48
- environment = ::ForemanSalt::SaltEnvironment.find(env)
49
- assert_blank environment.salt_modules.map(&:name) - states
48
+ environment = ::ForemanSalt::SaltEnvironment.find_by_name(env)
49
+ assert_empty environment.salt_modules.map(&:name) - states
50
50
  end
51
51
  end
52
52
 
@@ -4,7 +4,7 @@ require 'test_helper'
4
4
  def assert_row_button(index_path, link_text, button_text, dropdown = false)
5
5
  visit index_path
6
6
  within(:xpath, "//tr[contains(.,'#{link_text}')]") do
7
- find('i.caret').click if dropdown
7
+ find('span.caret').click if dropdown
8
8
  click_link(button_text)
9
9
  end
10
10
  end
@@ -56,11 +56,11 @@ module ForemanSalt
56
56
  before do
57
57
  @host = FactoryGirl.create(:host, :with_salt_proxy, :build => true)
58
58
  @key_stub = stub("key")
59
- ForemanSalt::SmartProxies::SaltKeys.expects(:find).with(@host.salt_proxy, @host.fqdn).returns(@key_stub)
59
+ ForemanSalt::SmartProxies::SaltKeys.expects(:find).at_least_once.with(@host.salt_proxy, @host.fqdn).returns(@key_stub)
60
60
  end
61
61
 
62
62
  test 'host key is accepted when host is built' do
63
- @key_stub.expects(:accept).returns(true)
63
+ @key_stub.expects(:accept).at_least_once.returns(true)
64
64
  assert @host.built
65
65
  @host.run_callbacks(:commit) # callbacks don't run with Foreman's transactional fixtures
66
66
  end
@@ -43,7 +43,7 @@ module ForemanSalt
43
43
  parent = FactoryGirl.create :hostgroup, :with_salt_modules
44
44
  child_one = FactoryGirl.create :hostgroup, :parent => parent
45
45
  child_two = FactoryGirl.create :hostgroup, :parent => child_one
46
- assert_blank parent.all_salt_modules - child_two.all_salt_modules
46
+ assert_empty parent.all_salt_modules - child_two.all_salt_modules
47
47
  end
48
48
 
49
49
  test 'inheritance when no parents have modules' do
@@ -18,6 +18,7 @@ module ForemanSalt
18
18
  end
19
19
 
20
20
  test 'importing report updates host status' do
21
+ HostStatus::ConfigurationStatus.any_instance.stubs(:relevant?).returns(true)
21
22
  ForemanSalt::ReportImporter.import(@report)
22
23
  assert Host.find_by_name(@host).get_status(HostStatus::ConfigurationStatus).error?
23
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_salt
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Benjamin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-25 00:00:00.000000000 Z
11
+ date: 2016-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deface
@@ -180,27 +180,27 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  version: '0'
181
181
  requirements: []
182
182
  rubyforge_project:
183
- rubygems_version: 2.4.5
183
+ rubygems_version: 2.4.8
184
184
  signing_key:
185
185
  specification_version: 4
186
186
  summary: Foreman Plug-in for Salt
187
187
  test_files:
188
+ - test/factories/foreman_salt_factories.rb
189
+ - test/integration/salt_autosign_test.rb
188
190
  - test/integration/salt_module_test.rb
189
191
  - test/integration/salt_environment_test.rb
190
- - test/integration/salt_autosign_test.rb
191
192
  - test/integration/salt_keys_test.rb
192
- - test/test_plugin_helper.rb
193
- - test/unit/grains_importer_test.rb
193
+ - test/unit/highstate.json
194
+ - test/unit/report_importer_test.rb
194
195
  - test/unit/grains_centos.json
195
196
  - test/unit/host_extensions_test.rb
196
- - test/unit/report_importer_test.rb
197
- - test/unit/hostgroup_extensions_test.rb
198
197
  - test/unit/salt_modules_test.rb
199
- - test/unit/highstate.json
198
+ - test/unit/grains_importer_test.rb
200
199
  - test/unit/salt_keys_test.rb
201
- - test/functional/minions_controller_test.rb
202
- - test/functional/api/v2/salt_autosign_controller_test.rb
203
- - test/functional/api/v2/salt_states_controller_test.rb
200
+ - test/unit/hostgroup_extensions_test.rb
201
+ - test/test_plugin_helper.rb
204
202
  - test/functional/api/v2/salt_keys_controller_test.rb
203
+ - test/functional/api/v2/salt_autosign_controller_test.rb
205
204
  - test/functional/api/v2/salt_environments_controller_test.rb
206
- - test/factories/foreman_salt_factories.rb
205
+ - test/functional/api/v2/salt_states_controller_test.rb
206
+ - test/functional/minions_controller_test.rb