foreman_salt 1.1.0 → 1.1.1

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -8
  3. data/Rakefile +1 -1
  4. data/app/controllers/foreman_salt/api/v2/jobs_controller.rb +4 -4
  5. data/app/controllers/foreman_salt/concerns/hosts_controller_extensions.rb +4 -4
  6. data/app/controllers/foreman_salt/concerns/smart_proxy_auth_extensions.rb +2 -2
  7. data/app/controllers/foreman_salt/concerns/unattended_controller_extensions.rb +1 -1
  8. data/app/controllers/foreman_salt/salt_environments_controller.rb +1 -1
  9. data/app/controllers/foreman_salt/salt_keys_controller.rb +4 -4
  10. data/app/controllers/foreman_salt/salt_modules_controller.rb +1 -1
  11. data/app/helpers/concerns/foreman_salt/hosts_helper_extensions.rb +4 -4
  12. data/app/helpers/concerns/foreman_salt/smart_proxies_helper_extensions.rb +2 -2
  13. data/app/helpers/foreman_salt/salt_keys_helper.rb +1 -1
  14. data/app/lib/proxy_api/salt.rb +21 -21
  15. data/app/models/foreman_salt/concerns/host_managed_extensions.rb +7 -7
  16. data/app/models/foreman_salt/concerns/hostgroup_extensions.rb +5 -5
  17. data/app/models/foreman_salt/concerns/orchestration/salt.rb +12 -12
  18. data/app/models/foreman_salt/salt_environment.rb +4 -4
  19. data/app/models/foreman_salt/salt_module.rb +4 -4
  20. data/app/overrides/foreman/salt_modules/_host_tab_pane.html.erb +2 -2
  21. data/app/overrides/salt_environment_selector.rb +4 -4
  22. data/app/overrides/salt_modules_selector.rb +9 -9
  23. data/app/overrides/salt_proxy_selector.rb +4 -4
  24. data/app/services/foreman_salt/fact_importer.rb +5 -5
  25. data/app/services/foreman_salt/report_importer.rb +14 -14
  26. data/app/services/foreman_salt/smart_proxies/salt_keys.rb +6 -6
  27. data/app/views/foreman_salt/salt_autosign/_form.html.erb +1 -1
  28. data/app/views/foreman_salt/salt_autosign/index.html.erb +3 -3
  29. data/app/views/foreman_salt/salt_autosign/new.html.erb +1 -1
  30. data/app/views/foreman_salt/salt_environments/edit.html.erb +1 -1
  31. data/app/views/foreman_salt/salt_environments/index.html.erb +4 -4
  32. data/app/views/foreman_salt/salt_environments/new.html.erb +1 -1
  33. data/app/views/foreman_salt/salt_keys/index.erb +9 -9
  34. data/app/views/foreman_salt/salt_modules/edit.html.erb +1 -1
  35. data/app/views/foreman_salt/salt_modules/index.html.erb +4 -4
  36. data/app/views/foreman_salt/salt_modules/new.html.erb +1 -1
  37. data/config/routes.rb +1 -1
  38. data/db/migrate/20140817210214_create_salt_modules.rb +1 -1
  39. data/db/migrate/20140920232200_create_salt_environments.rb +1 -1
  40. data/db/seeds.d/75-salt-seeds.rb +1 -1
  41. data/lib/foreman_salt/engine.rb +20 -20
  42. data/lib/foreman_salt/version.rb +1 -1
  43. data/lib/foreman_salt.rb +1 -1
  44. data/lib/tasks/foreman_salt_tasks.rake +16 -9
  45. data/test/factories/foreman_salt_factories.rb +2 -2
  46. data/test/functional/hosts_controller_test.rb +1 -1
  47. data/test/integration/salt_autosign_test.rb +8 -8
  48. data/test/integration/salt_environment_test.rb +7 -7
  49. data/test/integration/salt_keys_test.rb +17 -17
  50. data/test/integration/salt_module_test.rb +8 -8
  51. data/test/test_plugin_helper.rb +1 -1
  52. data/test/unit/grains_importer_test.rb +9 -9
  53. data/test/unit/host_extensions_test.rb +7 -7
  54. data/test/unit/hostgroup_extensions_test.rb +7 -7
  55. data/test/unit/report_importer_test.rb +1 -1
  56. data/test/unit/salt_keys_test.rb +13 -13
  57. data/test/unit/salt_modules_test.rb +5 -5
  58. metadata +58 -58
@@ -57,22 +57,22 @@ module ForemanSalt
57
57
  def import_log_messages
58
58
  @raw.each do |resource, result|
59
59
  level = if result['changes'].blank? && result['result']
60
- :info
61
- elsif result['result'] == false
62
- :err
63
- else
64
- :notice
65
- end
60
+ :info
61
+ elsif !result['result']
62
+ :err
63
+ else
64
+ :notice
65
+ end
66
66
 
67
67
  source = Source.find_or_create(resource)
68
68
 
69
69
  message = if result['changes']['diff']
70
- result['changes']['diff']
71
- elsif !result['comment'].blank?
72
- result['comment']
73
- else
74
- 'No message available'
75
- end
70
+ result['changes']['diff']
71
+ elsif !result['comment'].blank?
72
+ result['comment']
73
+ else
74
+ 'No message available'
75
+ end
76
76
 
77
77
  message = Message.find_or_create(message)
78
78
  Log.create(:message_id => message.id, :source_id => source.id, :report => @report, :level => level)
@@ -91,14 +91,14 @@ module ForemanSalt
91
91
  @raw.each do |resource, result|
92
92
  next unless result.is_a? Hash
93
93
 
94
- if result['result'] == true
94
+ if result['result']
95
95
  success += 1
96
96
  if resource.match(/^service_/) && result['comment'].include?('restarted')
97
97
  restarted += 1
98
98
  elsif !result['changes'].blank?
99
99
  changed += 1
100
100
  end
101
- elsif result['result'] == false
101
+ elsif !result['result']
102
102
  if resource.match(/^service_/) && result['comment'].include?('restarted')
103
103
  restarted_failed += 1
104
104
  else
@@ -3,14 +3,14 @@ module ForemanSalt
3
3
 
4
4
  attr_reader :name, :state, :fingerprint, :smart_proxy_id
5
5
 
6
- def initialize opts
6
+ def initialize(opts)
7
7
  @name, @state, @fingerprint, @smart_proxy_id = opts.flatten
8
8
  end
9
9
 
10
10
  class << self
11
11
 
12
12
  def all(proxy)
13
- raise ::Foreman::Exception.new(N_("Must specify a Smart Proxy to use")) if proxy.nil?
13
+ raise ::Foreman::Exception.new(N_('Must specify a Smart Proxy to use')) if proxy.nil?
14
14
 
15
15
  unless (keys = Rails.cache.read("saltkeys_#{proxy.id}"))
16
16
  api = ProxyAPI::Salt.new({:url => proxy.url})
@@ -33,14 +33,14 @@ module ForemanSalt
33
33
  end
34
34
 
35
35
  def accept
36
- raise ::Foreman::Exception.new(N_("unable to re-accept an accepted key")) unless state == "unaccepted"
36
+ raise ::Foreman::Exception.new(N_('unable to re-accept an accepted key')) unless state == 'unaccepted'
37
37
  proxy = SmartProxy.find(smart_proxy_id)
38
38
  Rails.cache.delete("saltkeys_#{proxy.id}") if Rails.env.production?
39
39
  ProxyAPI::Salt.new({:url => proxy.url}).key_accept name
40
40
  end
41
41
 
42
42
  def reject
43
- raise ::Foreman::Exception.new(N_("unable to reject an accepted key")) unless state == "unaccepted"
43
+ raise ::Foreman::Exception.new(N_('unable to reject an accepted key')) unless state == 'unaccepted'
44
44
  proxy = SmartProxy.find(smart_proxy_id)
45
45
  Rails.cache.delete("saltkeys_#{proxy.id}") if Rails.env.production?
46
46
  ProxyAPI::Salt.new({:url => proxy.url}).key_reject name
@@ -56,12 +56,12 @@ module ForemanSalt
56
56
  def to_param
57
57
  name
58
58
  end
59
-
59
+
60
60
  def to_s
61
61
  name
62
62
  end
63
63
 
64
- def <=> other
64
+ def <=>(other)
65
65
  self.name <=> other.name
66
66
  end
67
67
  end
@@ -1,7 +1,7 @@
1
1
  <%= form_tag url_for(:controller => 'foreman_salt/salt_autosign', :smart_proxy_id => @proxy, :action => 'index') do |f| %>
2
2
  <div class="clearfix">
3
3
  <div class="input">
4
- <%= label_tag(_("Name")) %> <%= text_field_tag(:id, "", :size => 60) %> <%= submit_tag _('Save'), :class => "btn btn-success" %>
4
+ <%= label_tag(_('Name')) %> <%= text_field_tag(:id, '', :size => 60) %> <%= submit_tag _('Save'), :class => 'btn btn-success' %>
5
5
  </div>
6
6
  </div>
7
7
  <% end %>
@@ -1,10 +1,10 @@
1
- <% title _("Autosign entries for %s") % @proxy %>
1
+ <% title _('Autosign entries for %s') % @proxy %>
2
2
 
3
- <% title_actions display_link_if_authorized(_("Keys"), hash_for_smart_proxy_salt_keys_path), display_link_if_authorized(_("New"), {:controller => 'foreman_salt/salt_autosign', :action => 'new', :smart_proxy_id => @proxy, :auth_object => @proxy, :permission => 'create_smart_proxies_salt_keys'}) %>
3
+ <% title_actions display_link_if_authorized(_('Keys'), hash_for_smart_proxy_salt_keys_path), display_link_if_authorized(_('New'), {:controller => 'foreman_salt/salt_autosign', :action => 'new', :smart_proxy_id => @proxy, :auth_object => @proxy, :permission => 'create_smart_proxies_salt_keys'}) %>
4
4
 
5
5
  <table class='table table-bordered table-striped table-condensed'>
6
6
  <tr>
7
- <th><%= _("Name") %></th>
7
+ <th><%= _('Name') %></th>
8
8
  <th></th>
9
9
  </tr>
10
10
  <% @autosign.each do |key| %>
@@ -1,3 +1,3 @@
1
- <% title _("New Autosign Entry") %>
1
+ <% title _('New Autosign Entry') %>
2
2
 
3
3
  <%= render :partial => 'form' %>
@@ -1,4 +1,4 @@
1
- <% title(_("Edit Salt Environment %s") % @salt_environment) %>
1
+ <% title(_('Edit Salt Environment %s') % @salt_environment) %>
2
2
 
3
3
  <%= render :partial => 'form' %>
4
4
 
@@ -1,10 +1,10 @@
1
- <% title _("Salt Environments") %>
1
+ <% title _('Salt Environments') %>
2
2
 
3
- <% title_actions button_group(display_link_if_authorized(_("New Salt Environment"), hash_for_new_salt_environment_path)) %>
3
+ <% title_actions button_group(display_link_if_authorized(_('New Salt Environment'), hash_for_new_salt_environment_path)) %>
4
4
 
5
5
  <table class="table table-bordered table-striped">
6
6
  <tr>
7
- <th><%= sort :name, :as => s_("SaltEnvironment|Name") %></th>
7
+ <th><%= sort :name, :as => s_('SaltEnvironment|Name') %></th>
8
8
  <th></th>
9
9
  </tr>
10
10
  <% for salt_environment in @salt_environments %>
@@ -12,7 +12,7 @@
12
12
  <td><%=link_to_if_authorized h(salt_environment.name), hash_for_edit_salt_environment_path(:id => salt_environment).merge(:auth_object => salt_environment, :authorizer => authorizer) %></td>
13
13
  <td>
14
14
  <%= action_buttons(display_delete_if_authorized hash_for_salt_environment_path(:id => salt_environment).merge(:auth_object => salt_environment, :authorizer => authorizer),
15
- :confirm => _("Delete %s?") % salt_environment.name) %>
15
+ :confirm => _('Delete %s?') % salt_environment.name) %>
16
16
  </td>
17
17
  </tr>
18
18
  <% end %>
@@ -1,4 +1,4 @@
1
- <% title _("New Salt Environment") %>
1
+ <% title _('New Salt Environment') %>
2
2
 
3
3
  <%= render :partial => 'form' %>
4
4
 
@@ -1,13 +1,13 @@
1
- <% title _("Salt Keys on %s") % @proxy %>
2
- <% search_bar _("Filter %s") % salt_keys_state_filter %>
1
+ <% title _('Salt Keys on %s') % @proxy %>
2
+ <% search_bar _('Filter %s') % salt_keys_state_filter %>
3
3
 
4
- <% title_actions display_link_if_authorized(_("Autosign"), hash_for_smart_proxy_salt_autosign_index_path) %>
4
+ <% title_actions display_link_if_authorized(_('Autosign'), hash_for_smart_proxy_salt_autosign_index_path) %>
5
5
 
6
6
  <table class='table table-bordered table-striped table-condensed'>
7
7
  <tr>
8
- <th><%= _("Key Name") %></th>
9
- <th><%= _("State") %></th>
10
- <th><%= _("Fingerprint") %></th>
8
+ <th><%= _('Key Name') %></th>
9
+ <th><%= _('State') %></th>
10
+ <th><%= _('Fingerprint') %></th>
11
11
  <th></th>
12
12
  </tr>
13
13
  <% @keys.each do |key| %>
@@ -17,9 +17,9 @@
17
17
  <td><%= key.fingerprint %></td>
18
18
  <td>
19
19
  <%= action_buttons(
20
- if key.state == "unaccepted"
21
- [display_link_if_authorized(_("Accept"), hash_for_smart_proxy_salt_key_accept_path.merge(:state => params[:state], :salt_key_id => key)),
22
- display_link_if_authorized(_("Reject"), hash_for_smart_proxy_salt_key_reject_path.merge(:state => params[:state], :salt_key_id => key))]
20
+ if key.state == 'unaccepted'
21
+ [display_link_if_authorized(_('Accept'), hash_for_smart_proxy_salt_key_accept_path.merge(:state => params[:state], :salt_key_id => key)),
22
+ display_link_if_authorized(_('Reject'), hash_for_smart_proxy_salt_key_reject_path.merge(:state => params[:state], :salt_key_id => key))]
23
23
  end,
24
24
  display_delete_if_authorized(hash_for_smart_proxy_salt_key_path(:smart_proxy_id => @proxy, :id => key, :state => params[:state], :class => 'delete'))
25
25
  )
@@ -1,4 +1,4 @@
1
- <% title(_("Edit Salt State %s") % @salt_module) %>
1
+ <% title(_('Edit Salt State %s') % @salt_module) %>
2
2
 
3
3
  <%= render :partial => 'form' %>
4
4
 
@@ -1,10 +1,10 @@
1
- <% title _("Salt States") %>
1
+ <% title _('Salt States') %>
2
2
 
3
- <% title_actions button_group(display_link_if_authorized(_("New Salt State"), hash_for_new_salt_module_path)) %>
3
+ <% title_actions button_group(display_link_if_authorized(_('New Salt State'), hash_for_new_salt_module_path)) %>
4
4
 
5
5
  <table class="table table-bordered table-striped">
6
6
  <tr>
7
- <th><%= sort :name, :as => s_("SaltModule|Name") %></th>
7
+ <th><%= sort :name, :as => s_('SaltModule|Name') %></th>
8
8
  <th></th>
9
9
  </tr>
10
10
  <% for salt_module in @salt_modules %>
@@ -12,7 +12,7 @@
12
12
  <td><%=link_to_if_authorized h(salt_module.name), hash_for_edit_salt_module_path(:id => salt_module).merge(:auth_object => salt_module, :authorizer => authorizer) %></td>
13
13
  <td>
14
14
  <%= action_buttons(display_delete_if_authorized hash_for_salt_module_path(:id => salt_module).merge(:auth_object => salt_module, :authorizer => authorizer),
15
- :confirm => _("Delete %s?") % salt_module.name) %>
15
+ :confirm => _('Delete %s?') % salt_module.name) %>
16
16
  </td>
17
17
  </tr>
18
18
  <% end %>
@@ -1,4 +1,4 @@
1
- <% title _("New Salt State") %>
1
+ <% title _('New Salt State') %>
2
2
 
3
3
  <%= render :partial => 'form' %>
4
4
 
data/config/routes.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
3
  scope :salt, :path => '/salt' do
4
- match "/node/:name" => 'hosts#salt_external_node', :constraints => { :name => /[^\.][\w\.-]+/ }
4
+ match '/node/:name' => 'hosts#salt_external_node', :constraints => { :name => /[^\.][\w\.-]+/ }
5
5
 
6
6
  resources :salt_environments, :controller => 'foreman_salt/salt_environments' do
7
7
  collection do
@@ -1,7 +1,7 @@
1
1
  class CreateSaltModules < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :salt_modules do |t|
4
- t.string :name, :default => "", :null => false
4
+ t.string :name, :default => '', :null => false
5
5
  t.timestamps
6
6
  end
7
7
 
@@ -1,7 +1,7 @@
1
1
  class CreateSaltEnvironments < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :salt_environments do |t|
4
- t.string :name, :default => "", :null => false
4
+ t.string :name, :default => '', :null => false
5
5
  t.timestamps
6
6
  end
7
7
 
@@ -1,5 +1,5 @@
1
1
  # Create feature for Smart Proxy
2
- Feature.find_or_create_by_name("Salt")
2
+ Feature.find_or_create_by_name('Salt')
3
3
 
4
4
  # Add new viewing permissions to Viewer role
5
5
  viewer = Role.find_by_name('Viewer')
@@ -11,13 +11,13 @@ module ForemanSalt
11
11
  config.autoload_paths += Dir["#{config.root}/app/lib"]
12
12
 
13
13
  if defined? ForemanTasks
14
- initializer "foreman_salt.require_dynflow", :before => "foreman_tasks.initialize_dynflow" do |app|
14
+ initializer 'foreman_salt.require_dynflow', :before => 'foreman_tasks.initialize_dynflow' do |app|
15
15
  ForemanTasks.dynflow.require!
16
16
  end
17
17
  end
18
18
 
19
19
  # Add any db migrations
20
- initializer "foreman_salt.load_app_instance_data" do |app|
20
+ initializer 'foreman_salt.load_app_instance_data' do |app|
21
21
  app.config.paths['db/migrate'] += ForemanSalt::Engine.paths['db/migrate'].existent
22
22
  end
23
23
 
@@ -38,7 +38,7 @@ module ForemanSalt
38
38
  :after => :common_parameters
39
39
 
40
40
  divider :top_menu, :parent => :configure_menu,
41
- :caption => "Salt",
41
+ :caption => 'Salt',
42
42
  :after => :common_parameters
43
43
 
44
44
  security_block :hosts do |map|
@@ -47,36 +47,36 @@ module ForemanSalt
47
47
  end
48
48
 
49
49
  security_block :salt_environments do |map|
50
- permission :create_salt_environments, {:'foreman_salt/salt_environments' => [:new, :create]}, :resource_type => "ForemanSalt::SaltEnvironment"
51
- permission :view_salt_environments, {:'foreman_salt/salt_environments' => [:index, :show, :auto_complete_search]}, :resource_type => "ForemanSalt::SaltEnvironment"
52
- permission :edit_salt_environments, {:'foreman_salt/salt_environments' => [:update, :edit]},:resource_type => "ForemanSalt::SaltEnvironment"
53
- permission :destroy_salt_environments, {:'foreman_salt/salt_environments' => [:destroy]}, :resource_type => "ForemanSalt::SaltEnvironment"
50
+ permission :create_salt_environments, {:'foreman_salt/salt_environments' => [:new, :create]}, :resource_type => 'ForemanSalt::SaltEnvironment'
51
+ permission :view_salt_environments, {:'foreman_salt/salt_environments' => [:index, :show, :auto_complete_search]}, :resource_type => 'ForemanSalt::SaltEnvironment'
52
+ permission :edit_salt_environments, {:'foreman_salt/salt_environments' => [:update, :edit]},:resource_type => 'ForemanSalt::SaltEnvironment'
53
+ permission :destroy_salt_environments, {:'foreman_salt/salt_environments' => [:destroy]}, :resource_type => 'ForemanSalt::SaltEnvironment'
54
54
  end
55
55
 
56
56
  security_block :salt_modules do |map|
57
- permission :create_salt_modules, {:'foreman_salt/salt_modules' => [:new, :create]}, :resource_type => "ForemanSalt::SaltModule"
58
- permission :view_salt_modules, {:'foreman_salt/salt_modules' => [:index, :show, :auto_complete_search]}, :resource_type => "ForemanSalt::SaltModule"
59
- permission :edit_salt_modules, {:'foreman_salt/salt_modules' => [:update, :edit]},:resource_type => "ForemanSalt::SaltModule"
60
- permission :destroy_salt_modules, {:'foreman_salt/salt_modules' => [:destroy]}, :resource_type => "ForemanSalt::SaltModule"
57
+ permission :create_salt_modules, {:'foreman_salt/salt_modules' => [:new, :create]}, :resource_type => 'ForemanSalt::SaltModule'
58
+ permission :view_salt_modules, {:'foreman_salt/salt_modules' => [:index, :show, :auto_complete_search]}, :resource_type => 'ForemanSalt::SaltModule'
59
+ permission :edit_salt_modules, {:'foreman_salt/salt_modules' => [:update, :edit]},:resource_type => 'ForemanSalt::SaltModule'
60
+ permission :destroy_salt_modules, {:'foreman_salt/salt_modules' => [:destroy]}, :resource_type => 'ForemanSalt::SaltModule'
61
61
  end
62
62
 
63
63
  security_block :salt_keys do |map|
64
- permission :view_smart_proxies_salt_keys, {:'foreman_salt/salt_keys' => [:index]}, :resource_type => "SmartProxy"
65
- permission :destroy_smart_proxies_salt_keys, {:'foreman_salt/salt_keys' => [:destroy]},:resource_type => "SmartProxy"
66
- permission :edit_smart_proxies_salt_keys, {:'foreman_salt/salt_keys' => [:accept, :reject]}, :resource_type => "SmartProxy"
64
+ permission :view_smart_proxies_salt_keys, {:'foreman_salt/salt_keys' => [:index]}, :resource_type => 'SmartProxy'
65
+ permission :destroy_smart_proxies_salt_keys, {:'foreman_salt/salt_keys' => [:destroy]},:resource_type => 'SmartProxy'
66
+ permission :edit_smart_proxies_salt_keys, {:'foreman_salt/salt_keys' => [:accept, :reject]}, :resource_type => 'SmartProxy'
67
67
  end
68
68
 
69
69
  security_block :salt_autosign do |map|
70
- permission :destroy_smart_proxies_salt_autosign, {:'foreman_salt/salt_autosign' => [:destroy]}, :resource_type => "SmartProxy"
71
- permission :create_smart_proxies_salt_autosign, {:'foreman_salt/salt_autosign' => [:new, :create]}, :resource_type => "SmartProxy"
72
- permission :view_smart_proxies_salt_autosign, {:'foreman_salt/salt_autosign' => [:index]}, :resource_type => "SmartProxy"
70
+ permission :destroy_smart_proxies_salt_autosign, {:'foreman_salt/salt_autosign' => [:destroy]}, :resource_type => 'SmartProxy'
71
+ permission :create_smart_proxies_salt_autosign, {:'foreman_salt/salt_autosign' => [:new, :create]}, :resource_type => 'SmartProxy'
72
+ permission :view_smart_proxies_salt_autosign, {:'foreman_salt/salt_autosign' => [:index]}, :resource_type => 'SmartProxy'
73
73
  end
74
74
 
75
75
  security_block :api do |map|
76
- permission :create_reports, {:'foreman_salt/api/v2/jobs' => [:upload]}, :resource_type => "Report"
76
+ permission :create_reports, {:'foreman_salt/api/v2/jobs' => [:upload]}, :resource_type => 'Report'
77
77
  end
78
78
 
79
- role "Salt admin", [:saltrun_hosts, :create_salt_modules, :view_salt_modules, :edit_salt_modules, :destroy_salt_modules,
79
+ role 'Salt admin', [:saltrun_hosts, :create_salt_modules, :view_salt_modules, :edit_salt_modules, :destroy_salt_modules,
80
80
  :view_smart_proxies_salt_keys, :destroy_smart_proxies_salt_keys, :edit_smart_proxies_salt_keys,
81
81
  :create_smart_proxies_salt_autosign, :view_smart_proxies_salt_autosign, :destroy_smart_proxies_salt_autosign,
82
82
  :create_salt_environments, :view_salt_environments, :edit_salt_environments, :destroy_salt_environments]
@@ -107,7 +107,7 @@ module ForemanSalt
107
107
  ::Api::V2::HostsController.send :include, ForemanSalt::Concerns::SmartProxyAuthExtensions
108
108
  ::Api::V2::ReportsController.send :include, ForemanSalt::Concerns::SmartProxyAuthExtensions
109
109
  rescue => e
110
- puts "ForemanSalt: skipping engine hook (#{e.to_s})"
110
+ puts "ForemanSalt: skipping engine hook (#{e})"
111
111
  end
112
112
  end
113
113
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanSalt
2
- VERSION = "1.1.0"
2
+ VERSION = '1.1.1'
3
3
  end
data/lib/foreman_salt.rb CHANGED
@@ -3,7 +3,7 @@ require 'foreman_salt/engine'
3
3
  begin
4
4
  require 'foreman-tasks'
5
5
  rescue LoadError
6
- # Foreman Tasks isn't available
6
+ puts 'ForemanTasks is not available, async tasks disabled.'
7
7
  end
8
8
 
9
9
  module ForemanSalt
@@ -1,19 +1,25 @@
1
- # Tasks
2
1
  namespace :foreman_salt do
3
- namespace :example do
4
- desc 'Example Task'
5
- task :task => :environment do
6
- # Task goes here
2
+ task :rubocop do
3
+ begin
4
+ require 'rubocop/rake_task'
5
+ RuboCop::RakeTask.new(:rubocop_salt) do |task|
6
+ task.patterns = ["#{ForemanSalt::Engine.root}/app/**/*.rb",
7
+ "#{ForemanSalt::Engine.root}/lib/**/*.rb",
8
+ "#{ForemanSalt::Engine.root}/test/**/*.rb"]
9
+ end
10
+ rescue
11
+ puts "Rubocop not loaded."
7
12
  end
13
+
14
+ Rake::Task['rubocop_salt'].invoke
8
15
  end
9
16
  end
10
17
 
11
- # Tests
12
18
  namespace :test do
13
- desc "Test ForemanSalt"
19
+ desc 'Test ForemanSalt'
14
20
  Rake::TestTask.new(:foreman_salt) do |t|
15
21
  test_dir = File.join(File.dirname(__FILE__), '../..', 'test')
16
- t.libs << ["test",test_dir]
22
+ t.libs << ['test',test_dir]
17
23
  t.pattern = "#{test_dir}/**/*_test.rb"
18
24
  t.verbose = true
19
25
  end
@@ -25,7 +31,8 @@ end
25
31
 
26
32
  load 'tasks/jenkins.rake'
27
33
  if Rake::Task.task_defined?(:'jenkins:unit')
28
- Rake::Task["jenkins:unit"].enhance do
34
+ Rake::Task['jenkins:unit'].enhance do
29
35
  Rake::Task['test:foreman_salt'].invoke
36
+ Rake::Task['foreman_salt:rubocop'].invoke
30
37
  end
31
38
  end
@@ -1,9 +1,9 @@
1
1
  FactoryGirl.define do
2
- factory :salt_module, :class => "ForemanSalt::SaltModule" do
2
+ factory :salt_module, :class => 'ForemanSalt::SaltModule' do
3
3
  sequence(:name) { |n| "module#{n}" }
4
4
  end
5
5
 
6
- factory :salt_environment, :class => "ForemanSalt::SaltEnvironment" do
6
+ factory :salt_environment, :class => 'ForemanSalt::SaltEnvironment' do
7
7
  sequence(:name) { |n| "module#{n}" }
8
8
  end
9
9
  end
@@ -10,7 +10,7 @@ class HostsControllerTest < ActionController::TestCase
10
10
  Resolv.any_instance.stubs(:getnames).returns([proxy.to_s])
11
11
 
12
12
  host = FactoryGirl.create :host
13
- get :salt_external_node, {:name => host.name, :format => "yml"}
13
+ get :salt_external_node, {:name => host.name, :format => 'yml'}
14
14
  assert_response :success
15
15
  end
16
16
  end
@@ -10,20 +10,20 @@ module ForemanSalt
10
10
  )
11
11
  end
12
12
 
13
- test "smart proxy page has autosign link" do
14
- assert_row_button(smart_proxies_path, @proxy.name, 'Salt Autosign', dropdown = true)
13
+ test 'smart proxy page has autosign link' do
14
+ assert_row_button(smart_proxies_path, @proxy.name, 'Salt Autosign', true)
15
15
  end
16
16
 
17
- test "index page" do
17
+ test 'index page' do
18
18
  visit smart_proxy_salt_autosign_index_path(:smart_proxy_id => @proxy.id)
19
- assert find_link('Keys').visible?, "Keys is not visible"
20
- assert has_content?("Autosign entries for #{@proxy.hostname}"), "Page title does not appear"
21
- assert has_content?("Displaying"), "Pagination 'Display ...' does not appear"
19
+ assert find_link('Keys').visible?, 'Keys is not visible'
20
+ assert has_content?("Autosign entries for #{@proxy.hostname}"), 'Page title does not appear'
21
+ assert has_content?('Displaying'), 'Pagination "Display ..." does not appear'
22
22
  end
23
23
 
24
- test "has list of autosign" do
24
+ test 'has list of autosign' do
25
25
  visit smart_proxy_salt_autosign_index_path(:smart_proxy_id => @proxy.id)
26
- assert has_content?("foo.example.com"), "Missing autosign entry on index page"
26
+ assert has_content?('foo.example.com'), 'Missing autosign entry on index page'
27
27
  end
28
28
  end
29
29
  end
@@ -3,23 +3,23 @@ require 'test_plugin_helper'
3
3
  module ForemanSalt
4
4
  class SaltEnvironmentTest < ActionDispatch::IntegrationTest
5
5
 
6
- test "index page" do
6
+ test 'index page' do
7
7
  FactoryGirl.create_list :salt_environment, 50
8
- assert_index_page(salt_environments_path, "Salt Environment", "New Salt Environment")
8
+ assert_index_page(salt_environments_path, 'Salt Environment', 'New Salt Environment')
9
9
  end
10
10
 
11
- test "create new page" do
12
- assert_new_button(salt_environments_path, "New Salt Environment", new_salt_environment_path)
13
- fill_in "foreman_salt_salt_environment_name", :with => "common"
11
+ test 'create new page' do
12
+ assert_new_button(salt_environments_path, 'New Salt Environment', new_salt_environment_path)
13
+ fill_in 'foreman_salt_salt_environment_name', :with => 'common'
14
14
  assert_submit_button(salt_environments_path)
15
15
  assert page.has_link? 'common'
16
16
  end
17
17
 
18
- test "edit page" do
18
+ test 'edit page' do
19
19
  salt_environment = FactoryGirl.create :salt_environment
20
20
  visit salt_environments_path
21
21
  click_link salt_environment.name
22
- fill_in "foreman_salt_salt_environment_name", :with => "some_other_name"
22
+ fill_in 'foreman_salt_salt_environment_name', :with => 'some_other_name'
23
23
  assert_submit_button(salt_environments_path)
24
24
  assert page.has_link? 'some_other_name'
25
25
  end
@@ -7,39 +7,39 @@ module ForemanSalt
7
7
 
8
8
  ::ProxyAPI::Salt.any_instance.stubs(:key_list).returns(
9
9
  {
10
- "saltstack.example.com" => {"state"=>"accepted", "fingerprint"=>"98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c0"},
11
- "saltclient01.example.com" => {"state"=>"unaccepted", "fingerprint"=>"98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c1"},
12
- "saltclient02.example.com" => {"state"=>"unaccepted", "fingerprint"=>"98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c2"},
13
- "saltclient03.example.com "=> {"state"=>"rejected", "fingerprint"=>"98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c3"}
10
+ 'saltstack.example.com' => {'state'=>'accepted', 'fingerprint'=>'98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c0'},
11
+ 'saltclient01.example.com'=> {'state'=>'unaccepted', 'fingerprint'=>'98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c1'},
12
+ 'saltclient02.example.com'=> {'state'=>'unaccepted', 'fingerprint'=>'98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c2'},
13
+ 'saltclient03.example.com' => {'state'=>'rejected', 'fingerprint'=>'98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c3'}
14
14
  }
15
15
  )
16
16
  end
17
17
 
18
- test "smart proxy page has keys link" do
19
- assert_row_button(smart_proxies_path, @proxy.name, 'Salt Keys', dropdown = true)
18
+ test 'smart proxy page has keys link' do
19
+ assert_row_button(smart_proxies_path, @proxy.name, 'Salt Keys', true)
20
20
  end
21
21
 
22
- test "index page" do
22
+ test 'index page' do
23
23
  visit smart_proxy_salt_keys_path(:smart_proxy_id => @proxy.id)
24
- assert find_link('Autosign').visible?, "Autosign is not visible"
25
- assert has_content?("Salt Keys on #{@proxy.hostname}"), "Page title does not appear"
26
- assert has_content?("Displaying"), "Pagination 'Display ...' does not appear"
24
+ assert find_link('Autosign').visible?, 'Autosign is not visible'
25
+ assert has_content?("Salt Keys on #{@proxy.hostname}"), 'Page title does not appear'
26
+ assert has_content?('Displaying'), 'Pagination "Display ..." does not appear'
27
27
  end
28
28
 
29
- test "has list of keys" do
29
+ test 'has list of keys' do
30
30
  visit smart_proxy_salt_keys_path(:smart_proxy_id => @proxy.id)
31
- assert has_content?("saltclient01.example.com"), "Missing key on index page"
32
- assert has_content?("98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c1"), "Missing fingerprint on index page"
31
+ assert has_content?('saltclient01.example.com'), 'Missing key on index page'
32
+ assert has_content?('98:c2:63:c1:57:59:bc:bd:f1:ef:5a:38:b2:e9:71:c1'), 'Missing fingerprint on index page'
33
33
  end
34
34
 
35
- test "has accept link" do
35
+ test 'has accept link' do
36
36
  ::ProxyAPI::Salt.any_instance.stubs(:key_accept).returns(true)
37
- assert_row_button(smart_proxy_salt_keys_path(:smart_proxy_id => @proxy.id), 'saltclient01.example.com', 'Accept', dropdown = true)
37
+ assert_row_button(smart_proxy_salt_keys_path(:smart_proxy_id => @proxy.id), 'saltclient01.example.com', 'Accept', true)
38
38
  end
39
39
 
40
- test "has reject link" do
40
+ test 'has reject link' do
41
41
  ::ProxyAPI::Salt.any_instance.stubs(:key_reject).returns(true)
42
- assert_row_button(smart_proxy_salt_keys_path(:smart_proxy_id => @proxy.id), 'saltclient01.example.com', 'Reject', dropdown = true)
42
+ assert_row_button(smart_proxy_salt_keys_path(:smart_proxy_id => @proxy.id), 'saltclient01.example.com', 'Reject', true)
43
43
  end
44
44
  end
45
45
  end
@@ -3,23 +3,23 @@ require 'test_plugin_helper'
3
3
  module ForemanSalt
4
4
  class SaltModuleTest < ActionDispatch::IntegrationTest
5
5
 
6
- test "index page" do
6
+ test 'index page' do
7
7
  FactoryGirl.create_list :salt_module, 50
8
- assert_index_page(salt_modules_path, "Salt State", "New Salt State")
8
+ assert_index_page(salt_modules_path, 'Salt State', 'New Salt State')
9
9
  end
10
10
 
11
- test "create new page" do
12
- assert_new_button(salt_modules_path, "New Salt State", new_salt_module_path)
13
- fill_in "foreman_salt_salt_module_name", :with => "common"
11
+ test 'create new page' do
12
+ assert_new_button(salt_modules_path, 'New Salt State', new_salt_module_path)
13
+ fill_in 'foreman_salt_salt_module_name', :with => 'common'
14
14
  assert_submit_button(salt_modules_path)
15
15
  assert page.has_link? 'common'
16
16
  end
17
17
 
18
- test "edit page" do
18
+ test 'edit page' do
19
19
  salt_module = FactoryGirl.create :salt_module
20
20
  visit salt_modules_path
21
- click_link salt_module.name
22
- fill_in "foreman_salt_salt_module_name", :with => "some_other_name"
21
+ click_link salt_module.name
22
+ fill_in :foreman_salt_salt_module_name, :with => 'some_other_name'
23
23
  assert_submit_button(salt_modules_path)
24
24
  assert page.has_link? 'some_other_name'
25
25
  end
@@ -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('i.caret').click if dropdown
8
8
  click_link(button_text)
9
9
  end
10
10
  end