hammer_cli_foreman 2.3.2 → 3.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.
- checksums.yaml +4 -4
- data/doc/release_notes.md +33 -3
- data/lib/hammer_cli_foreman.rb +3 -21
- data/lib/hammer_cli_foreman/associating_commands.rb +0 -24
- data/lib/hammer_cli_foreman/bookmark.rb +1 -1
- data/lib/hammer_cli_foreman/combination.rb +3 -13
- data/lib/hammer_cli_foreman/command_extensions.rb +1 -2
- data/lib/hammer_cli_foreman/command_extensions/ping.rb +21 -2
- data/lib/hammer_cli_foreman/command_extensions/status.rb +1 -1
- data/lib/hammer_cli_foreman/command_extensions/update_common.rb +14 -0
- data/lib/hammer_cli_foreman/commands.rb +16 -9
- data/lib/hammer_cli_foreman/compute_resource.rb +22 -0
- data/lib/hammer_cli_foreman/compute_resource/ovirt.rb +2 -1
- data/lib/hammer_cli_foreman/config_report.rb +2 -0
- data/lib/hammer_cli_foreman/filter.rb +2 -2
- data/lib/hammer_cli_foreman/host.rb +1 -47
- data/lib/hammer_cli_foreman/hostgroup.rb +2 -53
- data/lib/hammer_cli_foreman/hosts/common_update_options.rb +7 -28
- data/lib/hammer_cli_foreman/id_resolver.rb +0 -61
- data/lib/hammer_cli_foreman/location.rb +0 -6
- data/lib/hammer_cli_foreman/operating_system.rb +2 -1
- data/lib/hammer_cli_foreman/option_builders.rb +6 -5
- data/lib/hammer_cli_foreman/option_sources.rb +0 -1
- data/lib/hammer_cli_foreman/option_sources/id_params.rb +27 -10
- data/lib/hammer_cli_foreman/option_sources/ids_params.rb +25 -6
- data/lib/hammer_cli_foreman/organization.rb +0 -6
- data/lib/hammer_cli_foreman/ping.rb +6 -1
- data/lib/hammer_cli_foreman/references.rb +0 -16
- data/lib/hammer_cli_foreman/registration.rb +18 -0
- data/lib/hammer_cli_foreman/smart_proxy.rb +0 -52
- data/lib/hammer_cli_foreman/version.rb +1 -1
- data/lib/minitest/coverage_reporter.rb +1 -1
- data/locale/ca/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/de/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/en/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/en_GB/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/es/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/fr/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/it/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/ja/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/ko/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/pt_BR/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/ru/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/zh_CN/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/locale/zh_TW/LC_MESSAGES/hammer-cli-foreman.mo +0 -0
- data/test/data/2.4/foreman_api.json +1 -0
- data/test/data/2.5/foreman_api.json +1 -0
- data/test/functional/architecture_test.rb +81 -0
- data/test/functional/bookmark_test.rb +24 -1
- data/test/functional/compute_profile_test.rb +56 -0
- data/test/functional/compute_resource_test.rb +37 -0
- data/test/functional/filter_test.rb +115 -47
- data/test/functional/host_test.rb +94 -13
- data/test/functional/hostgroup/create_test.rb +0 -117
- data/test/functional/hostgroup/update_test.rb +0 -79
- data/test/functional/http_proxy_test.rb +12 -0
- data/test/functional/location_test.rb +13 -3
- data/test/functional/mail_notification_test.rb +22 -0
- data/test/functional/media_test.rb +11 -0
- data/test/functional/model_test.rb +52 -0
- data/test/functional/operating_system_test.rb +53 -0
- data/test/functional/ping_test.rb +33 -0
- data/test/functional/realm_test.rb +11 -0
- data/test/functional/registration_test.rb +8 -0
- data/test/functional/report_template_test.rb +11 -0
- data/test/functional/settings_test.rb +21 -0
- data/test/functional/status_test.rb +79 -13
- data/test/functional/template_test.rb +16 -37
- data/test/functional/user_test.rb +11 -0
- data/test/functional/usergroup_test.rb +53 -0
- data/test/test_helper.rb +1 -1
- data/test/unit/apipie_resource_mock.rb +22 -39
- data/test/unit/architecture_test.rb +10 -1
- data/test/unit/bookmark_test.rb +95 -0
- data/test/unit/compute_profile_test.rb +87 -0
- data/test/unit/config_report_test.rb +1 -0
- data/test/unit/helpers/command.rb +0 -8
- data/test/unit/host_test.rb +14 -61
- data/test/unit/hostgroup_test.rb +7 -26
- data/test/unit/id_resolver_test.rb +0 -28
- data/test/unit/mail_notification_test.rb +53 -0
- data/test/unit/model_test.rb +47 -37
- data/test/unit/operating_system_test.rb +10 -3
- data/test/unit/option_sources/id_params_test.rb +9 -0
- data/test/unit/option_sources/ids_params_test.rb +9 -0
- data/test/unit/settings_test.rb +4 -0
- data/test/unit/smart_proxy_test.rb +0 -12
- data/test/unit/usergroup_test.rb +10 -0
- metadata +76 -73
- data/lib/hammer_cli_foreman/command_extensions/puppet_environment.rb +0 -29
- data/lib/hammer_cli_foreman/command_extensions/puppet_environments.rb +0 -29
- data/lib/hammer_cli_foreman/config_group.rb +0 -45
- data/lib/hammer_cli_foreman/option_sources/puppet_environment_params.rb +0 -59
- data/lib/hammer_cli_foreman/puppet_class.rb +0 -61
- data/lib/hammer_cli_foreman/puppet_environment.rb +0 -65
- data/lib/hammer_cli_foreman/smart_class_parameter.rb +0 -189
- data/test/functional/proxy_test.rb +0 -86
- data/test/functional/smart_class_parameter_test.rb +0 -97
- data/test/unit/config_group_test.rb +0 -72
- data/test/unit/puppet_class_test.rb +0 -72
- data/test/unit/puppet_environment_test.rb +0 -114
- 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
|
data/test/unit/host_test.rb
CHANGED
|
@@ -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"
|
|
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,
|
|
190
|
-
["--name=host", "--
|
|
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",
|
|
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
|
-
["--
|
|
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", "--
|
|
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", "--
|
|
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", "--
|
|
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", "--
|
|
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",
|
|
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", "--
|
|
244
|
-
"--domain-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",
|
|
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"
|
|
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) }
|
data/test/unit/hostgroup_test.rb
CHANGED
|
@@ -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 ["
|
|
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,
|
|
71
|
-
["--name=hostgroup", "--parent-id=1", "--
|
|
72
|
-
"--operatingsystem-id=1", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1", '--
|
|
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,
|
|
85
|
-
["--id=1 --name=hostgroup2 --title=default/hostgroup2", "--parent-id=1", "--
|
|
86
|
-
"--operatingsystem-id=1", "--medium-id=1", "--partition-table-id=1", "--subnet-id=1", '--
|
|
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
|
data/test/unit/model_test.rb
CHANGED
|
@@ -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
|
|
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(
|
|
16
|
+
let(:cmd) { HammerCLIForeman::Model::ListCommand.new('', ctx) }
|
|
16
17
|
|
|
17
|
-
context
|
|
18
|
-
it_should_accept
|
|
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
|
|
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
|
|
27
|
-
it_should_print_column
|
|
28
|
-
it_should_print_column
|
|
29
|
-
it_should_print_column
|
|
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
|
|
37
|
+
context 'InfoCommand' do
|
|
35
38
|
|
|
36
|
-
let(:cmd) { HammerCLIForeman::Model::InfoCommand.new(
|
|
39
|
+
let(:cmd) { HammerCLIForeman::Model::InfoCommand.new('', ctx) }
|
|
37
40
|
|
|
38
|
-
context
|
|
39
|
-
it_should_accept
|
|
40
|
-
it_should_accept
|
|
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
|
|
45
|
-
with_params [
|
|
49
|
+
context 'output' do
|
|
50
|
+
with_params ['--id=1'] do
|
|
46
51
|
it_should_print_n_records 1
|
|
47
|
-
it_should_print_column
|
|
48
|
-
it_should_print_column
|
|
49
|
-
it_should_print_column
|
|
50
|
-
it_should_print_column
|
|
51
|
-
it_should_print_column
|
|
52
|
-
it_should_print_column
|
|
53
|
-
it_should_print_column
|
|
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
|
|
65
|
+
context 'CreateCommand' do
|
|
61
66
|
|
|
62
|
-
let(:cmd) { HammerCLIForeman::Model::CreateCommand.new(
|
|
67
|
+
let(:cmd) { HammerCLIForeman::Model::CreateCommand.new('', ctx) }
|
|
63
68
|
|
|
64
|
-
context
|
|
65
|
-
it_should_accept
|
|
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
|
|
79
|
+
context 'DeleteCommand' do
|
|
74
80
|
|
|
75
|
-
let(:cmd) { HammerCLIForeman::Model::DeleteCommand.new(
|
|
81
|
+
let(:cmd) { HammerCLIForeman::Model::DeleteCommand.new('', ctx) }
|
|
76
82
|
|
|
77
|
-
context
|
|
78
|
-
it_should_accept
|
|
79
|
-
it_should_accept
|
|
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
|
|
94
|
+
context 'UpdateCommand' do
|
|
87
95
|
|
|
88
|
-
let(:cmd) { HammerCLIForeman::Model::UpdateCommand.new(
|
|
96
|
+
let(:cmd) { HammerCLIForeman::Model::UpdateCommand.new('', ctx) }
|
|
89
97
|
|
|
90
|
-
context
|
|
91
|
-
it_should_accept
|
|
92
|
-
it_should_accept
|
|
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
|
|
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
|
|
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
|