hammer_cli_katello 1.5.2 → 1.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/hammer_cli_katello/content_export.rb +39 -0
- data/lib/hammer_cli_katello/content_export_helper.rb +64 -6
- data/lib/hammer_cli_katello/version.rb +1 -1
- data/test/data/4.5/foreman_api.json +1 -1
- data/test/functional/content_export/complete/version_test.rb +48 -3
- data/test/functional/content_export/generate_listing_test.rb +62 -0
- data/test/test_helper.rb +1 -1
- metadata +25 -26
- data/test/data/4.6/foreman_api.json +0 -1
@@ -27,9 +27,9 @@ describe 'content-export complete version' do
|
|
27
27
|
|
28
28
|
let(:export_history) do
|
29
29
|
{
|
30
|
-
"id"
|
31
|
-
"path"
|
32
|
-
"metadata"
|
30
|
+
"id" => 1000,
|
31
|
+
"path" => "/tmp",
|
32
|
+
"metadata" => {}
|
33
33
|
}
|
34
34
|
end
|
35
35
|
|
@@ -57,6 +57,24 @@ describe 'content-export complete version' do
|
|
57
57
|
assert_equal(HammerCLI::EX_OK, result.exit_code)
|
58
58
|
end
|
59
59
|
|
60
|
+
it "performs export with required options and async for syncable format" do
|
61
|
+
params = [
|
62
|
+
"--id=#{content_view_version_id}",
|
63
|
+
'--format=syncable',
|
64
|
+
'--async'
|
65
|
+
]
|
66
|
+
expects_repositories_in_version(content_view_version_id)
|
67
|
+
ex = api_expects(:content_exports, :version)
|
68
|
+
ex.returns(response)
|
69
|
+
|
70
|
+
result = run_cmd(@cmd + params)
|
71
|
+
|
72
|
+
assert_equal("Content view version is being exported in task #{task_id}.\n"\
|
73
|
+
+ "Once the task completes the listing files may be generated with the command:"\
|
74
|
+
+ "\n hammer content-export generate-listing --task-id #{task_id}\n", result.out)
|
75
|
+
assert_equal(HammerCLI::EX_OK, result.exit_code)
|
76
|
+
end
|
77
|
+
|
60
78
|
it "performs export with required options" do
|
61
79
|
params = [
|
62
80
|
"--id=#{content_view_version_id}",
|
@@ -78,6 +96,33 @@ describe 'content-export complete version' do
|
|
78
96
|
assert_equal(HammerCLI::EX_OK, result.exit_code)
|
79
97
|
end
|
80
98
|
|
99
|
+
it "performs export with format" do
|
100
|
+
params = [
|
101
|
+
"--id=#{content_view_version_id}",
|
102
|
+
'--format=syncable'
|
103
|
+
]
|
104
|
+
expects_repositories_in_version(content_view_version_id)
|
105
|
+
ex = api_expects(:content_exports, :version)
|
106
|
+
ex.returns(response)
|
107
|
+
|
108
|
+
expect_foreman_task(task_id).at_least_once
|
109
|
+
path = "/foo/bar"
|
110
|
+
syncable_export_history = {
|
111
|
+
"id" => 1000,
|
112
|
+
"path" => path,
|
113
|
+
"metadata" => {"format" => "syncable"}
|
114
|
+
}
|
115
|
+
HammerCLIKatello::ContentExportComplete::VersionCommand.
|
116
|
+
any_instance.
|
117
|
+
expects(:fetch_export_history).
|
118
|
+
returns(syncable_export_history)
|
119
|
+
|
120
|
+
result = run_cmd(@cmd + params)
|
121
|
+
assert_match(/Generated/, result.out)
|
122
|
+
assert_match(path, result.out)
|
123
|
+
assert_equal(HammerCLI::EX_OK, result.exit_code)
|
124
|
+
end
|
125
|
+
|
81
126
|
it 'fails on missing required params' do
|
82
127
|
params = [
|
83
128
|
'--boo-id=2'
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '../../test_helper')
|
2
|
+
require 'hammer_cli_katello/content_export'
|
3
|
+
|
4
|
+
describe('content-export generate-listing') do
|
5
|
+
include ForemanTaskHelpers
|
6
|
+
|
7
|
+
before do
|
8
|
+
@cmd = %w(content-export generate-listing)
|
9
|
+
@params = []
|
10
|
+
@export_history_id = 100
|
11
|
+
@path = '/tmp'
|
12
|
+
@export_history = {
|
13
|
+
'id' => @export_history_id,
|
14
|
+
'path' => @path,
|
15
|
+
'metadata' => {'format' => 'syncable'}
|
16
|
+
}
|
17
|
+
@task_id = SecureRandom.uuid
|
18
|
+
end
|
19
|
+
|
20
|
+
let(:cmd) { @cmd + @params }
|
21
|
+
let(:result) { run_cmd(cmd) }
|
22
|
+
|
23
|
+
describe('given an export history id') do
|
24
|
+
it('loads export history by id') do
|
25
|
+
@params = ["--id=#{@export_history_id}"]
|
26
|
+
|
27
|
+
HammerCLIKatello::ContentExport::GenerateListingCommand.
|
28
|
+
any_instance.
|
29
|
+
expects(:fetch_export_history).
|
30
|
+
returns(@export_history)
|
31
|
+
assert_match(/Generated/, result.out)
|
32
|
+
assert_match(@path, result.out)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe('given a task id') do
|
37
|
+
it('loads export history based on the task') do
|
38
|
+
@params = ["--task-id=#{@task_id}"]
|
39
|
+
|
40
|
+
HammerCLIKatello::ContentExport::GenerateListingCommand.
|
41
|
+
any_instance.
|
42
|
+
expects(:reload_task).
|
43
|
+
returns('id' => 'taskid')
|
44
|
+
|
45
|
+
HammerCLIKatello::ContentExport::GenerateListingCommand.
|
46
|
+
any_instance.
|
47
|
+
expects(:fetch_export_history).
|
48
|
+
returns(@export_history)
|
49
|
+
|
50
|
+
assert_match(/Generated/, result.out)
|
51
|
+
assert_match(@path, result.out)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe('given no arguments') do
|
56
|
+
it('tells the user to verify the arguments') do
|
57
|
+
expected = "Error: No export history was found. Verify the value given for "\
|
58
|
+
+ "--task-id or --id\n"
|
59
|
+
assert_equal(expected, result.err)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -17,7 +17,7 @@ require 'minitest/spec'
|
|
17
17
|
require 'mocha/minitest'
|
18
18
|
require 'hammer_cli'
|
19
19
|
|
20
|
-
KATELLO_VERSION = Gem::Version.new(ENV['TEST_API_VERSION'] || '4.
|
20
|
+
KATELLO_VERSION = Gem::Version.new(ENV['TEST_API_VERSION'] || '4.5')
|
21
21
|
|
22
22
|
if HammerCLI.context[:api_connection]
|
23
23
|
HammerCLI.context[:api_connection].create('foreman') do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hammer_cli_katello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Price
|
@@ -35,62 +35,62 @@ authors:
|
|
35
35
|
autorequire:
|
36
36
|
bindir: bin
|
37
37
|
cert_chain: []
|
38
|
-
date: 2022-
|
38
|
+
date: 2022-09-28 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: hammer_cli_foreman
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- -
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '0'
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '0'
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
55
|
name: hammer_cli_foreman_tasks
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
type: :runtime
|
62
62
|
prerelease: false
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- -
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '0'
|
68
68
|
- !ruby/object:Gem::Dependency
|
69
69
|
name: rake
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
type: :development
|
76
76
|
prerelease: false
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- -
|
79
|
+
- - ">="
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '0'
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: thor
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- -
|
86
|
+
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
91
|
version_requirements: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- -
|
93
|
+
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: '0'
|
96
96
|
- !ruby/object:Gem::Dependency
|
@@ -111,56 +111,56 @@ dependencies:
|
|
111
111
|
name: minitest-spec-context
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- -
|
114
|
+
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
117
|
type: :development
|
118
118
|
prerelease: false
|
119
119
|
version_requirements: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
|
-
- -
|
121
|
+
- - ">="
|
122
122
|
- !ruby/object:Gem::Version
|
123
123
|
version: '0'
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: simplecov
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
|
-
- -
|
128
|
+
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '0'
|
131
131
|
type: :development
|
132
132
|
prerelease: false
|
133
133
|
version_requirements: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
|
-
- -
|
135
|
+
- - ">="
|
136
136
|
- !ruby/object:Gem::Version
|
137
137
|
version: '0'
|
138
138
|
- !ruby/object:Gem::Dependency
|
139
139
|
name: mocha
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- -
|
142
|
+
- - ">="
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
145
|
type: :development
|
146
146
|
prerelease: false
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- -
|
149
|
+
- - ">="
|
150
150
|
- !ruby/object:Gem::Version
|
151
151
|
version: '0'
|
152
152
|
- !ruby/object:Gem::Dependency
|
153
153
|
name: ci_reporter
|
154
154
|
requirement: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
|
-
- -
|
156
|
+
- - ">="
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: '0'
|
159
159
|
type: :development
|
160
160
|
prerelease: false
|
161
161
|
version_requirements: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
|
-
- -
|
163
|
+
- - ">="
|
164
164
|
- !ruby/object:Gem::Version
|
165
165
|
version: '0'
|
166
166
|
- !ruby/object:Gem::Dependency
|
@@ -181,14 +181,14 @@ dependencies:
|
|
181
181
|
name: rubocop-checkstyle_formatter
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
|
-
- -
|
184
|
+
- - ">="
|
185
185
|
- !ruby/object:Gem::Version
|
186
186
|
version: '0'
|
187
187
|
type: :development
|
188
188
|
prerelease: false
|
189
189
|
version_requirements: !ruby/object:Gem::Requirement
|
190
190
|
requirements:
|
191
|
-
- -
|
191
|
+
- - ">="
|
192
192
|
- !ruby/object:Gem::Version
|
193
193
|
version: '0'
|
194
194
|
description: Hammer-CLI-Katello is a plugin for Hammer to provide connectivity to
|
@@ -321,7 +321,6 @@ files:
|
|
321
321
|
- test/data/4.3/foreman_api.json
|
322
322
|
- test/data/4.4/foreman_api.json
|
323
323
|
- test/data/4.5/foreman_api.json
|
324
|
-
- test/data/4.6/foreman_api.json
|
325
324
|
- test/data/Readme.md
|
326
325
|
- test/functional/acs/create_test.rb
|
327
326
|
- test/functional/acs/delete_test.rb
|
@@ -360,6 +359,7 @@ files:
|
|
360
359
|
- test/functional/content_export/complete/repository_test.rb
|
361
360
|
- test/functional/content_export/complete/version_test.rb
|
362
361
|
- test/functional/content_export/content_export_helpers.rb
|
362
|
+
- test/functional/content_export/generate_listing_test.rb
|
363
363
|
- test/functional/content_export/generate_metadata_test.rb
|
364
364
|
- test/functional/content_export/incremental/library_test.rb
|
365
365
|
- test/functional/content_export/incremental/repository_test.rb
|
@@ -514,17 +514,16 @@ require_paths:
|
|
514
514
|
- lib
|
515
515
|
required_ruby_version: !ruby/object:Gem::Requirement
|
516
516
|
requirements:
|
517
|
-
- -
|
517
|
+
- - ">="
|
518
518
|
- !ruby/object:Gem::Version
|
519
519
|
version: '0'
|
520
520
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
521
521
|
requirements:
|
522
|
-
- -
|
522
|
+
- - ">="
|
523
523
|
- !ruby/object:Gem::Version
|
524
524
|
version: '0'
|
525
525
|
requirements: []
|
526
|
-
|
527
|
-
rubygems_version: 2.0.14.1
|
526
|
+
rubygems_version: 3.1.6
|
528
527
|
signing_key:
|
529
528
|
specification_version: 4
|
530
529
|
summary: Katello commands for Hammer
|
@@ -553,7 +552,6 @@ test_files:
|
|
553
552
|
- test/data/4.3/foreman_api.json
|
554
553
|
- test/data/4.4/foreman_api.json
|
555
554
|
- test/data/4.5/foreman_api.json
|
556
|
-
- test/data/4.6/foreman_api.json
|
557
555
|
- test/data/Readme.md
|
558
556
|
- test/functional/acs/create_test.rb
|
559
557
|
- test/functional/acs/delete_test.rb
|
@@ -592,6 +590,7 @@ test_files:
|
|
592
590
|
- test/functional/content_export/complete/repository_test.rb
|
593
591
|
- test/functional/content_export/complete/version_test.rb
|
594
592
|
- test/functional/content_export/content_export_helpers.rb
|
593
|
+
- test/functional/content_export/generate_listing_test.rb
|
595
594
|
- test/functional/content_export/generate_metadata_test.rb
|
596
595
|
- test/functional/content_export/incremental/library_test.rb
|
597
596
|
- test/functional/content_export/incremental/repository_test.rb
|