hammer_cli_foreman 2.3.2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/doc/release_notes.md +33 -3
  3. data/lib/hammer_cli_foreman.rb +3 -21
  4. data/lib/hammer_cli_foreman/associating_commands.rb +0 -24
  5. data/lib/hammer_cli_foreman/bookmark.rb +1 -1
  6. data/lib/hammer_cli_foreman/combination.rb +3 -13
  7. data/lib/hammer_cli_foreman/command_extensions.rb +1 -2
  8. data/lib/hammer_cli_foreman/command_extensions/ping.rb +21 -2
  9. data/lib/hammer_cli_foreman/command_extensions/status.rb +1 -1
  10. data/lib/hammer_cli_foreman/command_extensions/update_common.rb +14 -0
  11. data/lib/hammer_cli_foreman/commands.rb +16 -9
  12. data/lib/hammer_cli_foreman/compute_resource.rb +22 -0
  13. data/lib/hammer_cli_foreman/compute_resource/ovirt.rb +2 -1
  14. data/lib/hammer_cli_foreman/config_report.rb +2 -0
  15. data/lib/hammer_cli_foreman/filter.rb +2 -2
  16. data/lib/hammer_cli_foreman/host.rb +1 -47
  17. data/lib/hammer_cli_foreman/hostgroup.rb +2 -53
  18. data/lib/hammer_cli_foreman/hosts/common_update_options.rb +7 -28
  19. data/lib/hammer_cli_foreman/id_resolver.rb +0 -61
  20. data/lib/hammer_cli_foreman/location.rb +0 -6
  21. data/lib/hammer_cli_foreman/operating_system.rb +2 -1
  22. data/lib/hammer_cli_foreman/option_builders.rb +6 -5
  23. data/lib/hammer_cli_foreman/option_sources.rb +0 -1
  24. data/lib/hammer_cli_foreman/option_sources/id_params.rb +27 -10
  25. data/lib/hammer_cli_foreman/option_sources/ids_params.rb +25 -6
  26. data/lib/hammer_cli_foreman/organization.rb +0 -6
  27. data/lib/hammer_cli_foreman/ping.rb +6 -1
  28. data/lib/hammer_cli_foreman/references.rb +0 -16
  29. data/lib/hammer_cli_foreman/registration.rb +18 -0
  30. data/lib/hammer_cli_foreman/smart_proxy.rb +0 -52
  31. data/lib/hammer_cli_foreman/version.rb +1 -1
  32. data/lib/minitest/coverage_reporter.rb +1 -1
  33. data/locale/ca/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  34. data/locale/de/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  35. data/locale/en/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  36. data/locale/en_GB/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  37. data/locale/es/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  38. data/locale/fr/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  39. data/locale/it/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  40. data/locale/ja/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  41. data/locale/ko/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  42. data/locale/pt_BR/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  43. data/locale/ru/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  44. data/locale/zh_CN/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  45. data/locale/zh_TW/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
  46. data/test/data/2.4/foreman_api.json +1 -0
  47. data/test/data/2.5/foreman_api.json +1 -0
  48. data/test/functional/architecture_test.rb +81 -0
  49. data/test/functional/bookmark_test.rb +24 -1
  50. data/test/functional/compute_profile_test.rb +56 -0
  51. data/test/functional/compute_resource_test.rb +37 -0
  52. data/test/functional/filter_test.rb +115 -47
  53. data/test/functional/host_test.rb +94 -13
  54. data/test/functional/hostgroup/create_test.rb +0 -117
  55. data/test/functional/hostgroup/update_test.rb +0 -79
  56. data/test/functional/http_proxy_test.rb +12 -0
  57. data/test/functional/location_test.rb +13 -3
  58. data/test/functional/mail_notification_test.rb +22 -0
  59. data/test/functional/media_test.rb +11 -0
  60. data/test/functional/model_test.rb +52 -0
  61. data/test/functional/operating_system_test.rb +53 -0
  62. data/test/functional/ping_test.rb +33 -0
  63. data/test/functional/realm_test.rb +11 -0
  64. data/test/functional/registration_test.rb +8 -0
  65. data/test/functional/report_template_test.rb +11 -0
  66. data/test/functional/settings_test.rb +21 -0
  67. data/test/functional/status_test.rb +79 -13
  68. data/test/functional/template_test.rb +16 -37
  69. data/test/functional/user_test.rb +11 -0
  70. data/test/functional/usergroup_test.rb +53 -0
  71. data/test/test_helper.rb +1 -1
  72. data/test/unit/apipie_resource_mock.rb +22 -39
  73. data/test/unit/architecture_test.rb +10 -1
  74. data/test/unit/bookmark_test.rb +95 -0
  75. data/test/unit/compute_profile_test.rb +87 -0
  76. data/test/unit/config_report_test.rb +1 -0
  77. data/test/unit/helpers/command.rb +0 -8
  78. data/test/unit/host_test.rb +14 -61
  79. data/test/unit/hostgroup_test.rb +7 -26
  80. data/test/unit/id_resolver_test.rb +0 -28
  81. data/test/unit/mail_notification_test.rb +53 -0
  82. data/test/unit/model_test.rb +47 -37
  83. data/test/unit/operating_system_test.rb +10 -3
  84. data/test/unit/option_sources/id_params_test.rb +9 -0
  85. data/test/unit/option_sources/ids_params_test.rb +9 -0
  86. data/test/unit/settings_test.rb +4 -0
  87. data/test/unit/smart_proxy_test.rb +0 -12
  88. data/test/unit/usergroup_test.rb +10 -0
  89. metadata +76 -73
  90. data/lib/hammer_cli_foreman/command_extensions/puppet_environment.rb +0 -29
  91. data/lib/hammer_cli_foreman/command_extensions/puppet_environments.rb +0 -29
  92. data/lib/hammer_cli_foreman/config_group.rb +0 -45
  93. data/lib/hammer_cli_foreman/option_sources/puppet_environment_params.rb +0 -59
  94. data/lib/hammer_cli_foreman/puppet_class.rb +0 -61
  95. data/lib/hammer_cli_foreman/puppet_environment.rb +0 -65
  96. data/lib/hammer_cli_foreman/smart_class_parameter.rb +0 -189
  97. data/test/functional/proxy_test.rb +0 -86
  98. data/test/functional/smart_class_parameter_test.rb +0 -97
  99. data/test/unit/config_group_test.rb +0 -72
  100. data/test/unit/puppet_class_test.rb +0 -72
  101. data/test/unit/puppet_environment_test.rb +0 -114
  102. data/test/unit/smart_class_parameter_test.rb +0 -113
@@ -25,6 +25,7 @@ describe HammerCLIForeman::ConfigReport do
25
25
  it_should_print_n_records
26
26
  it_should_print_column "Id"
27
27
  it_should_print_column "Host"
28
+ it_should_print_column "Origin"
28
29
  it_should_print_column "Last report"
29
30
  it_should_print_column "Applied"
30
31
  it_should_print_column "Restarted"
@@ -17,14 +17,6 @@ class IdResolverTestProxy
17
17
  @original_resolver.searchables(resource)
18
18
  end
19
19
 
20
- def puppet_environment_id(options)
21
- environment_id(options)
22
- end
23
-
24
- def puppet_environment_ids(options)
25
- environment_ids(options)
26
- end
27
-
28
20
  protected
29
21
 
30
22
  def define_id_finders
@@ -45,8 +45,7 @@ describe HammerCLIForeman::Host do
45
45
  with_params ["--id=1"] do
46
46
  it_should_print_n_records 1
47
47
  it_should_print_columns ["Id", "Name", "Organization", "Location"]
48
- it_should_print_columns ["Host Group", "Compute Resource", "Compute Profile", "Puppet Environment"]
49
- it_should_print_columns ["Puppet CA Proxy", "Puppet Master Proxy", "Cert name"]
48
+ it_should_print_columns ["Host Group", "Compute Resource", "Compute Profile"]
50
49
  it_should_print_columns ["Managed", "Status", "Installed at", "Last report"]
51
50
  it_should_print_columns ["Network", "Network interfaces", "Operating system", "Parameters", "All parameters", "Additional info"]
52
51
  end
@@ -106,32 +105,6 @@ describe HammerCLIForeman::Host do
106
105
  end
107
106
  end
108
107
 
109
-
110
- context "PuppetClassesCommand" do
111
- before do
112
- ResourceMocks.mock_action_call(:puppetclasses, :index, {})
113
- end
114
-
115
- let(:cmd) { HammerCLIForeman::Host::PuppetClassesCommand.new("", ctx) }
116
-
117
- context "parameters" do
118
- it_should_accept "host", ["--host=name=my5name.mydomain.net"]
119
- it_should_accept "host-id", ["--host-id=1"]
120
- # it_should_fail_with "host or host-id missing", []
121
- # TODO: temporarily disabled, parameters are checked in the id resolver
122
- end
123
-
124
- context "output" do
125
-
126
- with_params ["--host=my5name.mydomain.net"] do
127
- it_should_print_column "Id"
128
- it_should_print_column "Name"
129
- end
130
- end
131
-
132
- end
133
-
134
-
135
108
  context "ConfigReportsCommand" do
136
109
  before do
137
110
  ResourceMocks.mock_action_call(:config_reports, :index, [])
@@ -186,29 +159,25 @@ describe HammerCLIForeman::Host do
186
159
 
187
160
  context "parameters" do
188
161
  taxonomies = ["--organization-id=1", "--location-id=1"]
189
- it_should_accept "name, environment_id, architecture_id, domain_id, puppet_proxy_id, operatingsystem_id and more",
190
- ["--name=host", "--environment-id=1", "--architecture-id=1", "--domain-id=1", "--puppet-proxy-id=1", "--operatingsystem-id=1",
162
+ it_should_accept "name, architecture_id, domain_id, operatingsystem_id and more",
163
+ ["--name=host", "--architecture-id=1", "--domain-id=1", "--operatingsystem-id=1",
191
164
  "--ip=1.2.3.4", "--mac=11:22:33:44:55:66", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1",
192
- "--model-id=1", "--hostgroup-id=1", "--owner-id=1", '--puppet-ca-proxy-id=1', '--puppet-class-ids',
165
+ "--model-id=1", "--hostgroup-id=1", "--owner-id=1",
193
166
  "--root-password=pwd", "--ask-root-password=true", "--provision-method=build", "--interface=primary=true,provision=true"] + taxonomies
194
167
  it_should_fail_with "name or id missing",
195
- ["--environment-id=1", "--architecture-id=1", "--domain-id=1", "--puppet-proxy-id=1", "--operatingsystem-id=1", "--interface=primary=true,provision=true"]
196
- it_should_fail_with "environment_id missing",
197
- ["--name=host", "--architecture-id=1", "--domain-id=1", "--puppet-proxy-id=1", "--operatingsystem-id=1", "--interface=primary=true,provision=true"]
168
+ ["--architecture-id=1", "--domain-id=1", "--operatingsystem-id=1", "--interface=primary=true,provision=true"]
198
169
  it_should_fail_with "architecture_id missing",
199
- ["--name=host", "--environment-id=1", "--domain-id=1", "--puppet-proxy-id=1", "--operatingsystem-id=1", "--interface=primary=true,provision=true"]
170
+ ["--name=host", "--domain-id=1", "--operatingsystem-id=1", "--interface=primary=true,provision=true"]
200
171
  it_should_fail_with "domain_id missing",
201
- ["--name=host", "--environment-id=1", "--architecture-id=1", "--puppet-proxy-id=1", "--operatingsystem-id=1", "--interface=primary=true,provision=true"]
202
- it_should_fail_with "puppet_proxy_id missing",
203
- ["--name=host", "--environment-id=1", "--architecture-id=1", "--domain-id=1", "--operatingsystem-id=1", "--interface=primary=true,provision=true"]
172
+ ["--name=host", "--architecture-id=1", "--operatingsystem-id=1", "--interface=primary=true,provision=true"]
204
173
  it_should_fail_with "operatingsystem_id missing",
205
- ["--name=host", "--environment-id=1", "--architecture-id=1", "--domain-id=1", "--puppet-proxy-id=1", "--interface=primary=true,provision=true"]
174
+ ["--name=host", "--architecture-id=1", "--domain-id=1", "--interface=primary=true,provision=true"]
206
175
  it_should_accept "only hostgroup name", ["--hostgroup=example", "--name=host", "--interface=primary=true,provision=true"] + taxonomies
207
176
  it_should_accept "only hostgroup ID", ["--hostgroup-id=1", "--name=host", "--interface=primary=true,provision=true"] + taxonomies
208
177
 
209
- with_params ["--name=host", "--environment-id=1", "--architecture-id=1", "--domain-id=1", "--puppet-proxy-id=1", "--operatingsystem-id=1",
178
+ with_params ["--name=host", "--architecture-id=1", "--domain-id=1", "--operatingsystem-id=1",
210
179
  "--ip=1.2.3.4", "--mac=11:22:33:44:55:66", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1",
211
- "--model-id=1", "--hostgroup-id=1", "--owner-id=1", '--puppet-ca-proxy-id=1', '--puppet-class-ids',
180
+ "--model-id=1", "--hostgroup-id=1", "--owner-id=1",
212
181
  "--root-password=pwd", "--ask-root-password=true", "--provision-method=build", "--interface=primary=true,provision=true"] do
213
182
  it_should_call_action_and_test_params(:create) { |par| par["host"]["managed"] == true }
214
183
  it_should_call_action_and_test_params(:create) { |par| par["host"]["build"] == true }
@@ -240,16 +209,16 @@ describe HammerCLIForeman::Host do
240
209
 
241
210
  context "parameters" do
242
211
  it_should_accept "name", ["--name=host", "--new-name=host2"]
243
- it_should_accept "id and more", ["--id=1", "--new-name=host2", "--environment-id=1", "--architecture-id=1",
244
- "--domain-id=1", "--puppet-proxy-id=1", "--operatingsystem-id=1",
212
+ it_should_accept "id and more", ["--id=1", "--new-name=host2", "--architecture-id=1",
213
+ "--domain-id=1", "--operatingsystem-id=1",
245
214
  "--ip=1.2.3.4", "--mac=11:22:33:44:55:66", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1",
246
- "--model-id=1", "--hostgroup-id=1", "--owner-id=1", '--puppet-ca-proxy-id=1',
215
+ "--model-id=1", "--hostgroup-id=1", "--owner-id=1",
247
216
  "--root-password=pwd", "--ask-root-password=true", "--provision-method=build"]
248
217
  # it_should_fail_with "no params", []
249
218
  # it_should_fail_with "name or id missing", ["--new-name=host2"]
250
219
  # TODO: temporarily disabled, parameters are checked in the id resolver
251
220
 
252
- with_params ["--id=1", "--puppet-proxy-id=1"] do
221
+ with_params ["--id=1"] do
253
222
  it_should_call_action_and_test_params(:update) { |par| par["host"].key?("managed") != true }
254
223
  it_should_call_action_and_test_params(:update) { |par| par["host"].key?("build") != true }
255
224
  it_should_call_action_and_test_params(:update) { |par| par["host"].key?("enabled") != true }
@@ -350,22 +319,6 @@ describe HammerCLIForeman::Host do
350
319
  end
351
320
  end
352
321
 
353
- context "SCParamsCommand" do
354
-
355
- before :each do
356
- ResourceMocks.smart_class_parameters_index
357
- end
358
-
359
- let(:cmd) { HammerCLIForeman::Host::SCParamsCommand.new("", ctx) }
360
-
361
- context "parameters" do
362
- it_should_accept "host", ["--host=host"]
363
- it_should_accept "host-id", ["--host-id=1"]
364
- # it_should_fail_with "name or id missing", [] # TODO: temporarily disabled, parameters are checked in the id resolver
365
- end
366
-
367
- end
368
-
369
322
  context "RebuildConfigCommand" do
370
323
 
371
324
  let(:cmd) { HammerCLIForeman::Host::RebuildConfigCommand.new("", ctx) }
@@ -24,7 +24,7 @@ describe HammerCLIForeman::Hostgroup do
24
24
 
25
25
  it_should_print_n_records
26
26
  it_should_print_columns ["Id", "Name", "Title", "Operating System"]
27
- it_should_print_columns ["Puppet Environment", "Model"]
27
+ it_should_print_columns ["Model"]
28
28
  end
29
29
 
30
30
  end
@@ -42,8 +42,6 @@ describe HammerCLIForeman::Hostgroup do
42
42
  with_params ["--id=1"] do
43
43
  it_should_print_n_records 1
44
44
  it_should_print_columns ["Id", "Name", "Title"]
45
- it_should_print_columns ["Puppet Environment", "Puppetclasses", "Parent"]
46
- it_should_print_columns ["Puppet CA Proxy", "Puppet Master Proxy"]
47
45
  it_should_print_columns ["Parameters", "Description"]
48
46
  it_should_print_columns ["Network", "Operating system"]
49
47
  end
@@ -67,9 +65,9 @@ describe HammerCLIForeman::Hostgroup do
67
65
  let(:cmd) { HammerCLIForeman::Hostgroup::CreateCommand.new("", ctx) }
68
66
 
69
67
  context "parameters" do
70
- it_should_accept "name, parent_id, environment_id, architecture_id, domain_id, puppet_proxy_id, operatingsystem_id and more",
71
- ["--name=hostgroup", "--parent-id=1", "--environment-id=1", "--architecture-id=1", "--domain-id=1", "--puppet-proxy-id=1",
72
- "--operatingsystem-id=1", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1", '--puppet-ca-proxy-id=1', '--puppet-class-ids=1,2', '--root-pass=foreman']
68
+ it_should_accept "name, parent_id, architecture_id, domain_id, operatingsystem_id and more",
69
+ ["--name=hostgroup", "--parent-id=1", "--architecture-id=1", "--domain-id=1",
70
+ "--operatingsystem-id=1", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1", '--root-password=foreman']
73
71
  # it_should_fail_with "name or id missing",
74
72
  # ["--environment-id=1", "--architecture-id=1", "--domain-id=1", "--puppet-proxy-id=1", "--operatingsystem-id=1"]
75
73
  # TODO: temporarily disabled, parameters are checked in the api
@@ -81,9 +79,9 @@ describe HammerCLIForeman::Hostgroup do
81
79
  let(:cmd) { HammerCLIForeman::Hostgroup::UpdateCommand.new("", ctx) }
82
80
 
83
81
  context "parameters" do
84
- it_should_accept "name, parent_id, environment_id, architecture_id, domain_id, puppet_proxy_id, operatingsystem_id and more",
85
- ["--id=1 --name=hostgroup2 --title=default/hostgroup2", "--parent-id=1", "--environment-id=1", "--architecture-id=1", "--domain-id=1", "--puppet-proxy-id=1",
86
- "--operatingsystem-id=1", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1", '--puppet-ca-proxy-id=1', '--puppet-class-ids=1,2', '--root-pass=foreman']
82
+ it_should_accept "name, parent_id, architecture_id, domain_id, operatingsystem_id and more",
83
+ ["--id=1 --name=hostgroup2 --title=default/hostgroup2", "--parent-id=1", "--architecture-id=1", "--domain-id=1",
84
+ "--operatingsystem-id=1", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1", '--root-password=foreman']
87
85
  # it_should_fail_with "no params", []
88
86
  # it_should_fail_with "id missing", ["--name=host2"]
89
87
  # TODO: temporarily disabled, parameters are checked in the id resolver
@@ -123,23 +121,6 @@ describe HammerCLIForeman::Hostgroup do
123
121
 
124
122
  end
125
123
 
126
-
127
- context "SCParamsCommand" do
128
-
129
- before :each do
130
- ResourceMocks.smart_class_parameters_index
131
- end
132
-
133
- let(:cmd) { HammerCLIForeman::Hostgroup::SCParamsCommand.new("", ctx) }
134
-
135
- context "parameters" do
136
- it_should_accept "hostgroup", ["--hostgroup=hostgroup"]
137
- it_should_accept "hostgroup-id", ["--hostgroup-id=1"]
138
- # it_should_fail_with "name or id missing", [] # TODO: temporarily disabled, parameters are checked in the id resolver
139
- end
140
-
141
- end
142
-
143
124
  context "RebuildConfigCommand" do
144
125
 
145
126
  let(:cmd) { HammerCLIForeman::Hostgroup::RebuildConfigCommand.new("", ctx) }
@@ -213,34 +213,6 @@ describe HammerCLIForeman::IdResolver do
213
213
  end
214
214
  end
215
215
 
216
- describe 'searching for puppetclasses' do
217
- before do
218
- ResourceMocks.mock_action_call(:puppetclasses, :index, {
219
- 'apache' => [
220
- { 'id' => 70, 'name' => 'apache::dev', 'created_at' => '2015-01-27T07:24:57.134Z', 'updated_at' => '2015-03-05T17:27:54.282Z' },
221
- { 'id' => 27, 'name' => 'apache::mod::authnz_ldap', 'created_at' => '2015-01-27T07:24:56.378Z','updated_at' => '2015-01-27T07:24:56.378Z' }
222
- ],
223
- 'git' => [
224
- { 'id' => 85, 'name' => 'git::params', 'created_at' => '2015-01-27T07:24:57.306Z', 'updated_at' => '2015-01-27T07:24:57.306Z' }
225
- ]
226
- })
227
- end
228
-
229
- it "returns ids from options" do
230
- result = resolver.user_ids({"option_ids" => [4, 5], "option_names" => ['apache::dev']})
231
- assert_equal [4, 5], result
232
- end
233
-
234
- it "returns ids of the classes" do
235
- class_names = ['apache::mod::authnz_ldap', 'git::params', 'apache::dev']
236
- assert_equal [70, 27, 85], resolver.puppetclass_ids('option_names' => class_names)
237
- end
238
-
239
- it 'returns empty array for empty class array' do
240
- assert_equal [], resolver.puppetclass_ids('option_names' => [])
241
- end
242
- end
243
-
244
216
  describe "searching for multiple resources" do
245
217
  it "returns ids from options" do
246
218
  result = resolver.user_ids({"option_ids" => [4, 5], "option_names" => ["some", "names"]})
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require File.join(File.dirname(__FILE__), 'test_helper')
4
+ require File.join(File.dirname(__FILE__), 'apipie_resource_mock')
5
+
6
+ require 'hammer_cli_foreman/mail_notification'
7
+
8
+ describe HammerCLIForeman::MailNotification do
9
+ include CommandTestHelper
10
+
11
+ context 'ListCommand' do
12
+ before :each do
13
+ ResourceMocks.mail_notifications
14
+ end
15
+
16
+ let(:cmd) { HammerCLIForeman::MailNotification::ListCommand.new('', ctx) }
17
+
18
+ context 'parameters' do
19
+ it_should_accept 'no arguments'
20
+ it_should_accept 'organization', ['--organization-id=1']
21
+ it_should_accept 'location', ['--location-id=1']
22
+ end
23
+
24
+ context 'output' do
25
+ let(:expected_record_count) { count_records(cmd.resource.call(:index)) }
26
+
27
+ it_should_print_n_records
28
+ it_should_print_column 'Id'
29
+ it_should_print_column 'Name'
30
+ end
31
+ end
32
+
33
+ context 'InfoCommand' do
34
+ let(:cmd) { HammerCLIForeman::MailNotification::InfoCommand.new('', ctx) }
35
+
36
+ context 'parameters' do
37
+ it_should_accept 'id', ['--id=1']
38
+ it_should_accept 'name', ['--name=test']
39
+ it_should_accept 'organization', %w[--id=1 --organization-id=1]
40
+ it_should_accept 'location', %w[--id=1 --location-id=1]
41
+ end
42
+
43
+ context 'output' do
44
+ with_params ['--id=1'] do
45
+ it_should_print_n_records 1
46
+ it_should_print_column 'Id'
47
+ it_should_print_column 'Name'
48
+ it_should_print_column 'Description'
49
+ it_should_print_column 'Subscription type'
50
+ end
51
+ end
52
+ end
53
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require File.join(File.dirname(__FILE__), 'test_helper')
2
3
  require File.join(File.dirname(__FILE__), 'apipie_resource_mock')
3
4
 
@@ -7,62 +8,67 @@ describe HammerCLIForeman::Model do
7
8
 
8
9
  include CommandTestHelper
9
10
 
10
- context "ListCommand" do
11
+ context 'ListCommand' do
11
12
  before do
12
13
  ResourceMocks.mock_action_call(:models, :index, [])
13
14
  end
14
15
 
15
- let(:cmd) { HammerCLIForeman::Model::ListCommand.new("", ctx) }
16
+ let(:cmd) { HammerCLIForeman::Model::ListCommand.new('', ctx) }
16
17
 
17
- context "parameters" do
18
- it_should_accept "no arguments"
18
+ context 'parameters' do
19
+ it_should_accept 'no arguments'
19
20
  it_should_accept_search_params
21
+ it_should_accept 'organization', ['--organization-id=1']
22
+ it_should_accept 'location', ['--location-id=1']
20
23
  end
21
24
 
22
- context "output" do
25
+ context 'output' do
23
26
  let(:expected_record_count) { count_records(cmd.resource.call(:index)) }
24
27
 
25
28
  it_should_print_n_records
26
- it_should_print_column "Name"
27
- it_should_print_column "Id"
28
- it_should_print_column "Vendor class"
29
- it_should_print_column "HW model"
29
+ it_should_print_column 'Name'
30
+ it_should_print_column 'Id'
31
+ it_should_print_column 'Vendor class'
32
+ it_should_print_column 'HW model'
30
33
  end
31
34
  end
32
35
 
33
36
 
34
- context "InfoCommand" do
37
+ context 'InfoCommand' do
35
38
 
36
- let(:cmd) { HammerCLIForeman::Model::InfoCommand.new("", ctx) }
39
+ let(:cmd) { HammerCLIForeman::Model::InfoCommand.new('', ctx) }
37
40
 
38
- context "parameters" do
39
- it_should_accept "id", ["--id=1"]
40
- it_should_accept "name", ["--name=model"]
41
+ context 'parameters' do
42
+ it_should_accept 'id', ['--id=1']
43
+ it_should_accept 'name', ['--name=model']
44
+ it_should_accept 'organization', %w[--id=1 --organization-id=1]
45
+ it_should_accept 'location', %w[--id=1 --location-id=1]
41
46
  # it_should_fail_with "no arguments" # TODO: temporarily disabled, parameters are checked in the id resolver
42
47
  end
43
48
 
44
- context "output" do
45
- with_params ["--id=1"] do
49
+ context 'output' do
50
+ with_params ['--id=1'] do
46
51
  it_should_print_n_records 1
47
- it_should_print_column "Name"
48
- it_should_print_column "Id"
49
- it_should_print_column "Vendor class"
50
- it_should_print_column "HW model"
51
- it_should_print_column "Info"
52
- it_should_print_column "Created at"
53
- it_should_print_column "Updated at"
52
+ it_should_print_column 'Name'
53
+ it_should_print_column 'Id'
54
+ it_should_print_column 'Vendor class'
55
+ it_should_print_column 'HW model'
56
+ it_should_print_column 'Info'
57
+ it_should_print_column 'Created at'
58
+ it_should_print_column 'Updated at'
54
59
  end
55
60
  end
56
61
 
57
62
  end
58
63
 
59
64
 
60
- context "CreateCommand" do
65
+ context 'CreateCommand' do
61
66
 
62
- let(:cmd) { HammerCLIForeman::Model::CreateCommand.new("", ctx) }
67
+ let(:cmd) { HammerCLIForeman::Model::CreateCommand.new('', ctx) }
63
68
 
64
- context "parameters" do
65
- it_should_accept "name", ["--name=model", "--info=description", "--vendor-class=class", "--hardware-model=model"]
69
+ context 'parameters' do
70
+ it_should_accept 'name, info, vendor-class, hardware-model, organization, location',
71
+ %w[--name=model --info=description --vendor-class=class --hardware-model=model --organization-id=1 --location-id=1]
66
72
  # it_should_fail_with "name missing", ["--info=description", "--vendor-class=class", "--hardware-model=model"]
67
73
  # TODO: temporarily disabled, parameters are checked in the api
68
74
  end
@@ -70,26 +76,30 @@ describe HammerCLIForeman::Model do
70
76
  end
71
77
 
72
78
 
73
- context "DeleteCommand" do
79
+ context 'DeleteCommand' do
74
80
 
75
- let(:cmd) { HammerCLIForeman::Model::DeleteCommand.new("", ctx) }
81
+ let(:cmd) { HammerCLIForeman::Model::DeleteCommand.new('', ctx) }
76
82
 
77
- context "parameters" do
78
- it_should_accept "name", ["--name=model"]
79
- it_should_accept "id", ["--id=1"]
83
+ context 'parameters' do
84
+ it_should_accept 'name', ['--name=model']
85
+ it_should_accept 'id', ['--id=1']
86
+ it_should_accept 'organization', %w[--id=1 --organization-id=1]
87
+ it_should_accept 'location', %w[--id=1 --location-id=1]
80
88
  # it_should_fail_with "name or id missing", [] # TODO: temporarily disabled, parameters are checked in the id resolver
81
89
  end
82
90
 
83
91
  end
84
92
 
85
93
 
86
- context "UpdateCommand" do
94
+ context 'UpdateCommand' do
87
95
 
88
- let(:cmd) { HammerCLIForeman::Model::UpdateCommand.new("", ctx) }
96
+ let(:cmd) { HammerCLIForeman::Model::UpdateCommand.new('', ctx) }
89
97
 
90
- context "parameters" do
91
- it_should_accept "name", ["--name=model", "--new-name=model2", "--info=description", "--vendor-class=class", "--hardware-model=model"]
92
- it_should_accept "id", ["--id=1", "--new-name=model2", "--info=description", "--vendor-class=class", "--hardware-model=model"]
98
+ context 'parameters' do
99
+ it_should_accept 'name', ['--name=model', '--new-name=model2', '--info=description', '--vendor-class=class', '--hardware-model=model']
100
+ it_should_accept 'id', ['--id=1', '--new-name=model2', '--info=description', '--vendor-class=class', '--hardware-model=model']
101
+ it_should_accept 'organization', %w[--id=1 --organization-id=1]
102
+ it_should_accept 'location', %w[--id=1 --location-id=1]
93
103
  # it_should_fail_with "no params", []
94
104
  # it_should_fail_with "name or id missing", ["--new-name=model2", "--info=description", "--vendor-class=class", "--hardware-model=model"]
95
105
  # TODO: temporarily disabled, parameters are checked in the id resolver
@@ -18,6 +18,8 @@ describe HammerCLIForeman::OperatingSystem do
18
18
  context "parameters" do
19
19
  it_should_accept "no arguments"
20
20
  it_should_accept_search_params
21
+ it_should_accept 'organization', ['--organization-id=1']
22
+ it_should_accept 'location', ['--location-id=1']
21
23
  end
22
24
 
23
25
  context "output" do
@@ -40,6 +42,8 @@ describe HammerCLIForeman::OperatingSystem do
40
42
  context "parameters" do
41
43
  it_should_accept "id", ["--id=1"]
42
44
  it_should_accept "title", ["--title=Rhel 6.5"]
45
+ it_should_accept 'organization', %w[--id=1 --organization-id=1]
46
+ it_should_accept 'location', %w[--id=1 --location-id=1]
43
47
  # it_should_fail_with "no arguments" # TODO: temporarily disabled, parameters are checked in the id resolver
44
48
  end
45
49
 
@@ -69,7 +73,8 @@ describe HammerCLIForeman::OperatingSystem do
69
73
  let(:cmd) { HammerCLIForeman::OperatingSystem::CreateCommand.new("", ctx) }
70
74
 
71
75
  context "parameters" do
72
- it_should_accept "name, major, minor, family, release name", ["--name=media", "--major=1", "--minor=2", "--family=Red Hat", "--release-name=awesome"]
76
+ it_should_accept "name, major, minor, family, release name, organization, location",
77
+ ["--name=media", "--major=1", "--minor=2", "--family=Red Hat", "--release-name=awesome", "--organization-id=1", "--location-id=1"]
73
78
  # it_should_fail_with "name missing", ["--major=1", "--minor=2", "--family=Red Hat", "--release-name=awesome"]
74
79
  # TODO: temporarily disabled, parameters are checked in the api
75
80
  end
@@ -87,6 +92,8 @@ describe HammerCLIForeman::OperatingSystem do
87
92
  context "parameters" do
88
93
  it_should_accept "id", ["--id=1"]
89
94
  it_should_accept "title", ["--title=Rhel 6.5"]
95
+ it_should_accept 'organization', %w[--id=1 --organization-id=1]
96
+ it_should_accept 'location', %w[--id=1 --location-id=1]
90
97
  # it_should_fail_with "name or id missing", [] # TODO: temporarily disabled, parameters are checked in the id resolver
91
98
  # TODO: temporarily disabled, parameters are checked in the id resolver
92
99
  end
@@ -101,7 +108,8 @@ describe HammerCLIForeman::OperatingSystem do
101
108
  context "parameters" do
102
109
  it_should_accept "id", ["--id=1"]
103
110
  it_should_accept "title", ["--title=Rhel 6.5"]
104
- it_should_accept "name, major, minor, family, release name", ["--id=83", "--name=os", "--major=1", "--minor=2", "--family=Red Hat", "--release-name=awesome"]
111
+ it_should_accept "name, major, minor, family, release name, organization, location",
112
+ ["--id=83", "--name=os", "--major=1", "--minor=2", "--family=Red Hat", "--release-name=awesome", "--organization-id=1", "--location-id=1"]
105
113
  # it_should_fail_with "no params", []
106
114
  # it_should_fail_with "label or id missing", ["--name=os", "--major=1", "--minor=2", "--family=Red Hat", "--release-name=awesome"]
107
115
  # TODO: temporarily disabled, parameters are checked in the id resolver
@@ -148,5 +156,4 @@ describe HammerCLIForeman::OperatingSystem do
148
156
  end
149
157
 
150
158
  end
151
-
152
159
  end