hammer_cli_katello 1.5.2 → 1.5.3
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 +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
|