hammer_cli_foreman 0.19.5 → 0.19.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac2ca7b26bf726ecf4ca0ef5d63e2a4f39e3dc780b750aa72a38b94f0ebc29f0
4
- data.tar.gz: b3c19dafdb2f486a14b01dc916679f924a2a800a2ed65c5a2301e5a41c0ca75f
3
+ metadata.gz: 044c402964ebc3448c879c6858be3d8726ad8be7bafcbd25cef6d8f1a3ca4e02
4
+ data.tar.gz: 672a8c5be95a59de4908dd982e87c454e9f84025a6aff7751934035857ad1508
5
5
  SHA512:
6
- metadata.gz: db55041ba7a683e3a863f7683da073face647cd0252427b1f59c95860fe80c325fbc443d2e7ab44d3e681ee5999974fbbc462c8ac7bb8746ef5cc9435e241fca
7
- data.tar.gz: 886c91a2dff4aef20c28e96ac78fdaab10ad6d7abc81c91c68a875b32c63aac84705de7861b976d0d3d22ac16868f5e553ee4c0f2929fda6e63d0dfb8625a2ec
6
+ metadata.gz: d033b74af20d792cd58ff42d631189cf36245f062e05c2180dc6529914e28c3ddbff0c70afaae43e168eba1adcb8e33a8e0a1b146b78cc201f06999d5266292c
7
+ data.tar.gz: 1d36643cfeb4f03a4a5a36a035156bd02655fff13b12145ec825e94ba45f3f8da071fa71aa6b6ca4c2c640d2e2fd38c084c0c16ef239bc72c126a8758a882447
@@ -1,5 +1,13 @@
1
1
  Release notes
2
2
  =============
3
+ ### 0.19.6 (2020-01-10)
4
+ * Add auth source external command ([PR #480](https://github.com/theforeman/hammer-cli-foreman/pull/480)), [#28704](http://projects.theforeman.org/issues/28704)
5
+ * Fix undefined method on wrong oidc token endpoint ([PR #479](https://github.com/theforeman/hammer-cli-foreman/pull/479)), [#28196](http://projects.theforeman.org/issues/28196)
6
+ * Fix unauthorized user error message ([PR #478](https://github.com/theforeman/hammer-cli-foreman/pull/478)), [#28646](http://projects.theforeman.org/issues/28646)
7
+ * Add specific oidc option information ([PR #475](https://github.com/theforeman/hammer-cli-foreman/pull/475)), [#28628](http://projects.theforeman.org/issues/28628)
8
+ * Remove url field from gce info ([PR #466](https://github.com/theforeman/hammer-cli-foreman/pull/466)) ([PR #481](https://github.com/theforeman/hammer-cli-foreman/pull/481)), [#28135](http://projects.theforeman.org/issues/28135)
9
+ * Add images uuid to cr images ([PR #457](https://github.com/theforeman/hammer-cli-foreman/pull/457)) ([PR #482](https://github.com/theforeman/hammer-cli-foreman/pull/482)), [#28132](http://projects.theforeman.org/issues/28132)
10
+
3
11
  ### 0.19.5 (2019-12-31)
4
12
  * Restrict mocha to not use version > 1.9.0 ([PR #460](https://github.com/theforeman/hammer-cli-foreman/pull/460)), [#28417](http://projects.theforeman.org/issues/28417)
5
13
  * Increase id column width for available networks ([PR #468](https://github.com/theforeman/hammer-cli-foreman/pull/468)), [#28503](http://projects.theforeman.org/issues/28503)
@@ -55,7 +55,7 @@ module HammerCLIForeman
55
55
  def error(ex)
56
56
  if ex.is_a?(RestClient::Unauthorized) && session.valid?
57
57
  if @user_changed
58
- return UnauthorizedError.new(_("Invalid username or password, continuing with session for '%s'.") % session.user_name)
58
+ return UnauthorizedError.new(_("Invalid credentials, continuing with session for '%s'.") % session.user_name)
59
59
  else
60
60
  session.destroy
61
61
  return SessionExpired.new(_("Session has expired."))
@@ -37,10 +37,10 @@ module HammerCLIForeman
37
37
  option ["-u", "--username"], "USERNAME", _("Username to access the remote system")
38
38
  option ["-p", "--password"], "PASSWORD", _("Password to access the remote system")
39
39
  option ["-t", "--oidc-token-endpoint"], "OPENIDC-TOKEN-ENDPOINT", _("Openidc provider URL which issues access token")
40
- option ["-a", "--oidc-authorization-endpoint"], "OPENIDC-AUTHORIZATION-ENDPOINT", _("Openidc provider URL which issues authentication code")
40
+ option ["-a", "--oidc-authorization-endpoint"], "OPENIDC-AUTHORIZATION-ENDPOINT", _("Openidc provider URL which issues authentication code (two factor only)")
41
41
  option ["-c", "--oidc-client-id"], "OPENIDC-CLIENT-ID", _("Client id used in the Openidc provider")
42
42
  option ["-f", "--two-factor"], :flag, _("Authenticate with two factor")
43
- option ["-r", "--oidc-redirect-uri"], "OPENIDC-REDIRECT-URI", _("Redirect URI for the authencation code grant flow")
43
+ option ["-r", "--oidc-redirect-uri"], "OPENIDC-REDIRECT-URI", _("Redirect URI for the authentication code grant flow")
44
44
 
45
45
  def execute
46
46
  if option_two_factor?
@@ -1,10 +1,11 @@
1
1
  require 'hammer_cli_foreman/auth_source_ldap'
2
+ require 'hammer_cli_foreman/auth_source_external'
2
3
 
3
4
  module HammerCLIForeman
4
-
5
5
  class AuthSource < HammerCLIForeman::Command
6
6
  resource :auth_sources
7
7
  subcommand 'ldap', HammerCLIForeman::AuthSourceLdap.desc, HammerCLIForeman::AuthSourceLdap
8
+ subcommand 'external', HammerCLIForeman::AuthSourceExternal.desc, HammerCLIForeman::AuthSourceExternal
8
9
 
9
10
  class ListCommand < HammerCLIForeman::ListCommand
10
11
  desc _('List all auth sources')
@@ -18,16 +19,6 @@ module HammerCLIForeman
18
19
  build_options
19
20
  end
20
21
 
21
- class UpdateCommand < HammerCLIForeman::UpdateCommand
22
- desc _('Update organization and location for Auth Source')
23
- resource :auth_source_externals
24
-
25
- success_message _('Taxonomy updated.')
26
- failure_message _('Taxonomy not changed. Please check if appropriate auth source exists')
27
-
28
- build_options
29
- end
30
-
31
22
  autoload_subcommands
32
23
  end
33
24
  end
@@ -0,0 +1,35 @@
1
+ module HammerCLIForeman
2
+ class AuthSourceExternal < HammerCLIForeman::Command
3
+ resource :auth_source_externals
4
+ command_name 'external'
5
+ desc _('Manage external auth sources')
6
+
7
+ class ListCommand < HammerCLIForeman::ListCommand
8
+ output do
9
+ field :id, _('Id')
10
+ field :name, _('Name')
11
+ end
12
+
13
+ build_options
14
+ end
15
+
16
+ class InfoCommand < HammerCLIForeman::InfoCommand
17
+ output ListCommand.output_definition do
18
+ HammerCLIForeman::References.taxonomies(self)
19
+ end
20
+
21
+ build_options
22
+ end
23
+
24
+ class UpdateCommand < HammerCLIForeman::UpdateCommand
25
+ desc _('Update organization and location for Auth Source')
26
+
27
+ success_message _('Successfully updated the %{name} external auth source.')
28
+ failure_message _('Failed to update %{name} external auth source')
29
+
30
+ build_options
31
+ end
32
+
33
+ autoload_subcommands
34
+ end
35
+ end
@@ -31,7 +31,6 @@ module HammerCLIForeman
31
31
  include ProviderNameLegacy
32
32
 
33
33
  output ListCommand.output_definition do
34
- field :url, _("Url")
35
34
  field :description, _("Description")
36
35
  field :user, _("User")
37
36
  HammerCLIForeman::References.taxonomies(self)
@@ -133,7 +132,7 @@ module HammerCLIForeman
133
132
  command_name 'images'
134
133
 
135
134
  output do
136
- field :id, _('Id')
135
+ field :uuid, _('Uuid')
137
136
  field :name, _('Name')
138
137
  end
139
138
 
@@ -7,7 +7,11 @@ module HammerCLIForeman
7
7
  def volume_attributes; []; end
8
8
  def interfaces_attrs_name; 'interfaces_attributes'; end
9
9
  def host_attributes; []; end
10
- def provider_specific_fields; []; end
10
+ def provider_specific_fields
11
+ [
12
+ Fields::Field.new(label: _('Url'), path: [:url])
13
+ ]
14
+ end
11
15
  def mandatory_resource_options; %i[name provider]; end
12
16
  end
13
17
  end
@@ -10,7 +10,7 @@ module HammerCLIForeman
10
10
  end
11
11
 
12
12
  def provider_specific_fields
13
- [
13
+ super + [
14
14
  Fields::Field.new(:label => _('Region'), :path => [:region])
15
15
  ]
16
16
  end
@@ -10,7 +10,7 @@ module HammerCLIForeman
10
10
  end
11
11
 
12
12
  def provider_specific_fields
13
- [
13
+ super + [
14
14
  Fields::Field.new(:label => _('Tenant'), :path => [:tenant]),
15
15
  Fields::Field.new(:label => _('Project domain name'), :path => [:project_domain_name]),
16
16
  Fields::Field.new(:label => _('Project domain ID'), :path => [:project_domain_id])
@@ -40,7 +40,7 @@ module HammerCLIForeman
40
40
  end
41
41
 
42
42
  def provider_specific_fields
43
- [
43
+ super + [
44
44
  Fields::Field.new(:label => _('Datacenter'), :path => [:datacenter])
45
45
  ]
46
46
  end
@@ -10,7 +10,7 @@ module HammerCLIForeman
10
10
  end
11
11
 
12
12
  def provider_specific_fields
13
- [
13
+ super + [
14
14
  Fields::Field.new(:label => _('Region'), :path => [:region])
15
15
  ]
16
16
  end
@@ -61,7 +61,7 @@ module HammerCLIForeman
61
61
  end
62
62
 
63
63
  def provider_specific_fields
64
- [
64
+ super + [
65
65
  Fields::Field.new(:label => _('Datacenter'), :path => [:datacenter]),
66
66
  Fields::Field.new(:label => _('Server'), :path => [:server])
67
67
  ]
@@ -9,6 +9,8 @@ module HammerCLIForeman
9
9
 
10
10
  def get_token(username, password)
11
11
  uri = URI.parse(@url)
12
+ return nil unless uri.respond_to?(:request_uri)
13
+
12
14
  request = Net::HTTP::Post.new(uri)
13
15
  request.content_type = 'application/x-www-form-urlencoded'
14
16
  request.set_form_data(
@@ -1,5 +1,5 @@
1
1
  module HammerCLIForeman
2
2
  def self.version
3
- @version ||= Gem::Version.new "0.19.5"
3
+ @version ||= Gem::Version.new "0.19.6"
4
4
  end
5
5
  end
@@ -200,8 +200,8 @@ end
200
200
 
201
201
  describe 'images' do
202
202
  let(:cmd) { base_cmd << 'images' }
203
- let(:image1) { { id: 1, name: 'image1' } }
204
- let(:image2) { { id: 2, name: 'image2' } }
203
+ let(:image1) { { uuid: 1, name: 'image1' } }
204
+ let(:image2) { { uuid: 2, name: 'image2' } }
205
205
  let(:images) { [image1, image2] }
206
206
 
207
207
  it 'lists available images for a compute resource' do
@@ -211,7 +211,7 @@ end
211
211
 
212
212
  output = IndexMatcher.new(
213
213
  [
214
- %w[ID NAME],
214
+ %w[UUID NAME],
215
215
  %w[1 image1],
216
216
  %w[2 image2]
217
217
  ]
@@ -211,7 +211,7 @@ describe HammerCLIForeman::Api::SessionAuthenticatorWrapper do
211
211
  ex = RestClient::Unauthorized.new
212
212
  new_ex = auth.error(ex)
213
213
 
214
- assert_equal "Invalid username or password, continuing with session for 'admin'.", new_ex.message
214
+ assert_equal "Invalid credentials, continuing with session for 'admin'.", new_ex.message
215
215
  end
216
216
  end
217
217
 
@@ -265,12 +265,33 @@ module ResourceMocks
265
265
 
266
266
  def self.auth_source_ldap_index
267
267
  ResourceMocks.mock_action_call(:auth_source_ldaps, :index, {
268
- "results" => [{
269
- "name" => "my LDAP",
270
- "id" => 1,
271
- "tls" => false,
272
- "port" => 389,
273
- "server_type" => "POSIX"
268
+ 'results' => [{
269
+ 'name' => 'my LDAP',
270
+ 'id' => 1,
271
+ 'tls' => false,
272
+ 'port' => 389,
273
+ 'server_type' => 'POSIX'
274
+ }]
275
+ })
276
+ end
277
+
278
+ def self.auth_source_external_index
279
+ ResourceMocks.mock_action_call(:auth_source_externals, :index, {
280
+ 'results' => [{
281
+ 'id' => 11,
282
+ 'name' => 'External',
283
+ 'locations' => [{
284
+ 'id' => 2,
285
+ 'name' => 'Default Location',
286
+ 'title' => 'Default Location',
287
+ 'description' => nil
288
+ }],
289
+ 'organizations' => [{
290
+ 'id' => 1,
291
+ 'name' => 'Default Organization',
292
+ 'title' => 'Default Organization',
293
+ 'description' => nil
294
+ }]
274
295
  }]
275
296
  })
276
297
  end
@@ -0,0 +1,40 @@
1
+ require File.join(File.dirname(__FILE__), 'test_helper')
2
+ require File.join(File.dirname(__FILE__), 'apipie_resource_mock')
3
+
4
+ require 'hammer_cli_foreman/auth_source'
5
+
6
+ describe HammerCLIForeman::AuthSourceExternal do
7
+
8
+ include CommandTestHelper
9
+
10
+ context 'ListCommand' do
11
+ before :each do
12
+ ResourceMocks.auth_source_external_index
13
+ end
14
+
15
+ let(:cmd) { HammerCLIForeman::AuthSourceExternal::ListCommand.new('', ctx) }
16
+
17
+ context 'parameters' do
18
+ it_should_accept 'no arguments'
19
+ it_should_accept 'per page', ['--per-page=1']
20
+ it_should_accept 'page', ['--page=2']
21
+ end
22
+
23
+ context 'output' do
24
+ let(:expected_record_count) { count_records(cmd.resource.call(:index)) }
25
+
26
+ it_should_print_n_records 1
27
+ it_should_print_column 'Name'
28
+ it_should_print_column 'Id'
29
+ end
30
+ end
31
+
32
+ context 'UpdateCommand' do
33
+ let(:cmd) { HammerCLIForeman::AuthSourceExternal::UpdateCommand.new('', ctx) }
34
+
35
+ context 'parameters' do
36
+ it_should_accept 'name', ['--name=External', '--new-name=auth-external-1']
37
+ it_should_accept 'id', ['--id=11', '--new-name=auth-external-2']
38
+ end
39
+ end
40
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hammer_cli_foreman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.5
4
+ version: 0.19.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomáš Strachota
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-12-31 00:00:00.000000000 Z
12
+ date: 2020-01-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hammer_cli
@@ -80,14 +80,14 @@ email: tstracho@redhat.com
80
80
  executables: []
81
81
  extensions: []
82
82
  extra_rdoc_files:
83
- - doc/host_create.md
84
- - doc/release_notes.md
85
83
  - doc/configuration.md
86
- - doc/name_id_resolution.md
87
84
  - doc/developer_docs.md
88
- - doc/using_hammer_cli_foreman_command.md
89
- - doc/testing.md
85
+ - doc/name_id_resolution.md
90
86
  - doc/option_builder.md
87
+ - doc/testing.md
88
+ - doc/using_hammer_cli_foreman_command.md
89
+ - doc/host_create.md
90
+ - doc/release_notes.md
91
91
  - README.md
92
92
  files:
93
93
  - LICENSE
@@ -115,6 +115,7 @@ files:
115
115
  - lib/hammer_cli_foreman/audit.rb
116
116
  - lib/hammer_cli_foreman/auth.rb
117
117
  - lib/hammer_cli_foreman/auth_source.rb
118
+ - lib/hammer_cli_foreman/auth_source_external.rb
118
119
  - lib/hammer_cli_foreman/auth_source_ldap.rb
119
120
  - lib/hammer_cli_foreman/authenticate/login.rb
120
121
  - lib/hammer_cli_foreman/combination.rb
@@ -270,6 +271,7 @@ files:
270
271
  - test/unit/apipie_resource_mock.rb
271
272
  - test/unit/architecture_test.rb
272
273
  - test/unit/audit_test.rb
274
+ - test/unit/auth_source_external.rb
273
275
  - test/unit/auth_source_ldap_test.rb
274
276
  - test/unit/commands_test.rb
275
277
  - test/unit/common_parameter_test.rb
@@ -337,107 +339,109 @@ required_rubygems_version: !ruby/object:Gem::Requirement
337
339
  - !ruby/object:Gem::Version
338
340
  version: '0'
339
341
  requirements: []
340
- rubygems_version: 3.0.3
342
+ rubyforge_project:
343
+ rubygems_version: 2.7.10
341
344
  signing_key:
342
345
  specification_version: 4
343
346
  summary: Foreman commands for Hammer
344
347
  test_files:
345
- - test/unit/image_test.rb
346
- - test/unit/helpers/resource_disabled.rb
347
- - test/unit/helpers/fake_searchables.rb
348
- - test/unit/helpers/command.rb
349
- - test/unit/messages_test.rb
350
- - test/unit/smart_variable_test.rb
351
- - test/unit/config_group_test.rb
352
- - test/unit/option_sources/id_params_test.rb
353
- - test/unit/option_sources/ids_params_test.rb
354
- - test/unit/exception_handler_test.rb
355
- - test/unit/user_test.rb
356
- - test/unit/api/session_authenticator_wrapper_test.rb
357
- - test/unit/api/interactive_basic_auth_test.rb
358
- - test/unit/api/oauth/oauth_authentication_code_grant_test.rb
359
- - test/unit/api/oauth/oauth_password_grant_test.rb
360
- - test/unit/api/void_auth_test.rb
361
- - test/unit/hostgroup_test.rb
362
- - test/unit/realm_test.rb
363
- - test/unit/data/test_api.json
364
- - test/unit/auth_source_ldap_test.rb
365
- - test/unit/audit_test.rb
366
- - test/unit/test_helper.rb
367
- - test/unit/smart_class_parameter_test.rb
368
- - test/unit/partition_table_test.rb
369
- - test/unit/operating_system_test.rb
370
- - test/unit/media_test.rb
371
- - test/unit/architecture_test.rb
372
- - test/unit/usergroup_test.rb
373
- - test/unit/role_test.rb
374
- - test/unit/location_test.rb
375
- - test/unit/param_filters_test.rb
376
- - test/unit/apipie_resource_mock.rb
377
- - test/unit/option_builders_test.rb
378
- - test/unit/api_test.rb
379
- - test/unit/test_output_adapter.rb
380
- - test/unit/sessions_test.rb
381
- - test/unit/organization_test.rb
382
- - test/unit/settings_test.rb
383
- - test/unit/template_test.rb
384
- - test/unit/dependency_resolver_test.rb
385
- - test/unit/smart_proxy_test.rb
386
- - test/unit/domain_test.rb
387
- - test/unit/defaults_test.rb
388
- - test/unit/model_test.rb
389
- - test/unit/puppet_class_test.rb
390
- - test/unit/compute_resource_test.rb
391
- - test/unit/id_resolver_test.rb
392
- - test/unit/filter_test.rb
393
- - test/unit/puppet_environment_test.rb
394
- - test/unit/output/formatters_test.rb
395
- - test/unit/host_test.rb
396
- - test/unit/config_report_test.rb
397
- - test/unit/fact_test.rb
398
- - test/unit/external_usergroup_test.rb
399
- - test/unit/commands_test.rb
400
- - test/unit/common_parameter_test.rb
401
- - test/unit/subnet_test.rb
402
- - test/data/1.24/foreman_api.json
403
- - test/data/1.18/foreman_api.json
404
- - test/data/1.11/foreman_api.json
405
348
  - test/data/1.10/foreman_api.json
406
- - test/data/1.17/foreman_api.json
407
- - test/data/1.15/foreman_api.json
349
+ - test/data/1.11/foreman_api.json
408
350
  - test/data/1.14/_foreman_api.json
409
351
  - test/data/1.14/foreman_api.json
352
+ - test/data/1.15/foreman_api.json
353
+ - test/data/1.16/foreman_api.json
354
+ - test/data/1.17/foreman_api.json
355
+ - test/data/1.18/foreman_api.json
356
+ - test/data/1.20/foreman_api.json
410
357
  - test/data/1.21/foreman_api.json
411
358
  - test/data/1.22/foreman_api.json
412
- - test/data/1.20/foreman_api.json
359
+ - test/data/1.24/foreman_api.json
413
360
  - test/data/README.md
414
- - test/data/1.16/foreman_api.json
415
- - test/functional/http_proxy_test.rb
416
- - test/functional/commands/list_test.rb
417
- - test/functional/smart_variable_test.rb
418
- - test/functional/user_test.rb
419
- - test/functional/personal_access_token_test.rb
420
361
  - test/functional/audit_test.rb
421
- - test/functional/test_helper.rb
422
- - test/functional/ping_test.rb
423
- - test/functional/smart_class_parameter_test.rb
424
- - test/functional/role_test.rb
425
- - test/functional/location_test.rb
362
+ - test/functional/auth_source_test.rb
363
+ - test/functional/commands/list_test.rb
364
+ - test/functional/compute_attribute_test.rb
365
+ - test/functional/compute_profile_test.rb
366
+ - test/functional/filter_test.rb
426
367
  - test/functional/hostgroup/create_test.rb
427
368
  - test/functional/hostgroup/update_test.rb
428
- - test/functional/subnet/create_test.rb
429
- - test/functional/subnet/update_test.rb
369
+ - test/functional/location_test.rb
430
370
  - test/functional/organization_test.rb
431
- - test/functional/settings_test.rb
432
- - test/functional/template_test.rb
371
+ - test/functional/personal_access_token_test.rb
433
372
  - test/functional/proxy_test.rb
434
- - test/functional/compute_resource_test.rb
435
- - test/functional/compute_attribute_test.rb
436
- - test/functional/filter_test.rb
437
- - test/functional/report_template_test.rb
438
- - test/functional/compute_profile_test.rb
439
- - test/functional/host_test.rb
373
+ - test/functional/settings_test.rb
374
+ - test/functional/smart_variable_test.rb
440
375
  - test/functional/ssh_keys_test.rb
376
+ - test/functional/subnet/create_test.rb
377
+ - test/functional/subnet/update_test.rb
378
+ - test/functional/test_helper.rb
379
+ - test/functional/user_test.rb
380
+ - test/functional/ping_test.rb
441
381
  - test/functional/status_test.rb
442
- - test/functional/auth_source_test.rb
382
+ - test/functional/compute_resource_test.rb
383
+ - test/functional/host_test.rb
384
+ - test/functional/http_proxy_test.rb
385
+ - test/functional/report_template_test.rb
386
+ - test/functional/role_test.rb
387
+ - test/functional/smart_class_parameter_test.rb
388
+ - test/functional/template_test.rb
389
+ - test/unit/api/void_auth_test.rb
390
+ - test/unit/api/interactive_basic_auth_test.rb
391
+ - test/unit/api/oauth/oauth_authentication_code_grant_test.rb
392
+ - test/unit/api/oauth/oauth_password_grant_test.rb
393
+ - test/unit/api/session_authenticator_wrapper_test.rb
394
+ - test/unit/api_test.rb
395
+ - test/unit/architecture_test.rb
396
+ - test/unit/audit_test.rb
397
+ - test/unit/auth_source_ldap_test.rb
398
+ - test/unit/commands_test.rb
399
+ - test/unit/common_parameter_test.rb
400
+ - test/unit/compute_resource_test.rb
401
+ - test/unit/config_group_test.rb
402
+ - test/unit/config_report_test.rb
403
+ - test/unit/data/test_api.json
404
+ - test/unit/defaults_test.rb
405
+ - test/unit/dependency_resolver_test.rb
406
+ - test/unit/domain_test.rb
407
+ - test/unit/exception_handler_test.rb
408
+ - test/unit/external_usergroup_test.rb
409
+ - test/unit/fact_test.rb
410
+ - test/unit/filter_test.rb
411
+ - test/unit/helpers/command.rb
412
+ - test/unit/helpers/fake_searchables.rb
413
+ - test/unit/helpers/resource_disabled.rb
414
+ - test/unit/hostgroup_test.rb
415
+ - test/unit/id_resolver_test.rb
416
+ - test/unit/image_test.rb
417
+ - test/unit/location_test.rb
418
+ - test/unit/media_test.rb
419
+ - test/unit/messages_test.rb
420
+ - test/unit/model_test.rb
421
+ - test/unit/operating_system_test.rb
422
+ - test/unit/option_builders_test.rb
423
+ - test/unit/option_sources/id_params_test.rb
424
+ - test/unit/option_sources/ids_params_test.rb
425
+ - test/unit/organization_test.rb
426
+ - test/unit/output/formatters_test.rb
427
+ - test/unit/param_filters_test.rb
428
+ - test/unit/partition_table_test.rb
429
+ - test/unit/puppet_class_test.rb
430
+ - test/unit/puppet_environment_test.rb
431
+ - test/unit/realm_test.rb
432
+ - test/unit/role_test.rb
433
+ - test/unit/settings_test.rb
434
+ - test/unit/smart_proxy_test.rb
435
+ - test/unit/smart_variable_test.rb
436
+ - test/unit/subnet_test.rb
437
+ - test/unit/test_helper.rb
438
+ - test/unit/user_test.rb
439
+ - test/unit/usergroup_test.rb
440
+ - test/unit/sessions_test.rb
441
+ - test/unit/host_test.rb
442
+ - test/unit/smart_class_parameter_test.rb
443
+ - test/unit/template_test.rb
444
+ - test/unit/test_output_adapter.rb
445
+ - test/unit/apipie_resource_mock.rb
446
+ - test/unit/auth_source_external.rb
443
447
  - test/test_helper.rb