hammer_cli_foreman 3.6.0 → 3.8.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 +13 -0
- 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/utils.rb +7 -7
- 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/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/cs_CZ/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/ka/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/associating_commands_test.rb +2 -2
- data/test/functional/bookmark_test.rb +2 -2
- data/test/functional/commands/list_test.rb +4 -4
- 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/report_template_test.rb +4 -4
- data/test/functional/settings_test.rb +1 -1
- data/test/functional/virtual_machine_test.rb +4 -4
- data/test/test_helper.rb +0 -1
- data/test/unit/api/interactive_basic_auth_test.rb +2 -2
- data/test/unit/api/oauth/oauth_authentication_code_grant_test.rb +2 -2
- data/test/unit/api/oauth/oauth_password_grant_test.rb +2 -2
- data/test/unit/api/session_authenticator_wrapper_test.rb +7 -7
- data/test/unit/architecture_test.rb +12 -12
- data/test/unit/audit_test.rb +6 -6
- data/test/unit/auth_source_external.rb +5 -5
- data/test/unit/auth_source_ldap_test.rb +12 -12
- data/test/unit/bookmark_test.rb +12 -12
- data/test/unit/commands_test.rb +9 -9
- data/test/unit/common_parameter_test.rb +10 -10
- data/test/unit/compute_profile_test.rb +12 -12
- data/test/unit/compute_resource_test.rb +18 -18
- data/test/unit/config_report_test.rb +7 -7
- data/test/unit/domain_test.rb +16 -16
- data/test/unit/exception_handler_test.rb +1 -1
- data/test/unit/external_usergroup_test.rb +15 -15
- data/test/unit/fact_test.rb +3 -3
- data/test/unit/filter_test.rb +18 -18
- data/test/unit/helpers/command.rb +33 -33
- data/test/unit/helpers/resource_disabled.rb +1 -1
- data/test/unit/host_test.rb +35 -35
- data/test/unit/hostgroup_test.rb +18 -18
- data/test/unit/id_resolver_test.rb +1 -1
- data/test/unit/image_test.rb +15 -15
- data/test/unit/location_test.rb +12 -12
- data/test/unit/mail_notification_test.rb +6 -6
- data/test/unit/media_test.rb +12 -12
- data/test/unit/model_test.rb +12 -12
- data/test/unit/operating_system_test.rb +16 -16
- data/test/unit/option_builders_test.rb +2 -2
- data/test/unit/organization_test.rb +12 -12
- data/test/unit/output/formatters_test.rb +4 -4
- data/test/unit/param_filters_test.rb +2 -2
- data/test/unit/partition_table_test.rb +14 -14
- data/test/unit/realm_test.rb +12 -12
- data/test/unit/role_test.rb +14 -14
- data/test/unit/settings_test.rb +5 -5
- data/test/unit/smart_proxy_test.rb +14 -14
- data/test/unit/subnet_test.rb +12 -12
- data/test/unit/template_test.rb +16 -16
- data/test/unit/user_test.rb +12 -12
- data/test/unit/usergroup_test.rb +12 -12
- metadata +24 -22
data/test/unit/domain_test.rb
CHANGED
@@ -7,19 +7,19 @@ describe HammerCLIForeman::Domain do
|
|
7
7
|
|
8
8
|
include CommandTestHelper
|
9
9
|
|
10
|
-
|
10
|
+
describe "ListCommand" do
|
11
11
|
before do
|
12
12
|
ResourceMocks.mock_action_call(:domains, :index, [])
|
13
13
|
end
|
14
14
|
|
15
15
|
let(:cmd) { HammerCLIForeman::Domain::ListCommand.new("", ctx) }
|
16
16
|
|
17
|
-
|
17
|
+
describe "parameters" do
|
18
18
|
it_should_accept "no arguments"
|
19
19
|
it_should_accept_search_params
|
20
20
|
end
|
21
21
|
|
22
|
-
|
22
|
+
describe "output" do
|
23
23
|
let(:expected_record_count) { count_records(cmd.resource.call(:index)) }
|
24
24
|
|
25
25
|
it_should_print_n_records
|
@@ -29,17 +29,17 @@ describe HammerCLIForeman::Domain do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
|
32
|
-
|
32
|
+
describe "InfoCommand" do
|
33
33
|
|
34
34
|
let(:cmd) { HammerCLIForeman::Domain::InfoCommand.new("", ctx) }
|
35
35
|
|
36
|
-
|
36
|
+
describe "parameters" do
|
37
37
|
it_should_accept "id", ["--id=1"]
|
38
38
|
it_should_accept "name", ["--name=arch"]
|
39
39
|
# it_should_fail_with "no arguments" # TODO: temporarily disabled, parameters are checked in the id resolver
|
40
40
|
end
|
41
41
|
|
42
|
-
|
42
|
+
describe "output" do
|
43
43
|
with_params ["--id=1"] do
|
44
44
|
it_should_print_n_records 1
|
45
45
|
it_should_print_columns ["Id", "Name", "Created at", "Updated at"]
|
@@ -50,11 +50,11 @@ describe HammerCLIForeman::Domain do
|
|
50
50
|
end
|
51
51
|
|
52
52
|
|
53
|
-
|
53
|
+
describe "CreateCommand" do
|
54
54
|
|
55
55
|
let(:cmd) { HammerCLIForeman::Domain::CreateCommand.new("", ctx) }
|
56
56
|
|
57
|
-
|
57
|
+
describe "parameters" do
|
58
58
|
it_should_accept "name, fullname", ["--name=domain", "--description=full_domain_name"]
|
59
59
|
# it_should_fail_with "name missing", ["--full-name=full_domain_name"]
|
60
60
|
# TODO: temporarily disabled, parameters are checked in the api
|
@@ -63,11 +63,11 @@ describe HammerCLIForeman::Domain do
|
|
63
63
|
end
|
64
64
|
|
65
65
|
|
66
|
-
|
66
|
+
describe "DeleteCommand" do
|
67
67
|
|
68
68
|
let(:cmd) { HammerCLIForeman::Domain::DeleteCommand.new("", ctx) }
|
69
69
|
|
70
|
-
|
70
|
+
describe "parameters" do
|
71
71
|
it_should_accept "name", ["--name=domain"]
|
72
72
|
it_should_accept "id", ["--id=1"]
|
73
73
|
# it_should_fail_with "name or id missing", [] # TODO: temporarily disabled, parameters are checked in the id resolver
|
@@ -76,11 +76,11 @@ describe HammerCLIForeman::Domain do
|
|
76
76
|
end
|
77
77
|
|
78
78
|
|
79
|
-
|
79
|
+
describe "UpdateCommand" do
|
80
80
|
|
81
81
|
let(:cmd) { HammerCLIForeman::Domain::UpdateCommand.new("", ctx) }
|
82
82
|
|
83
|
-
|
83
|
+
describe "parameters" do
|
84
84
|
it_should_accept "name", ["--name=domain", "--new-name=domain2", "--description=full_domain_name"]
|
85
85
|
it_should_accept "id", ["--id=1", "--new-name=domain2", "--description=full_domain_name"]
|
86
86
|
# it_should_fail_with "no params", []
|
@@ -91,7 +91,7 @@ describe HammerCLIForeman::Domain do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
|
94
|
-
|
94
|
+
describe "SetParameterCommand" do
|
95
95
|
|
96
96
|
before :each do
|
97
97
|
ResourceMocks.parameters_index
|
@@ -99,7 +99,7 @@ describe HammerCLIForeman::Domain do
|
|
99
99
|
|
100
100
|
let(:cmd) { HammerCLIForeman::Domain::SetParameterCommand.new("", ctx) }
|
101
101
|
|
102
|
-
|
102
|
+
describe "parameters" do
|
103
103
|
it_should_accept "name, value and domain name", ["--name=name", "--value=val", "--domain=name"]
|
104
104
|
it_should_accept "name, value and domain id", ["--name=name", "--value=val", "--domain-id=1"]
|
105
105
|
it_should_accept "name, value, parameter type and domain name",
|
@@ -113,11 +113,11 @@ describe HammerCLIForeman::Domain do
|
|
113
113
|
end
|
114
114
|
|
115
115
|
|
116
|
-
|
116
|
+
describe "DeleteParameterCommand" do
|
117
117
|
|
118
118
|
let(:cmd) { HammerCLIForeman::Domain::DeleteParameterCommand.new("", ctx) }
|
119
119
|
|
120
|
-
|
120
|
+
describe "parameters" do
|
121
121
|
it_should_accept "name and domain name", ["--name=param", "--domain=name"]
|
122
122
|
it_should_accept "name and domain id", ["--name=param", "--domain-id=1"]
|
123
123
|
|
@@ -125,7 +125,7 @@ describe HammerCLIForeman::ExceptionHandler do
|
|
125
125
|
_(err_code).must_equal HammerCLI::EX_SOFTWARE
|
126
126
|
end
|
127
127
|
|
128
|
-
|
128
|
+
describe "redirects" do
|
129
129
|
let(:response) { HammerCLIForeman.foreman_api.api.send(:create_fake_response, 301, '', 'GET', 'http://foreman.example.com/api/architectures') }
|
130
130
|
it "should detect http to https redirection error" do
|
131
131
|
response.headers[:location] = 'https://foreman.example.com/api/architectures'
|
@@ -7,19 +7,19 @@ require 'hammer_cli_foreman/usergroup'
|
|
7
7
|
describe HammerCLIForeman::ExternalUsergroup do
|
8
8
|
include CommandTestHelper
|
9
9
|
|
10
|
-
|
10
|
+
describe "ListCommand" do
|
11
11
|
let(:cmd) { HammerCLIForeman::ExternalUsergroup::ListCommand.new("", ctx) }
|
12
12
|
|
13
13
|
before :each do
|
14
14
|
ResourceMocks.mock_action_call(:external_usergroups, :index, [])
|
15
15
|
end
|
16
16
|
|
17
|
-
|
17
|
+
describe "parameters" do
|
18
18
|
it_should_accept "user group name", ["--user-group=cr"]
|
19
19
|
it_should_accept "user group id", ["--user-group-id=1"]
|
20
20
|
end
|
21
21
|
|
22
|
-
|
22
|
+
describe "output" do
|
23
23
|
let(:expected_record_count) { count_records(cmd.resource.call(:index, :usergroup_id => 1)) }
|
24
24
|
|
25
25
|
with_params ["--user-group-id=1"] do
|
@@ -31,19 +31,19 @@ describe HammerCLIForeman::ExternalUsergroup do
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
|
34
|
+
describe "InfoCommand" do
|
35
35
|
let(:cmd) { HammerCLIForeman::ExternalUsergroup::InfoCommand.new("", ctx) }
|
36
36
|
|
37
37
|
before :each do
|
38
38
|
ResourceMocks.mock_action_call(:external_usergroups, :show, {})
|
39
39
|
end
|
40
40
|
|
41
|
-
|
41
|
+
describe "parameters" do
|
42
42
|
it_should_accept "user group name and external usergroup's id", ["--user-group=cr", "--id=1"]
|
43
43
|
it_should_accept "user group id and external usergroup's id", ["--user-group-id=1", "--id=1"]
|
44
44
|
end
|
45
45
|
|
46
|
-
|
46
|
+
describe "output" do
|
47
47
|
with_params ["--user-group-id=1", "--id=1"] do
|
48
48
|
it_should_print_column "Name"
|
49
49
|
it_should_print_column "Auth source"
|
@@ -51,19 +51,19 @@ describe HammerCLIForeman::ExternalUsergroup do
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
|
54
|
+
describe "RefreshExternalUsergroupsCommand" do
|
55
55
|
let(:cmd) { HammerCLIForeman::ExternalUsergroup::RefreshExternalUsergroupsCommand.new("", ctx) }
|
56
56
|
|
57
57
|
before :each do
|
58
58
|
ResourceMocks.mock_action_call(:external_usergroups, :refresh, [])
|
59
59
|
end
|
60
60
|
|
61
|
-
|
61
|
+
describe "parameters" do
|
62
62
|
it_should_accept "user group name and external usergroup's id", ["--user-group=cr", "--id=1"]
|
63
63
|
it_should_accept "user group id and external usergroup's id", ["--user-group-id=1", "--id=1"]
|
64
64
|
end
|
65
65
|
|
66
|
-
|
66
|
+
describe "output" do
|
67
67
|
with_params ["--user-group-id=1", "--id=1"] do
|
68
68
|
it_should_print_column "Name"
|
69
69
|
it_should_print_column "Auth source"
|
@@ -71,30 +71,30 @@ describe HammerCLIForeman::ExternalUsergroup do
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
-
|
74
|
+
describe "CreateCommand" do
|
75
75
|
let(:cmd) { HammerCLIForeman::ExternalUsergroup::CreateCommand.new("", ctx) }
|
76
76
|
|
77
|
-
|
77
|
+
describe "parameters" do
|
78
78
|
# it_should_fail_with "no name", ["--auth-source-id=1", "--user-group-id=1"]
|
79
79
|
it_should_accept "all required params", ["--name=aabbcc123", "--auth-source-id=1", "--user-group-id=1"]
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
83
|
|
84
|
-
|
84
|
+
describe "DeleteCommand" do
|
85
85
|
let(:cmd) { HammerCLIForeman::ExternalUsergroup::DeleteCommand.new("", ctx) }
|
86
86
|
|
87
|
-
|
87
|
+
describe "parameters" do
|
88
88
|
it_should_accept "id and user group's id", ["--id=1", "--user-group-id=1"]
|
89
89
|
it_should_accept "id and user group's name", ["--id=1", "--user-group=ec2"]
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
93
|
|
94
|
-
|
94
|
+
describe "UpdateCommand" do
|
95
95
|
let(:cmd) { HammerCLIForeman::ExternalUsergroup::UpdateCommand.new("", ctx) }
|
96
96
|
|
97
|
-
|
97
|
+
describe "parameters" do
|
98
98
|
it_should_accept "id and user group's id", ["--id=1", "--user-group-id=1"]
|
99
99
|
it_should_accept "id and user group's name", ["--id=1", "--user-group=ec2"]
|
100
100
|
it_should_accept "all available params", ["--id=1", "--name=img", "--auth-source-id=1", "--user-group-id=1"]
|
data/test/unit/fact_test.rb
CHANGED
@@ -7,7 +7,7 @@ describe HammerCLIForeman::Fact do
|
|
7
7
|
|
8
8
|
include CommandTestHelper
|
9
9
|
|
10
|
-
|
10
|
+
describe "ListCommand" do
|
11
11
|
|
12
12
|
let(:cmd) { HammerCLIForeman::Fact::ListCommand.new("", ctx) }
|
13
13
|
|
@@ -15,12 +15,12 @@ describe HammerCLIForeman::Fact do
|
|
15
15
|
ResourceMocks.facts_index
|
16
16
|
end
|
17
17
|
|
18
|
-
|
18
|
+
describe "parameters" do
|
19
19
|
it_should_accept "no arguments"
|
20
20
|
it_should_accept_search_params
|
21
21
|
end
|
22
22
|
|
23
|
-
|
23
|
+
describe "output" do
|
24
24
|
it_should_print_column "Host"
|
25
25
|
it_should_print_column "Fact"
|
26
26
|
it_should_print_column "Value"
|
data/test/unit/filter_test.rb
CHANGED
@@ -8,7 +8,7 @@ describe HammerCLIForeman::Filter do
|
|
8
8
|
include CommandTestHelper
|
9
9
|
|
10
10
|
|
11
|
-
|
11
|
+
describe "ListCommand" do
|
12
12
|
|
13
13
|
let(:cmd) { HammerCLIForeman::Filter::ListCommand.new("", ctx) }
|
14
14
|
|
@@ -16,12 +16,12 @@ describe HammerCLIForeman::Filter do
|
|
16
16
|
ResourceMocks.mock_action_call(:filters, :index, [])
|
17
17
|
end
|
18
18
|
|
19
|
-
|
19
|
+
describe "parameters" do
|
20
20
|
it_should_accept "no arguments"
|
21
21
|
it_should_accept_search_params
|
22
22
|
end
|
23
23
|
|
24
|
-
|
24
|
+
describe "output" do
|
25
25
|
it_should_print_column "Id"
|
26
26
|
it_should_print_column "Resource type"
|
27
27
|
it_should_print_column "Search"
|
@@ -31,7 +31,7 @@ describe HammerCLIForeman::Filter do
|
|
31
31
|
|
32
32
|
end
|
33
33
|
|
34
|
-
|
34
|
+
describe "InfoCommand" do
|
35
35
|
|
36
36
|
let(:cmd) { HammerCLIForeman::Filter::InfoCommand.new("", ctx) }
|
37
37
|
|
@@ -39,11 +39,11 @@ describe HammerCLIForeman::Filter do
|
|
39
39
|
ResourceMocks.mock_action_call(:filters, :show, {})
|
40
40
|
end
|
41
41
|
|
42
|
-
|
42
|
+
describe "parameters" do
|
43
43
|
it_should_accept "id", ["--id=1"]
|
44
44
|
end
|
45
45
|
|
46
|
-
|
46
|
+
describe "output" do
|
47
47
|
with_params ["--id=1"] do
|
48
48
|
it_should_print_n_records 1
|
49
49
|
it_should_print_column "Id"
|
@@ -57,7 +57,7 @@ describe HammerCLIForeman::Filter do
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
|
60
|
+
describe "CreateCommand" do
|
61
61
|
let(:cmd) { HammerCLIForeman::Filter::CreateCommand.new("", ctx) }
|
62
62
|
|
63
63
|
before do
|
@@ -65,7 +65,7 @@ describe HammerCLIForeman::Filter do
|
|
65
65
|
cmd.stubs(:option_override).returns(false)
|
66
66
|
end
|
67
67
|
|
68
|
-
|
68
|
+
describe "parameters" do
|
69
69
|
it_should_accept "role id and permission ids", ["--role-id=1", "--permission-ids=1,2"]
|
70
70
|
it_should_accept "role name and permission ids", ["--role=role", "--permission-ids=1,2"]
|
71
71
|
it_should_accept "role name, permission ids, search", ["--role=role", "--permission-ids=1,2", "--search='name=*'"]
|
@@ -73,16 +73,16 @@ describe HammerCLIForeman::Filter do
|
|
73
73
|
|
74
74
|
end
|
75
75
|
|
76
|
-
|
76
|
+
describe "DeleteCommand" do
|
77
77
|
|
78
78
|
let(:cmd) { HammerCLIForeman::Filter::DeleteCommand.new("", ctx) }
|
79
79
|
|
80
|
-
|
80
|
+
describe "parameters" do
|
81
81
|
it_should_accept "id", ["--id=1"]
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
|
-
|
85
|
+
describe "UpdateCommand" do
|
86
86
|
let(:cmd) { HammerCLIForeman::Filter::UpdateCommand.new("", ctx) }
|
87
87
|
|
88
88
|
before do
|
@@ -90,7 +90,7 @@ describe HammerCLIForeman::Filter do
|
|
90
90
|
cmd.stubs(:option_override).returns(false)
|
91
91
|
end
|
92
92
|
|
93
|
-
|
93
|
+
describe "parameters" do
|
94
94
|
it_should_accept "id, role id and permission ids", ["--id=1", "--role-id=1", "--permission-ids=1,2"]
|
95
95
|
it_should_accept "id, role name and permission ids", ["--id=1", "--role=role", "--permission-ids=1,2"]
|
96
96
|
it_should_accept "id, role name, permission ids, search", ["--id=1", "--role=role", "--permission-ids=1,2", "--search='name=*'"]
|
@@ -99,7 +99,7 @@ describe HammerCLIForeman::Filter do
|
|
99
99
|
end
|
100
100
|
|
101
101
|
|
102
|
-
|
102
|
+
describe "AvailablePermissionsCommand" do
|
103
103
|
|
104
104
|
let(:cmd) { HammerCLIForeman::Filter::AvailablePermissionsCommand.new("", ctx) }
|
105
105
|
|
@@ -107,12 +107,12 @@ describe HammerCLIForeman::Filter do
|
|
107
107
|
ResourceMocks.mock_action_call(:permissions, :index, [])
|
108
108
|
end
|
109
109
|
|
110
|
-
|
110
|
+
describe "parameters" do
|
111
111
|
it_should_accept "no arguments"
|
112
112
|
it_should_accept "pagination options", ["--page=2", "--per-page=10"]
|
113
113
|
end
|
114
114
|
|
115
|
-
|
115
|
+
describe "output" do
|
116
116
|
it_should_print_column "Id"
|
117
117
|
it_should_print_column "Name"
|
118
118
|
it_should_print_column "Resource"
|
@@ -120,7 +120,7 @@ describe HammerCLIForeman::Filter do
|
|
120
120
|
|
121
121
|
end
|
122
122
|
|
123
|
-
|
123
|
+
describe "AvailableResourcesCommand" do
|
124
124
|
|
125
125
|
let(:cmd) { HammerCLIForeman::Filter::AvailableResourcesCommand.new("", ctx) }
|
126
126
|
|
@@ -128,11 +128,11 @@ describe HammerCLIForeman::Filter do
|
|
128
128
|
ResourceMocks.mock_action_call(:permissions, :resource_types, [])
|
129
129
|
end
|
130
130
|
|
131
|
-
|
131
|
+
describe "parameters" do
|
132
132
|
it_should_accept "no arguments"
|
133
133
|
end
|
134
134
|
|
135
|
-
|
135
|
+
describe "output" do
|
136
136
|
it_should_print_column "Name"
|
137
137
|
end
|
138
138
|
|
@@ -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
|
|
@@ -61,9 +61,9 @@ module CommandTestHelper
|
|
61
61
|
module ClassMethods
|
62
62
|
|
63
63
|
def with_params(params, &block)
|
64
|
-
|
64
|
+
describe "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
|
@@ -4,7 +4,7 @@ module ResourceDisabled
|
|
4
4
|
|
5
5
|
def it_should_fail_when_disabled
|
6
6
|
arguments = @with_params ? @with_params.dup : []
|
7
|
-
|
7
|
+
describe "resource disabled" do
|
8
8
|
|
9
9
|
it "should return error" do
|
10
10
|
cmd.class.resource.stubs(:call).raises(RestClient::ResourceNotFound)
|