hammer_cli_foreman 3.5.1 → 3.7.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/config/foreman.yml +1 -0
- data/doc/release_notes.md +11 -1
- data/lib/hammer_cli_foreman/command_extensions/update_common.rb +1 -1
- data/lib/hammer_cli_foreman/commands.rb +2 -4
- data/lib/hammer_cli_foreman/compute_resource/ovirt.rb +1 -1
- data/lib/hammer_cli_foreman/compute_resource/utils.rb +7 -7
- data/lib/hammer_cli_foreman/config_report.rb +1 -1
- data/lib/hammer_cli_foreman/exception_handler.rb +2 -8
- data/lib/hammer_cli_foreman/external_usergroup.rb +0 -2
- data/lib/hammer_cli_foreman/resource_supported_test.rb +1 -1
- data/lib/hammer_cli_foreman/smart_proxy.rb +1 -1
- data/lib/hammer_cli_foreman/testing/api_expectations.rb +2 -2
- data/lib/hammer_cli_foreman/version.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/functional/bookmark_test.rb +2 -2
- data/test/functional/filter_test.rb +1 -1
- data/test/functional/location_test.rb +1 -1
- data/test/functional/media_test.rb +2 -2
- data/test/functional/settings_test.rb +1 -1
- data/test/unit/api/session_authenticator_wrapper_test.rb +1 -1
- data/test/unit/commands_test.rb +4 -4
- data/test/unit/helpers/command.rb +32 -32
- data/test/unit/id_resolver_test.rb +1 -1
- metadata +15 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 153f99e72a9d4a889641be0d5a99e60192ee3dd20a783e86db831b5de9618744
|
|
4
|
+
data.tar.gz: 4038d91f5d942a78cd5ce71296ed1a07438abadcfc6a5f77eac0abcdfcebbf76
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7290953f2d944f09645d2eb31a868398d8e75e1ea5086d1c84cfb1d2a097914df10d6e0ee76195b6258ca2a8fe8c6ccc755f4a906d1c3fba756c1eb218ffcfe3
|
|
7
|
+
data.tar.gz: c8624ea106c8daa295010f58ed340763513a919b0463392400df940444f2b3859d879e98160483161e94aeaacee45736e3b4d3329bc0e7b3a7d80ae3bba27a8c
|
data/config/foreman.yml
CHANGED
data/doc/release_notes.md
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
Release notes
|
|
2
2
|
=============
|
|
3
|
-
### 3.
|
|
3
|
+
### 3.7.0 (2023-05-23)
|
|
4
|
+
* Update rake for hammer-cli-foreman ([PR #613](https://github.com/theforeman/hammer-cli-foreman/pull/613)), [#36337](http://projects.theforeman.org/issues/36337)
|
|
5
|
+
* Update minitest version ([PR #611](https://github.com/theforeman/hammer-cli-foreman/pull/611)), [#36349](http://projects.theforeman.org/issues/36349)
|
|
6
|
+
* Allow to suppress nothing to update message, [#36213](http://projects.theforeman.org/issues/36213)
|
|
7
|
+
* Bump to 3.7.0-develop
|
|
8
|
+
|
|
9
|
+
### 3.6.0 (2023-02-23)
|
|
4
10
|
* Support basic auth for external sources, [#11317](http://projects.theforeman.org/issues/11317)
|
|
11
|
+
* Remove underscore from labels ([PR #608](https://github.com/theforeman/hammer-cli-foreman/pull/608)), [#35904](http://projects.theforeman.org/issues/35904)
|
|
12
|
+
* Update foreman.yml - add a comment on defining the server address in a development environment ([PR #602](https://github.com/theforeman/hammer-cli-foreman/pull/602))
|
|
13
|
+
* Fix typo in ovirt disk interface names
|
|
14
|
+
* Bump to 3.6.0-develop
|
|
5
15
|
|
|
6
16
|
### 3.5.0 (2022-10-31)
|
|
7
17
|
* Extract gce related info ([PR #606](https://github.com/theforeman/hammer-cli-foreman/pull/606)), [#35659](http://projects.theforeman.org/issues/35659)
|
|
@@ -7,7 +7,7 @@ module HammerCLIForeman
|
|
|
7
7
|
|
|
8
8
|
request_params do |params, command_object|
|
|
9
9
|
update_params = params[command_object.resource.singular_name]
|
|
10
|
-
command_object.context[:action_message] = :nothing_to_do if update_params && update_params.empty?
|
|
10
|
+
command_object.context[:action_message] = :nothing_to_do if update_params && update_params.empty? && command_object.context[:action_message].nil?
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -244,7 +244,7 @@ module HammerCLIForeman
|
|
|
244
244
|
super
|
|
245
245
|
begin
|
|
246
246
|
output_definition.update_field_sets('THIN', (searchables.for(resource).map(&:name) + ['id']).map(&:to_sym))
|
|
247
|
-
rescue StandardError
|
|
247
|
+
rescue StandardError
|
|
248
248
|
# Some subcommands may not have such fields or defined resource
|
|
249
249
|
end
|
|
250
250
|
end
|
|
@@ -489,7 +489,7 @@ module HammerCLIForeman
|
|
|
489
489
|
super
|
|
490
490
|
begin
|
|
491
491
|
output_definition.update_field_sets('THIN', (searchables.for(resource).map(&:name) + ['id']).map(&:to_sym))
|
|
492
|
-
rescue StandardError
|
|
492
|
+
rescue StandardError
|
|
493
493
|
# Some subcommands may not have such fields or defined resource
|
|
494
494
|
end
|
|
495
495
|
end
|
|
@@ -585,8 +585,6 @@ module HammerCLIForeman
|
|
|
585
585
|
action :update
|
|
586
586
|
|
|
587
587
|
def self.create_option_builder
|
|
588
|
-
configurator = BuilderConfigurator.new(searchables, dependency_resolver)
|
|
589
|
-
|
|
590
588
|
builder = ForemanOptionBuilder.new(searchables)
|
|
591
589
|
builder.builders = [
|
|
592
590
|
SearchablesOptionBuilder.new(resource, searchables),
|
|
@@ -40,7 +40,7 @@ module HammerCLIForeman
|
|
|
40
40
|
['bootable', _('Boolean, set 1 for bootable, only one volume can be bootable')],
|
|
41
41
|
['preallocate', _('Boolean, set 1 to preallocate')],
|
|
42
42
|
['wipe_after_delete', _('Boolean, set 1 to wipe disk after delete')],
|
|
43
|
-
['interface', _('Disk interface name, must be ide,
|
|
43
|
+
['interface', _('Disk interface name, must be ide, virtio or virtio_scsi')]
|
|
44
44
|
]
|
|
45
45
|
end
|
|
46
46
|
|
|
@@ -13,13 +13,13 @@ module HammerCLIForeman
|
|
|
13
13
|
HammerCLIForeman.foreman_resource(:hostgroups).call(:show, 'id' => hostgroup_id)
|
|
14
14
|
)
|
|
15
15
|
compute_resource_id = hostgroup['compute_resource_id']
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
if !hostgroup['compute_resource_name'].to_s.strip.empty? && compute_resource_id.nil?
|
|
17
|
+
compute_resource= HammerCLIForeman.record_to_common_format(
|
|
18
|
+
HammerCLIForeman.foreman_resource(:compute_resources).call(
|
|
19
|
+
:index, :search => "name = \"#{hostgroup['compute_resource_name']}\""
|
|
20
|
+
)
|
|
21
|
+
)
|
|
22
|
+
compute_resource_id = compute_resource['results'][0]['id'] if compute_resource['results'][0]
|
|
23
23
|
end
|
|
24
24
|
compute_resource_id
|
|
25
25
|
end
|
|
@@ -45,7 +45,7 @@ module HammerCLIForeman
|
|
|
45
45
|
label _("Report metrics") do
|
|
46
46
|
from "metrics" do
|
|
47
47
|
from "time" do
|
|
48
|
-
field :config_retrieval, _("
|
|
48
|
+
field :config_retrieval, _("config retrieval")
|
|
49
49
|
field :exec, _("exec")
|
|
50
50
|
field :file, _("file")
|
|
51
51
|
field :package, _("package")
|
|
@@ -99,7 +99,7 @@ module HammerCLIForeman
|
|
|
99
99
|
response = JSON.parse(e.response)
|
|
100
100
|
response = HammerCLIForeman.record_to_common_format(response) unless response.has_key?('message')
|
|
101
101
|
message = response['message'] || e.message
|
|
102
|
-
rescue JSON::ParserError
|
|
102
|
+
rescue JSON::ParserError
|
|
103
103
|
message = e.message
|
|
104
104
|
end
|
|
105
105
|
|
|
@@ -123,13 +123,7 @@ module HammerCLIForeman
|
|
|
123
123
|
host_url = HammerCLI::Settings.get(:_params, :host) || HammerCLI::Settings.get(:foreman, :host)
|
|
124
124
|
uri = URI.parse(host_url)
|
|
125
125
|
ssl_option = HammerCLI::SSLOptions.new.get_options(uri)
|
|
126
|
-
|
|
127
|
-
host = '<FOREMAN_HOST>'
|
|
128
|
-
cert_name = "#{host}.crt"
|
|
129
|
-
else
|
|
130
|
-
host = uri.to_s
|
|
131
|
-
cert_name = "#{uri.host}.crt"
|
|
132
|
-
end
|
|
126
|
+
host = uri.host.nil? ? '<FOREMAN_HOST>' : uri.to_s
|
|
133
127
|
|
|
134
128
|
cmd = "hammer --fetch-ca-cert #{host}"
|
|
135
129
|
|
|
@@ -26,7 +26,7 @@ module HammerCLIForeman
|
|
|
26
26
|
class InfoCommand < HammerCLIForeman::InfoCommand
|
|
27
27
|
output ListCommand.output_definition do
|
|
28
28
|
field :version, _("Version")
|
|
29
|
-
field :hosts_count, _("
|
|
29
|
+
field :hosts_count, _("Host count")
|
|
30
30
|
collection :features, _("Features") do
|
|
31
31
|
field :name, _('Name')
|
|
32
32
|
field :version, _('Version')
|
|
@@ -12,12 +12,12 @@ module HammerCLIForeman
|
|
|
12
12
|
def initialize(resource=nil, action=nil, &block)
|
|
13
13
|
@expected_resource = resource
|
|
14
14
|
@expected_action = action
|
|
15
|
-
@block = block
|
|
15
|
+
@block = block
|
|
16
16
|
@expected_params = {}
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def matches?(actual_parameters)
|
|
20
|
-
action, params,
|
|
20
|
+
action, params, _headers, _options = actual_parameters.shift(4)
|
|
21
21
|
action_name = action.name.to_s
|
|
22
22
|
resource_name = action.resource.to_s
|
|
23
23
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -87,8 +87,8 @@ describe 'bookmark' do
|
|
|
87
87
|
it 'should create a bookmark' do
|
|
88
88
|
params = ['--name=newBookmark', '--controller=hosts', '--query=status = failed']
|
|
89
89
|
api_expects(:bookmarks, :create, 'Create bookmark') do |params|
|
|
90
|
-
(params['bookmark']['name'] == 'newBookmark')
|
|
91
|
-
(params['bookmark']['controller'] == 'hosts')
|
|
90
|
+
(params['bookmark']['name'] == 'newBookmark') &&
|
|
91
|
+
(params['bookmark']['controller'] == 'hosts') &&
|
|
92
92
|
(params['bookmark']['query'] == 'status = failed')
|
|
93
93
|
end
|
|
94
94
|
result = run_cmd(@cmd + params)
|
|
@@ -262,7 +262,7 @@ describe 'update' do
|
|
|
262
262
|
|
|
263
263
|
api_expects(:locations, :index)
|
|
264
264
|
api_expects(:locations, :update, 'Update a location') do |params|
|
|
265
|
-
(params['
|
|
265
|
+
(params['id'] == '1') &&
|
|
266
266
|
(params['location']['name'] == 'Default Location test')
|
|
267
267
|
end
|
|
268
268
|
|
|
@@ -77,7 +77,7 @@ describe 'medium' do
|
|
|
77
77
|
params = ['--name=CentOS mirror', '--path=http://mirror.centos.org/centos/$major/os/$arch']
|
|
78
78
|
|
|
79
79
|
api_expects(:media, :create) do |params|
|
|
80
|
-
(params['medium']['name'] == 'CentOS mirror')
|
|
80
|
+
(params['medium']['name'] == 'CentOS mirror') &&
|
|
81
81
|
(params['medium']['path'] == 'http://mirror.centos.org/centos/$major/os/$arch')
|
|
82
82
|
end
|
|
83
83
|
|
|
@@ -119,7 +119,7 @@ describe 'medium' do
|
|
|
119
119
|
params = ['--id=1', '--new-name=CentOS mirror test']
|
|
120
120
|
|
|
121
121
|
api_expects(:media, :update, 'Update a media') do |params|
|
|
122
|
-
(params['
|
|
122
|
+
(params['id'] == '1') &&
|
|
123
123
|
(params['medium']['name'] == 'CentOS mirror test')
|
|
124
124
|
end
|
|
125
125
|
|
|
@@ -101,7 +101,7 @@ describe 'Settings' do
|
|
|
101
101
|
params = ['--id=1', '--value=true']
|
|
102
102
|
|
|
103
103
|
api_expects(:settings, :update, 'Update a setting') do |params|
|
|
104
|
-
(params['
|
|
104
|
+
(params['id'] == '1') &&
|
|
105
105
|
(params['setting']['value'] == 'true')
|
|
106
106
|
end
|
|
107
107
|
|
|
@@ -141,7 +141,7 @@ describe HammerCLIForeman::Api::SessionAuthenticatorWrapper do
|
|
|
141
141
|
|
|
142
142
|
context "when the session file is corrupted" do
|
|
143
143
|
it 'reports error' do
|
|
144
|
-
|
|
144
|
+
_dir, _out, err = prepare_session_storage :session_id => 'SOME_SESSION_ID' do |auth, dir|
|
|
145
145
|
write_session(dir, '{not a valid: json')
|
|
146
146
|
|
|
147
147
|
wrapped_auth.expects(:authenticate).with(request, args)
|
data/test/unit/commands_test.rb
CHANGED
|
@@ -91,7 +91,7 @@ describe HammerCLIForeman do
|
|
|
91
91
|
}
|
|
92
92
|
})
|
|
93
93
|
arch = HammerCLIForeman::Architecture::CreateCommand.new("", { :adapter => :csv, :interactive => false })
|
|
94
|
-
out,
|
|
94
|
+
out, _ = capture_io { arch.run(["--name='i386'"]) }
|
|
95
95
|
_(out).must_match("Message,Id,Name\nArchitecture created.,3,i386\n")
|
|
96
96
|
end
|
|
97
97
|
end
|
|
@@ -151,7 +151,7 @@ describe HammerCLIForeman do
|
|
|
151
151
|
end
|
|
152
152
|
end
|
|
153
153
|
comm = DomainOuter::HostsCommand.new("", { :adapter => :csv, :interactive => false })
|
|
154
|
-
out,
|
|
154
|
+
out, _ = capture_io { comm.run(["--id=5"]) }
|
|
155
155
|
_(out).must_equal "Id,Name,Operating System,Host Group,IP,MAC\n2,random-host,,,192.168.100.112,6e:4b:3c:2c:8a:0a\n"
|
|
156
156
|
end
|
|
157
157
|
end
|
|
@@ -180,7 +180,7 @@ describe HammerCLIForeman::Command do
|
|
|
180
180
|
HammerCLIForeman.foreman_api_connection.api.resource(:locations)
|
|
181
181
|
)
|
|
182
182
|
)
|
|
183
|
-
|
|
183
|
+
_, err = capture_io do
|
|
184
184
|
_(com.run(['--location', 'loc'])).wont_equal HammerCLI::EX_OK
|
|
185
185
|
end
|
|
186
186
|
_(err).must_equal "Error: Could not find location, please set one of options --location-id, --location, --location-title.\n"
|
|
@@ -203,7 +203,7 @@ describe HammerCLIForeman::Command do
|
|
|
203
203
|
|
|
204
204
|
ResourceMocks.mock_action_call(:domains, :index, [])
|
|
205
205
|
|
|
206
|
-
|
|
206
|
+
_out, _err = capture_io do
|
|
207
207
|
_(com.run([])).must_equal HammerCLI::EX_OK
|
|
208
208
|
end
|
|
209
209
|
|
|
@@ -6,7 +6,31 @@ class IdResolverTestProxy
|
|
|
6
6
|
|
|
7
7
|
def initialize(original_resolver)
|
|
8
8
|
@original_resolver = original_resolver
|
|
9
|
-
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def self.for_resolver(original_resolver)
|
|
12
|
+
resolver = Class.new(IdResolverTestProxy) do |cls|
|
|
13
|
+
original_resolver.api.resources.each do |resource|
|
|
14
|
+
method_name = "#{resource.singular_name}_id"
|
|
15
|
+
cls.define_method(method_name) do |options|
|
|
16
|
+
value = options[HammerCLI.option_accessor_name("id")]
|
|
17
|
+
value ||= HammerCLI::NilValue if searchables(resource).any? do |s|
|
|
18
|
+
options[HammerCLI.option_accessor_name(s.name)] == HammerCLI::NilValue
|
|
19
|
+
end
|
|
20
|
+
value ||= 1 if searchables(resource).any? do |s|
|
|
21
|
+
!options[HammerCLI.option_accessor_name(s.name)].nil?
|
|
22
|
+
end
|
|
23
|
+
value
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
method_name = "#{resource.singular_name}_ids"
|
|
27
|
+
cls.define_method(method_name) do |options|
|
|
28
|
+
options["option_#{resource.singular_name}_ids"].nil? ? nil : [1]
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
resolver.new(original_resolver)
|
|
10
34
|
end
|
|
11
35
|
|
|
12
36
|
def scoped_options(scope, options, mode = nil)
|
|
@@ -16,30 +40,6 @@ class IdResolverTestProxy
|
|
|
16
40
|
def searchables(resource)
|
|
17
41
|
@original_resolver.searchables(resource)
|
|
18
42
|
end
|
|
19
|
-
|
|
20
|
-
protected
|
|
21
|
-
|
|
22
|
-
def define_id_finders
|
|
23
|
-
@original_resolver.api.resources.each do |resource|
|
|
24
|
-
method_name = "#{resource.singular_name}_id"
|
|
25
|
-
self.class.send(:define_method, method_name) do |options|
|
|
26
|
-
value = options[HammerCLI.option_accessor_name("id")]
|
|
27
|
-
value ||= HammerCLI::NilValue if searchables(resource).any? do |s|
|
|
28
|
-
options[HammerCLI.option_accessor_name(s.name)] == HammerCLI::NilValue
|
|
29
|
-
end
|
|
30
|
-
value ||= 1 if searchables(resource).any? do |s|
|
|
31
|
-
!options[HammerCLI.option_accessor_name(s.name)].nil?
|
|
32
|
-
end
|
|
33
|
-
value
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
method_name = "#{resource.singular_name}_ids"
|
|
37
|
-
self.class.send(:define_method, method_name) do |options|
|
|
38
|
-
options["option_#{resource.singular_name}_ids"].nil? ? nil : [1]
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
|
|
@@ -50,7 +50,7 @@ module CommandTestHelper
|
|
|
50
50
|
|
|
51
51
|
base.before :each do
|
|
52
52
|
resolver = cmd.resolver
|
|
53
|
-
cmd.stubs(:resolver).returns(IdResolverTestProxy.
|
|
53
|
+
cmd.stubs(:resolver).returns(IdResolverTestProxy.for_resolver(resolver))
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
@@ -63,7 +63,7 @@ module CommandTestHelper
|
|
|
63
63
|
def with_params(params, &block)
|
|
64
64
|
context "with params "+params.to_s do
|
|
65
65
|
let(:with_params) { params }
|
|
66
|
-
self.instance_eval
|
|
66
|
+
self.instance_eval(&block)
|
|
67
67
|
end
|
|
68
68
|
end
|
|
69
69
|
|
|
@@ -95,7 +95,7 @@ module CommandTestHelper
|
|
|
95
95
|
|
|
96
96
|
def it_should_accept(message, arguments=[])
|
|
97
97
|
it "should accept " + message.to_s do
|
|
98
|
-
|
|
98
|
+
_out, _err = capture_io do
|
|
99
99
|
_(cmd.run(arguments)).must_equal HammerCLI::EX_OK
|
|
100
100
|
end
|
|
101
101
|
end
|
|
@@ -105,7 +105,7 @@ module CommandTestHelper
|
|
|
105
105
|
it "should output '" + message.to_s + "'" do
|
|
106
106
|
arguments ||= respond_to?(:with_params) ? with_params : []
|
|
107
107
|
cmd.stubs(:context).returns(ctx.update(:adapter => adapter))
|
|
108
|
-
out,
|
|
108
|
+
out, _ = capture_io do
|
|
109
109
|
cmd.run(arguments)
|
|
110
110
|
end
|
|
111
111
|
_(out).must_include message
|
|
@@ -117,11 +117,11 @@ module CommandTestHelper
|
|
|
117
117
|
arguments ||= respond_to?(:with_params) ? with_params : []
|
|
118
118
|
|
|
119
119
|
cmd.stubs(:context).returns(ctx.update(:adapter => :test))
|
|
120
|
-
out,
|
|
120
|
+
out, _ = capture_io do
|
|
121
121
|
cmd.run(arguments)
|
|
122
122
|
end
|
|
123
123
|
|
|
124
|
-
_(out.split("\n")[0]).must_match
|
|
124
|
+
_(out.split("\n")[0]).must_match(/.*##{column_name}#.*/)
|
|
125
125
|
end
|
|
126
126
|
end
|
|
127
127
|
|
|
@@ -137,7 +137,7 @@ module CommandTestHelper
|
|
|
137
137
|
|
|
138
138
|
cmd.stubs(:context).returns(ctx.update(:adapter => :test))
|
|
139
139
|
count ||= expected_record_count rescue 0
|
|
140
|
-
out,
|
|
140
|
+
out, _ = capture_io do
|
|
141
141
|
cmd.run(arguments)
|
|
142
142
|
end
|
|
143
143
|
_(out.split(/\n/).length).must_equal count+1 # plus 1 for line with column headers
|
|
@@ -109,7 +109,7 @@ describe HammerCLIForeman::IdResolver do
|
|
|
109
109
|
let(:resolver_run) { proc { resolver.comment_id({"option_unknown" => "value"}) } }
|
|
110
110
|
|
|
111
111
|
it "raises exception" do
|
|
112
|
-
|
|
112
|
+
_(resolver_run).must_raise HammerCLIForeman::MissingSearchOptions
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
it "builds correct error message" do
|
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: 3.
|
|
4
|
+
version: 3.7.0
|
|
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: 2023-
|
|
12
|
+
date: 2023-05-23 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: hammer_cli
|
|
@@ -17,28 +17,28 @@ dependencies:
|
|
|
17
17
|
requirements:
|
|
18
18
|
- - ">="
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: 3.
|
|
20
|
+
version: 3.7.0
|
|
21
21
|
type: :runtime
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
25
|
- - ">="
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
|
-
version: 3.
|
|
27
|
+
version: 3.7.0
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
29
|
name: apipie-bindings
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
32
|
- - ">="
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: 0.
|
|
34
|
+
version: 0.6.0
|
|
35
35
|
type: :runtime
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
39
|
- - ">="
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: 0.
|
|
41
|
+
version: 0.6.0
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
43
|
name: rest-client
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -395,21 +395,17 @@ test_files:
|
|
|
395
395
|
- test/functional/associating_commands_test.rb
|
|
396
396
|
- test/functional/audit_test.rb
|
|
397
397
|
- test/functional/auth_source_test.rb
|
|
398
|
-
- test/functional/bookmark_test.rb
|
|
399
398
|
- test/functional/commands/list_test.rb
|
|
400
399
|
- test/functional/compute_attribute_test.rb
|
|
401
400
|
- test/functional/compute_profile_test.rb
|
|
402
401
|
- test/functional/compute_resource_test.rb
|
|
403
402
|
- test/functional/domain/create_test.rb
|
|
404
403
|
- test/functional/domain/update_test.rb
|
|
405
|
-
- test/functional/filter_test.rb
|
|
406
404
|
- test/functional/host_test.rb
|
|
407
405
|
- test/functional/hostgroup/create_test.rb
|
|
408
406
|
- test/functional/hostgroup/update_test.rb
|
|
409
407
|
- test/functional/http_proxy_test.rb
|
|
410
|
-
- test/functional/location_test.rb
|
|
411
408
|
- test/functional/mail_notification_test.rb
|
|
412
|
-
- test/functional/media_test.rb
|
|
413
409
|
- test/functional/model_test.rb
|
|
414
410
|
- test/functional/operating_system_test.rb
|
|
415
411
|
- test/functional/organization_test.rb
|
|
@@ -420,7 +416,6 @@ test_files:
|
|
|
420
416
|
- test/functional/registration_test.rb
|
|
421
417
|
- test/functional/report_template_test.rb
|
|
422
418
|
- test/functional/role_test.rb
|
|
423
|
-
- test/functional/settings_test.rb
|
|
424
419
|
- test/functional/ssh_keys_test.rb
|
|
425
420
|
- test/functional/status_test.rb
|
|
426
421
|
- test/functional/subnet/create_test.rb
|
|
@@ -432,12 +427,17 @@ test_files:
|
|
|
432
427
|
- test/functional/user_test.rb
|
|
433
428
|
- test/functional/usergroup_test.rb
|
|
434
429
|
- test/functional/virtual_machine_test.rb
|
|
430
|
+
- test/functional/bookmark_test.rb
|
|
431
|
+
- test/functional/filter_test.rb
|
|
432
|
+
- test/functional/location_test.rb
|
|
433
|
+
- test/functional/media_test.rb
|
|
434
|
+
- test/functional/settings_test.rb
|
|
435
435
|
- test/test_helper.rb
|
|
436
436
|
- test/unit/api/oauth/oauth_authentication_code_grant_test.rb
|
|
437
437
|
- test/unit/api/oauth/oauth_password_grant_test.rb
|
|
438
|
-
- test/unit/api/session_authenticator_wrapper_test.rb
|
|
439
438
|
- test/unit/api/void_auth_test.rb
|
|
440
439
|
- test/unit/api/interactive_basic_auth_test.rb
|
|
440
|
+
- test/unit/api/session_authenticator_wrapper_test.rb
|
|
441
441
|
- test/unit/api_test.rb
|
|
442
442
|
- test/unit/apipie_resource_mock.rb
|
|
443
443
|
- test/unit/architecture_test.rb
|
|
@@ -445,7 +445,6 @@ test_files:
|
|
|
445
445
|
- test/unit/auth_source_external.rb
|
|
446
446
|
- test/unit/auth_source_ldap_test.rb
|
|
447
447
|
- test/unit/bookmark_test.rb
|
|
448
|
-
- test/unit/commands_test.rb
|
|
449
448
|
- test/unit/common_parameter_test.rb
|
|
450
449
|
- test/unit/compute_profile_test.rb
|
|
451
450
|
- test/unit/compute_resource_test.rb
|
|
@@ -458,12 +457,11 @@ test_files:
|
|
|
458
457
|
- test/unit/external_usergroup_test.rb
|
|
459
458
|
- test/unit/fact_test.rb
|
|
460
459
|
- test/unit/filter_test.rb
|
|
461
|
-
- test/unit/helpers/command.rb
|
|
462
460
|
- test/unit/helpers/fake_searchables.rb
|
|
463
461
|
- test/unit/helpers/resource_disabled.rb
|
|
462
|
+
- test/unit/helpers/command.rb
|
|
464
463
|
- test/unit/host_test.rb
|
|
465
464
|
- test/unit/hostgroup_test.rb
|
|
466
|
-
- test/unit/id_resolver_test.rb
|
|
467
465
|
- test/unit/image_test.rb
|
|
468
466
|
- test/unit/location_test.rb
|
|
469
467
|
- test/unit/mail_notification_test.rb
|
|
@@ -489,3 +487,5 @@ test_files:
|
|
|
489
487
|
- test/unit/test_output_adapter.rb
|
|
490
488
|
- test/unit/user_test.rb
|
|
491
489
|
- test/unit/usergroup_test.rb
|
|
490
|
+
- test/unit/commands_test.rb
|
|
491
|
+
- test/unit/id_resolver_test.rb
|