foreman_puppet 1.0.0 → 2.0.0.alpha.2

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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/foreman_puppet/extensions/api_hostgroups_controller.rb +14 -16
  3. data/app/controllers/concerns/foreman_puppet/{api/import_puppetclasses_common_controller.rb → extensions/api_smart_proxies_controller.rb} +9 -3
  4. data/app/controllers/concerns/foreman_puppet/extensions/api_template_combinations_controller.rb +23 -1
  5. data/app/controllers/concerns/foreman_puppet/extensions/api_v2_hosts_controller.rb +15 -17
  6. data/app/controllers/concerns/foreman_puppet/extensions/hostgroups_controller_extensions.rb +4 -2
  7. data/app/controllers/concerns/foreman_puppet/extensions/hosts_controller_extensions.rb +1 -2
  8. data/app/controllers/concerns/foreman_puppet/extensions/parameters_hostgroup.rb +2 -8
  9. data/app/controllers/foreman_puppet/api/v2/environments_controller.rb +0 -1
  10. data/app/controllers/foreman_puppet/puppetclasses_controller.rb +1 -1
  11. data/app/helpers/foreman_puppet/hosts_and_hostgroups_helper.rb +0 -5
  12. data/app/helpers/foreman_puppet/hosts_helper.rb +6 -10
  13. data/app/helpers/foreman_puppet/puppet_smart_proxies_helper.rb +4 -0
  14. data/app/models/concerns/foreman_puppet/extensions/host.rb +2 -16
  15. data/app/models/concerns/foreman_puppet/extensions/hostgroup.rb +2 -7
  16. data/app/models/concerns/foreman_puppet/extensions/provisioning_template.rb +7 -12
  17. data/app/models/concerns/foreman_puppet/extensions/template_combination.rb +5 -10
  18. data/app/services/concerns/foreman_puppet/extensions/host_counter.rb +17 -0
  19. data/app/services/foreman_puppet/puppet_class_importer.rb +0 -6
  20. data/app/views/foreman_puppet/api/v2/host_puppet_facets/host_list.json.rabl +3 -0
  21. data/app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/base.json.rabl +2 -0
  22. data/app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/hostgroup_list.json.rabl +3 -0
  23. data/app/views/hosts/_form_puppet_enc_tab.html.erb +3 -4
  24. data/config/api_routes.rb +1 -9
  25. data/config/initializers/api_reroute.rb +73 -5
  26. data/db/migrate/20101121140000_add_environment_to_template_combinations.foreman_puppet.rb +1 -1
  27. data/db/migrate/20200803113803_migrate_environment_to_puppet_facet.foreman_puppet.rb +4 -2
  28. data/db/migrate/20210924103241_remove_katello_id_from_environments.foreman_puppet.rb +5 -0
  29. data/db/migrate_foreman/20090722141107_create_environments.rb +2 -2
  30. data/db/migrate_foreman/20090802062223_create_puppetclasses.rb +28 -0
  31. data/db/migrate_foreman/20090905150132_create_hostgroups_puppetclasses.rb +12 -0
  32. data/db/migrate_foreman/20110412103238_remove_unused_fields_from_puppet_classes.rb +9 -0
  33. data/db/migrate_foreman/20110712070522_create_host_class.rb +11 -0
  34. data/db/migrate_foreman/20120824142048_add_some_indexes.rb +14 -0
  35. data/db/migrate_foreman/20121018152459_create_hostgroup_classes.rb +11 -0
  36. data/db/migrate_foreman/20161205142618_delete_orphaned_smart_class_parameters.rb +1 -1
  37. data/db/migrate_foreman/20180816134832_cast_lookup_key_values.rb +1 -31
  38. data/db/migrate_foreman/20180831115634_add_uniqueness_to_puppetclass_name.rb +24 -0
  39. data/db/migrate_foreman/20181023112532_add_environment_puppetclass_id.rb +1 -1
  40. data/lib/foreman_puppet/engine.rb +6 -36
  41. data/lib/foreman_puppet/register.rb +16 -47
  42. data/lib/foreman_puppet/version.rb +1 -1
  43. data/lib/foreman_puppet.rb +1 -6
  44. data/locale/en/LC_MESSAGES/foreman_puppet.mo +0 -0
  45. data/locale/en/foreman_puppet.po +62 -8
  46. data/locale/foreman_puppet.pot +215 -133
  47. data/locale/gemspec.rb +1 -1
  48. data/package.json +8 -11
  49. data/test/controllers/foreman_puppet/api/v2/environments_controller_test.rb +0 -231
  50. data/test/controllers/foreman_puppet/api/v2/smart_proxies_controller_test.rb +255 -0
  51. data/test/controllers/foreman_puppet/environments_controller_test.rb +2 -2
  52. data/test/controllers/foreman_puppet/hostgroups_controller_test.rb +72 -52
  53. data/test/controllers/foreman_puppet/hosts_controller_test.rb +0 -1
  54. data/test/factories/foreman_puppet_factories.rb +0 -2
  55. data/test/factories/host_puppet_enhancements.rb +3 -0
  56. data/test/integration/foreman_puppet/host_js_test.rb +0 -1
  57. data/test/integration/foreman_puppet/puppetclass_js_test.rb +1 -1
  58. data/test/models/foreman_puppet/host_test.rb +26 -0
  59. data/test/models/foreman_puppet/user_test.rb +1 -5
  60. data/test/services/foreman_puppet/host_counter_test.rb +17 -0
  61. data/test/unit/foreman_puppet/puppet_class_importer_test.rb +1 -1
  62. data/webpack/src/Components/Environments/Welcome.js +2 -2
  63. metadata +22 -7
@@ -4,68 +4,88 @@ module ForemanPuppet
4
4
  class HostgroupsControllerTest < ActionController::TestCase
5
5
  tests ::HostgroupsController
6
6
 
7
- setup do
8
- @routes = ForemanPuppet::Engine.routes
7
+ context 'with core routes' do
8
+ describe '#nest' do
9
+ it 'works without puppetclasses' do
10
+ hostgroup = FactoryBot.create(:hostgroup, :with_puppet_enc, :with_puppetclass)
11
+
12
+ post :nest, params: { id: hostgroup.id }, session: set_session_user
13
+ assert_template 'new'
14
+ end
15
+
16
+ it 'works with puppetclasses' do
17
+ hostgroup = FactoryBot.create(:hostgroup, :with_puppet_enc, :with_puppetclass)
18
+
19
+ post :nest, params: { id: hostgroup.id }, session: set_session_user
20
+ assert_template 'new'
21
+ end
22
+ end
9
23
  end
10
24
 
11
- describe '#environment_selected' do
25
+ context 'with plugin routes' do
12
26
  setup do
13
- @environment = FactoryBot.create(:environment)
14
- @puppetclass = FactoryBot.create(:puppetclass)
15
- @hostgroup = FactoryBot.create(:hostgroup, :with_puppet_enc, environment: @environment)
16
- @params = {
17
- id: @hostgroup.id,
18
- hostgroup: {
19
- name: @hostgroup.name,
20
- environment_id: '',
21
- puppetclass_ids: [@puppetclass.id],
22
- },
23
- }
27
+ @routes = ForemanPuppet::Engine.routes
24
28
  end
25
29
 
26
- test 'should return the selected puppet classes on environment change' do
27
- assert_equal 0, @hostgroup.puppet.puppetclasses.length
28
-
29
- post :environment_selected, params: @params, session: set_session_user, xhr: true
30
- assert_equal(1, assigns(:hostgroup).puppet.puppetclasses.length)
31
- assert_include assigns(:hostgroup).puppet.puppetclasses, @puppetclass
32
- end
30
+ describe '#environment_selected' do
31
+ setup do
32
+ @environment = FactoryBot.create(:environment)
33
+ @puppetclass = FactoryBot.create(:puppetclass)
34
+ @hostgroup = FactoryBot.create(:hostgroup, :with_puppet_enc, environment: @environment)
35
+ @params = {
36
+ id: @hostgroup.id,
37
+ hostgroup: {
38
+ name: @hostgroup.name,
39
+ environment_id: '',
40
+ puppetclass_ids: [@puppetclass.id],
41
+ },
42
+ }
43
+ end
33
44
 
34
- context 'environment_id param is set' do
35
- test 'it will take the hostgroup params environment_id' do
36
- other_environment = FactoryBot.create(:environment)
37
- @params[:hostgroup][:environment_id] = other_environment.id
45
+ test 'should return the selected puppet classes on environment change' do
46
+ assert_equal 0, @hostgroup.puppet.puppetclasses.length
38
47
 
39
48
  post :environment_selected, params: @params, session: set_session_user, xhr: true
40
- assert_equal assigns(:environment), other_environment
49
+ assert_equal(1, assigns(:hostgroup).puppet.puppetclasses.length)
50
+ assert_include assigns(:hostgroup).puppet.puppetclasses, @puppetclass
41
51
  end
42
- end
43
52
 
44
- test 'should not escape lookup values on environment change' do
45
- hostgroup = FactoryBot.create(:hostgroup, :with_puppet_enc, environment: @environment, puppetclasses: [@puppetclass])
46
- lookup_key = FactoryBot.create(:puppetclass_lookup_key, :array, default_value: %w[a b],
47
- override: true,
48
- puppetclass: @puppetclass,
49
- overrides: { "hostgroup=#{hostgroup.name}" => %w[c d] })
50
- lookup_value = lookup_key.lookup_values.first
51
- FactoryBot.create(:environment_class, puppetclass: @puppetclass, environment: @environment, puppetclass_lookup_key: lookup_key)
52
-
53
- # sending exactly what the host form would send which is lookup_value.value_before_type_cast
54
- lk = { 'lookup_values_attributes' => { lookup_key.id.to_s => { 'value' => lookup_value.value_before_type_cast,
55
- 'id' => lookup_value.id,
56
- 'lookup_key_id' => lookup_key.id,
57
- '_destroy' => false } } }
58
-
59
- params = {
60
- hostgroup_id: hostgroup.id,
61
- hostgroup: hostgroup.attributes.merge(lk),
62
- }
63
-
64
- # environment change calls puppetclass_parameters which caused the extra escaping
65
- post :puppetclass_parameters, params: params, session: set_session_user, xhr: true
66
-
67
- # if this was escaped during refresh_host the value in response.body after unescapeHTML would include "[\\\"c\\\",\\\"d\\\"]"
68
- assert_includes CGI.unescapeHTML(response.body), '["c","d"]'
53
+ context 'environment_id param is set' do
54
+ test 'it will take the hostgroup params environment_id' do
55
+ other_environment = FactoryBot.create(:environment)
56
+ @params[:hostgroup][:environment_id] = other_environment.id
57
+
58
+ post :environment_selected, params: @params, session: set_session_user, xhr: true
59
+ assert_equal assigns(:environment), other_environment
60
+ end
61
+ end
62
+
63
+ test 'should not escape lookup values on environment change' do
64
+ hostgroup = FactoryBot.create(:hostgroup, :with_puppet_enc, environment: @environment, puppetclasses: [@puppetclass])
65
+ lookup_key = FactoryBot.create(:puppetclass_lookup_key, :array, default_value: %w[a b],
66
+ override: true,
67
+ puppetclass: @puppetclass,
68
+ overrides: { "hostgroup=#{hostgroup.name}" => %w[c d] })
69
+ lookup_value = lookup_key.lookup_values.first
70
+ FactoryBot.create(:environment_class, puppetclass: @puppetclass, environment: @environment, puppetclass_lookup_key: lookup_key)
71
+
72
+ # sending exactly what the host form would send which is lookup_value.value_before_type_cast
73
+ lk = { 'lookup_values_attributes' => { lookup_key.id.to_s => { 'value' => lookup_value.value_before_type_cast,
74
+ 'id' => lookup_value.id,
75
+ 'lookup_key_id' => lookup_key.id,
76
+ '_destroy' => false } } }
77
+
78
+ params = {
79
+ hostgroup_id: hostgroup.id,
80
+ hostgroup: hostgroup.attributes.merge(lk),
81
+ }
82
+
83
+ # environment change calls puppetclass_parameters which caused the extra escaping
84
+ post :puppetclass_parameters, params: params, session: set_session_user, xhr: true
85
+
86
+ # if this was escaped during refresh_host the value in response.body after unescapeHTML would include "[\\\"c\\\",\\\"d\\\"]"
87
+ assert_includes CGI.unescapeHTML(response.body), '["c","d"]'
88
+ end
69
89
  end
70
90
  end
71
91
  end
@@ -48,7 +48,6 @@ module ForemanPuppet
48
48
  setup { @routes = Rails.application.routes }
49
49
 
50
50
  test 'lookup value and description should be html escaped' do
51
- skip 'Needs complete migration to be done' unless ForemanPuppet.extracted_from_core?
52
51
  FactoryBot.create(:puppetclass_lookup_key,
53
52
  default_value: "<script>alert('hacked!');</script>",
54
53
  description: "<script>alert('hacked!');</script>",
@@ -105,8 +105,6 @@ FactoryBot.define do
105
105
  evaluator.parameter_count.times do
106
106
  evaluator.environments.each do |env|
107
107
  FactoryBot.create :puppetclass_lookup_key, override: false, puppetclass: pc, environment: env
108
- # for Host#managed validation, once extracted_from_core? we can remove
109
- env.reload
110
108
  end
111
109
  end
112
110
  else
@@ -45,6 +45,9 @@ FactoryBot.modify do
45
45
  puppet_proxy do
46
46
  FactoryBot.create(:smart_proxy, features: [FactoryBot.create(:feature, :puppet)])
47
47
  end
48
+ puppet_ca_proxy do
49
+ FactoryBot.create(:smart_proxy, features: [FactoryBot.create(:feature, :puppetca)])
50
+ end
48
51
  end
49
52
 
50
53
  trait :with_config_group do
@@ -362,7 +362,6 @@ module ForemanPuppet
362
362
  page.find('#puppet_klasses_parameters_table')
363
363
  end
364
364
 
365
- # TODO: unless ForemanPuppet.extracted_from_core?
366
365
  def switch_form_tab_to_interfaces
367
366
  switch_form_tab('Interfaces')
368
367
  disable_interface_modal_animation
@@ -11,7 +11,7 @@ module ForemanPuppet
11
11
  let(:puppetclass) { FactoryBot.create(:puppetclass, environments: [environment]) }
12
12
 
13
13
  test 'edit page' do
14
- FactoryBot.create(:puppetclass, name: 'vim', environments: [environment]) if ForemanPuppet.extracted_from_core?
14
+ FactoryBot.create(:puppetclass, name: 'vim', environments: [environment])
15
15
  visit puppetclasses_path
16
16
  click_link 'vim'
17
17
  assert page.has_no_link? 'Common'
@@ -150,6 +150,32 @@ module ForemanPuppet
150
150
  end
151
151
  end
152
152
 
153
+ describe '#available_template_kinds' do
154
+ let(:template_kinds) { [stub(name: 'iPXE'), stub(name: 'finish')] }
155
+
156
+ test 'calls find_template with Puppet environment' do
157
+ host = FactoryBot.create(:host, :with_hostgroup, :with_puppet_enc)
158
+ host.expects(:template_kinds).returns(template_kinds)
159
+ template_kinds.each do |kind|
160
+ ::ProvisioningTemplate.expects(:find_template)
161
+ .with(kind: kind.name, operatingsystem_id: host.operatingsystem.id, hostgroup_id: host.hostgroup.id, environment_id: host.puppet.environment.id)
162
+ .returns(stub(name: "default #{kind.name}"))
163
+ end
164
+ assert_equal template_kinds.map { |k| "default #{k.name}" }, host.available_template_kinds.map(&:name)
165
+ end
166
+
167
+ test 'calls find_template without Puppet environment' do
168
+ host = FactoryBot.create(:host, :with_hostgroup)
169
+ host.expects(:template_kinds).returns(template_kinds)
170
+ template_kinds.each do |kind|
171
+ ::ProvisioningTemplate.expects(:find_template)
172
+ .with(kind: kind.name, operatingsystem_id: host.operatingsystem.id, hostgroup_id: host.hostgroup.id, environment_id: nil)
173
+ .returns(stub(name: "default #{kind.name}"))
174
+ end
175
+ assert_equal template_kinds.map { |k| "default #{k.name}" }, host.available_template_kinds.map(&:name)
176
+ end
177
+ end
178
+
153
179
  test 'should import from external nodes output' do
154
180
  # create a dummy node
155
181
  Parameter.destroy_all
@@ -5,11 +5,7 @@ module ForemanPuppet
5
5
  describe '#visible_environments' do
6
6
  let(:environment) { FactoryBot.create(:environment) }
7
7
  let(:untaxed_env) { FactoryBot.create(:environment, organizations: [], locations: []) }
8
- let(:env_names) do
9
- env_names = [environment.name, untaxed_env.name]
10
- env_names += %w[production global_puppetmaster testing] unless ForemanPuppet.extracted_from_core?
11
- env_names
12
- end
8
+ let(:env_names) { [environment.name, untaxed_env.name] }
13
9
 
14
10
  setup do
15
11
  environment
@@ -0,0 +1,17 @@
1
+ require 'test_puppet_helper'
2
+
3
+ module ForemanPuppet
4
+ class HostCounterTest < ActiveSupport::TestCase
5
+ def hosts_count(association)
6
+ ::HostCounter.new(association)
7
+ end
8
+
9
+ let(:environment) { FactoryBot.create(:environment) }
10
+
11
+ test 'it should get number of hosts associated to environment' do
12
+ FactoryBot.create(:host, :with_puppet_enc, environment: environment)
13
+ count = hosts_count(:environment)
14
+ assert_equal 1, count[environment]
15
+ end
16
+ end
17
+ end
@@ -3,7 +3,7 @@ require 'test_puppet_helper'
3
3
  module ForemanPuppet
4
4
  class PuppetClassImporterTest < ActiveSupport::TestCase
5
5
  def setup
6
- FactoryBot.create(:environment, name: 'production') if ForemanPuppet.extracted_from_core?
6
+ FactoryBot.create(:environment, name: 'production')
7
7
  ProxyAPI::Puppet.any_instance.stubs(:environments).returns(%w[foreman-testing foreman-testing-1])
8
8
  ProxyAPI::Puppet.any_instance.stubs(:classes).returns(mocked_classes)
9
9
  User.current = users(:admin)
@@ -7,11 +7,11 @@ import { foremanUrl, getManualURL } from 'foremanReact/common/helpers';
7
7
  export const WelcomeEnv = ({ canCreate }) => {
8
8
  const action = canCreate && {
9
9
  title: __('Create Puppet Environment'),
10
- url: foremanUrl('environments/new'),
10
+ url: foremanUrl('/foreman_puppet/environments/new'),
11
11
  };
12
12
 
13
13
  const content = __(`If you are planning to use Foreman as an external node classifier you should provide information about one or more environments.<br/>
14
- This information is commonly imported from a pre-existing Puppet configuration by the use of the <a href=${getManualURL(
14
+ This information is commonly imported from a pre-existing Puppet configuration by the use of the <a target="_blank" href=${getManualURL(
15
15
  '4.2.2Classes'
16
16
  )}>Puppet classes and environment importer.</a>`);
17
17
  return (
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0.alpha.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondřej Ezr
@@ -9,9 +9,9 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-09-10 00:00:00.000000000 Z
12
+ date: 2021-10-14 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: Allow assigning Puppet environmets and classes to the Foreman Hosts.
14
+ description: Allow assigning Puppet environments and classes to the Foreman Hosts.
15
15
  email:
16
16
  - foreman-dev@googlegroups.com
17
17
  executables: []
@@ -22,10 +22,10 @@ files:
22
22
  - README.md
23
23
  - Rakefile
24
24
  - app/assets/stylesheets/foreman_puppet.scss
25
- - app/controllers/concerns/foreman_puppet/api/import_puppetclasses_common_controller.rb
26
25
  - app/controllers/concerns/foreman_puppet/environments_import.rb
27
26
  - app/controllers/concerns/foreman_puppet/extensions/api_base_controller.rb
28
27
  - app/controllers/concerns/foreman_puppet/extensions/api_hostgroups_controller.rb
28
+ - app/controllers/concerns/foreman_puppet/extensions/api_smart_proxies_controller.rb
29
29
  - app/controllers/concerns/foreman_puppet/extensions/api_template_combinations_controller.rb
30
30
  - app/controllers/concerns/foreman_puppet/extensions/api_v2_hosts_controller.rb
31
31
  - app/controllers/concerns/foreman_puppet/extensions/hostgroups_controller_extensions.rb
@@ -94,6 +94,7 @@ files:
94
94
  - app/models/foreman_puppet/puppetclass.rb
95
95
  - app/models/foreman_puppet/puppetclass_lookup_key.rb
96
96
  - app/prepend_views/api/v2/template_combinations/base.json.rabl
97
+ - app/services/concerns/foreman_puppet/extensions/host_counter.rb
97
98
  - app/services/foreman_puppet/host_info_providers/config_groups_info.rb
98
99
  - app/services/foreman_puppet/host_info_providers/puppet_info.rb
99
100
  - app/services/foreman_puppet/input_type/puppet_parameter_input.rb
@@ -112,9 +113,11 @@ files:
112
113
  - app/views/foreman_puppet/api/v2/environments/show.json.rabl
113
114
  - app/views/foreman_puppet/api/v2/environments/update.json.rabl
114
115
  - app/views/foreman_puppet/api/v2/host_puppet_facets/base.json.rabl
116
+ - app/views/foreman_puppet/api/v2/host_puppet_facets/host_list.json.rabl
115
117
  - app/views/foreman_puppet/api/v2/host_puppet_facets/host_single.json.rabl
116
118
  - app/views/foreman_puppet/api/v2/host_puppet_facets/show.json.rabl
117
119
  - app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/base.json.rabl
120
+ - app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/hostgroup_list.json.rabl
118
121
  - app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/hostgroup_single.json.rabl
119
122
  - app/views/foreman_puppet/api/v2/hostgroup_puppet_facets/show.json.rabl
120
123
  - app/views/foreman_puppet/api/v2/import_puppetclasses/index.json.rabl
@@ -182,14 +185,22 @@ files:
182
185
  - db/migrate/20200803113803_migrate_environment_to_puppet_facet.foreman_puppet.rb
183
186
  - db/migrate/20200803113903_migrate_host_type_in_host_config_groups.foreman_puppet.rb
184
187
  - db/migrate/20201125113903_migrate_puppetclasses_to_facets.foreman_puppet.rb
188
+ - db/migrate/20210924103241_remove_katello_id_from_environments.foreman_puppet.rb
185
189
  - db/migrate_foreman/20090722141107_create_environments.rb
190
+ - db/migrate_foreman/20090802062223_create_puppetclasses.rb
191
+ - db/migrate_foreman/20090905150132_create_hostgroups_puppetclasses.rb
192
+ - db/migrate_foreman/20110412103238_remove_unused_fields_from_puppet_classes.rb
193
+ - db/migrate_foreman/20110712070522_create_host_class.rb
194
+ - db/migrate_foreman/20120824142048_add_some_indexes.rb
186
195
  - db/migrate_foreman/20120905095532_create_environment_classes.rb
196
+ - db/migrate_foreman/20121018152459_create_hostgroup_classes.rb
187
197
  - db/migrate_foreman/20140407161817_create_config_groups.rb
188
198
  - db/migrate_foreman/20140407162007_create_config_group_classes.rb
189
199
  - db/migrate_foreman/20140407162059_create_host_config_groups.rb
190
200
  - db/migrate_foreman/20161205142618_delete_orphaned_smart_class_parameters.rb
191
201
  - db/migrate_foreman/20170109115157_fix_lookup_key_auditable_type.rb
192
202
  - db/migrate_foreman/20180816134832_cast_lookup_key_values.rb
203
+ - db/migrate_foreman/20180831115634_add_uniqueness_to_puppetclass_name.rb
193
204
  - db/migrate_foreman/20181023112532_add_environment_puppetclass_id.rb
194
205
  - db/migrate_foreman/20181224174419_add_index_to_environment_class_by_lookup_key_and_puppetclass.rb
195
206
  - db/seeds.d/111_puppet_proxy_feature.rb
@@ -220,6 +231,7 @@ files:
220
231
  - test/controllers/foreman_puppet/api/v2/provisioning_templates_controller_test.rb
221
232
  - test/controllers/foreman_puppet/api/v2/puppetclasses_controller_test.rb
222
233
  - test/controllers/foreman_puppet/api/v2/smart_class_parameters_controller_test.rb
234
+ - test/controllers/foreman_puppet/api/v2/smart_proxies_controller_test.rb
223
235
  - test/controllers/foreman_puppet/api/v2/template_combinations_controller_test.rb
224
236
  - test/controllers/foreman_puppet/config_groups_controller_test.rb
225
237
  - test/controllers/foreman_puppet/environments_controller_test.rb
@@ -263,6 +275,7 @@ files:
263
275
  - test/models/foreman_puppet/report_test.rb
264
276
  - test/models/foreman_puppet/smart_proxy_test.rb
265
277
  - test/models/foreman_puppet/user_test.rb
278
+ - test/services/foreman_puppet/host_counter_test.rb
266
279
  - test/services/foreman_puppet/host_info_providers/config_groups_info_test.rb
267
280
  - test/services/foreman_puppet/host_info_providers/puppet_info_test.rb
268
281
  - test/services/foreman_puppet/input_type/puppet_parameter_input_test.rb
@@ -307,18 +320,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
307
320
  version: '0'
308
321
  required_rubygems_version: !ruby/object:Gem::Requirement
309
322
  requirements:
310
- - - ">="
323
+ - - ">"
311
324
  - !ruby/object:Gem::Version
312
- version: '0'
325
+ version: 1.3.1
313
326
  requirements: []
314
327
  rubygems_version: 3.1.6
315
328
  signing_key:
316
329
  specification_version: 4
317
- summary: Adds puppet ENC features
330
+ summary: Add Puppet features to Foreman
318
331
  test_files:
319
332
  - test/services/foreman_puppet/host_info_providers/config_groups_info_test.rb
320
333
  - test/services/foreman_puppet/host_info_providers/puppet_info_test.rb
321
334
  - test/services/foreman_puppet/input_type/puppet_parameter_input_test.rb
335
+ - test/services/foreman_puppet/host_counter_test.rb
322
336
  - test/integration/foreman_puppet/smartclass_parameter_js_test.rb
323
337
  - test/integration/foreman_puppet/puppetclass_js_test.rb
324
338
  - test/integration/foreman_puppet/hostgroup_js_test.rb
@@ -373,6 +387,7 @@ test_files:
373
387
  - test/controllers/foreman_puppet/api/v2/lookups_common_controller_test.rb
374
388
  - test/controllers/foreman_puppet/api/v2/host_classes_controller_test.rb
375
389
  - test/controllers/foreman_puppet/api/v2/provisioning_templates_controller_test.rb
390
+ - test/controllers/foreman_puppet/api/v2/smart_proxies_controller_test.rb
376
391
  - test/controllers/foreman_puppet/api/v2/puppetclasses_controller_test.rb
377
392
  - test/controllers/foreman_puppet/api/v2/hosts_controller_test.rb
378
393
  - test/controllers/foreman_puppet/puppetclasses_controller_test.rb