hammer_cli_katello 0.3.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hammer_cli_katello.rb +0 -1
  3. data/lib/hammer_cli_katello/activation_key.rb +12 -29
  4. data/lib/hammer_cli_katello/composite_content_view_name_resolvable.rb +6 -8
  5. data/lib/hammer_cli_katello/content_override.rb +48 -0
  6. data/lib/hammer_cli_katello/content_view.rb +98 -5
  7. data/lib/hammer_cli_katello/content_view_name_resolvable.rb +4 -6
  8. data/lib/hammer_cli_katello/content_view_purge.rb +92 -0
  9. data/lib/hammer_cli_katello/content_view_version.rb +13 -0
  10. data/lib/hammer_cli_katello/erratum.rb +9 -0
  11. data/lib/hammer_cli_katello/filter_rule.rb +3 -4
  12. data/lib/hammer_cli_katello/host_collection.rb +8 -2
  13. data/lib/hammer_cli_katello/host_errata.rb +1 -1
  14. data/lib/hammer_cli_katello/host_subscription.rb +25 -0
  15. data/lib/hammer_cli_katello/hostgroup_extensions.rb +7 -6
  16. data/lib/hammer_cli_katello/id_resolver.rb +13 -4
  17. data/lib/hammer_cli_katello/katello_environment_name_resolvable.rb +4 -6
  18. data/lib/hammer_cli_katello/lifecycle_environment_name_resolvable.rb +4 -6
  19. data/lib/hammer_cli_katello/organization.rb +1 -0
  20. data/lib/hammer_cli_katello/package.rb +16 -3
  21. data/lib/hammer_cli_katello/package_group.rb +16 -2
  22. data/lib/hammer_cli_katello/product_content.rb +36 -0
  23. data/lib/hammer_cli_katello/repository.rb +48 -7
  24. data/lib/hammer_cli_katello/version.rb +1 -1
  25. data/test/data/3.4/foreman_api.json +1 -0
  26. data/test/functional/{activaton_key → activation_key}/add_host_collection_test.rb +0 -0
  27. data/test/functional/activation_key/content_override_test.rb +91 -0
  28. data/test/functional/{activaton_key → activation_key}/create_test.rb +0 -0
  29. data/test/functional/{activaton_key → activation_key}/list_test.rb +0 -0
  30. data/test/functional/{activaton_key → activation_key}/product_content_test.rb +0 -0
  31. data/test/functional/{activaton_key → activation_key}/remove_host_collection_test.rb +0 -0
  32. data/test/functional/{activaton_key → activation_key}/subscriptions_test.rb +0 -0
  33. data/test/functional/{activaton_key → activation_key}/update_test.rb +0 -0
  34. data/test/functional/content_view/add_content_view_version_test.rb +57 -3
  35. data/test/functional/content_view/add_repository_test.rb +1 -0
  36. data/test/functional/content_view/copy_test.rb +53 -0
  37. data/test/functional/content_view/delete_test.rb +62 -0
  38. data/test/functional/content_view/publish_test.rb +1 -0
  39. data/test/functional/content_view/puppet_module/add_test.rb +1 -0
  40. data/test/functional/content_view/purge_test.rb +72 -0
  41. data/test/functional/content_view/remove_content_view_version_test.rb +57 -3
  42. data/test/functional/content_view/remove_test.rb +78 -0
  43. data/test/functional/content_view/update_test.rb +53 -0
  44. data/test/functional/content_view/version/republish_repositories_test.rb +35 -0
  45. data/test/functional/erratum/list_test.rb +108 -0
  46. data/test/functional/host/subscription/content_override_test.rb +95 -0
  47. data/test/functional/host/subscription/product_content_test.rb +27 -0
  48. data/test/functional/host_collection/content_api_expectations.rb +35 -0
  49. data/test/functional/host_collection/content_install_test.rb +42 -17
  50. data/test/functional/host_collection/content_remove_test.rb +22 -12
  51. data/test/functional/host_collection/content_update_test.rb +22 -12
  52. data/test/functional/hostgroup/create_test.rb +6 -0
  53. data/test/functional/hostgroup/data/hostgroup.json +2 -2
  54. data/test/functional/hostgroup/info_test.rb +2 -1
  55. data/test/functional/hostgroup/update_test.rb +12 -0
  56. data/test/functional/package/list_test.rb +89 -18
  57. data/test/functional/package_group/list_test.rb +33 -0
  58. data/test/functional/repository/export_test.rb +121 -0
  59. data/test/functional/repository/remove_content_test.rb +98 -8
  60. data/test/functional/repository/update_test.rb +108 -0
  61. data/test/functional/repository/upload_test.rb +73 -3
  62. data/test/test_helper.rb +1 -1
  63. data/test/unit/id_resolver_test.rb +26 -0
  64. metadata +54 -21
@@ -1,18 +1,108 @@
1
1
  require_relative '../test_helper'
2
+ require_relative '../organization/organization_helpers'
2
3
  require 'hammer_cli_katello/repository'
3
4
 
4
5
  module HammerCLIKatello
5
6
  describe Repository::RemoveContentCommand do
6
- it 'allows minimal parameters' do
7
- api_expects(:repositories, :remove_content) { |p| p['id'] == '1' && p['ids'] == %w(1) }
8
- run_cmd(%w(repository remove-content --ids 1 --id 1))
7
+ include OrganizationHelpers
8
+
9
+ it 'allows minimal options' do
10
+ api_expects(:repositories, :remove_content) do |p|
11
+ p['id'] == '1' && p['ids'] == %w(20 21 22)
12
+ end
13
+
14
+ run_cmd(%w(repository remove-content --id 1 --ids 20,21,22))
9
15
  end
10
16
 
11
- it 'resolves repository id' do
12
- api_expects(:repositories, :index) { |p| p['name'] == 'repo1' }
13
- .returns(index_response([{'id' => '1'}]))
14
- api_expects(:repositories, :remove_content) { |p| p['id'] == '1' && p['ids'] == %w(1) }
15
- run_cmd(%w(repository remove-content --ids 1 --name repo1))
17
+ describe 'resolves repository ID' do
18
+ it 'by requiring product' do
19
+ api_expects_no_call
20
+ result = run_cmd(%w(repository remove-content --name repo1 --ids 20,21,22))
21
+ assert(result.err[/--product, --product-id is required/], 'Incorrect error message')
22
+ end
23
+
24
+ it 'by product ID' do
25
+ ex = api_expects(:repositories, :index) do |p|
26
+ p['name'] == 'repo1' && p['product_id'] == 3
27
+ end
28
+ ex.returns(index_response([{'id' => 1}]))
29
+
30
+ api_expects(:repositories, :remove_content) do |p|
31
+ p['id'] == 1 && p['ids'] == %w(20 21 22)
32
+ end
33
+
34
+ run_cmd(%w(repository remove-content --name repo1 --product-id 3 --ids 20,21,22))
35
+ end
36
+ end
37
+
38
+ describe 'resolves product ID' do
39
+ it 'by requiring organization options' do
40
+ api_expects_no_call
41
+ result = run_cmd(%w(repository remove-content --name repo1 --product prod1 --ids 20,21,22))
42
+ assert(result.err[/--organization-id, --organization, --organization-label is required/],
43
+ "Organization option requirements must be validated")
44
+ end
45
+
46
+ it 'by organization ID' do
47
+ ex = api_expects(:products, :index) do |p|
48
+ p['name'] == 'prod3' && p['organization_id'] == '5'
49
+ end
50
+ ex.returns(index_response([{'id' => 3}]))
51
+
52
+ ex = api_expects(:repositories, :index) do |p|
53
+ p['name'] == 'repo1' && p['product_id'] == 3
54
+ end
55
+ ex.returns(index_response([{'id' => 1}]))
56
+
57
+ api_expects(:repositories, :remove_content) do |p|
58
+ p['id'] == 1 && p['ids'] == %w(20 21 22)
59
+ end
60
+
61
+ run_cmd(%w(repository remove-content --name repo1 --product prod3 --organization-id 5
62
+ --ids 20,21,22))
63
+ end
64
+
65
+ it 'by organization name' do
66
+ expect_organization_search('org5', 5)
67
+
68
+ ex = api_expects(:products, :index) do |p|
69
+ p['name'] == 'prod3' && p['organization_id'] == 5
70
+ end
71
+ ex.returns(index_response([{'id' => 3}]))
72
+
73
+ ex = api_expects(:repositories, :index) do |p|
74
+ p['name'] == 'repo1' && p['product_id'] == 3
75
+ end
76
+ ex.returns(index_response([{'id' => 1}]))
77
+
78
+ api_expects(:repositories, :remove_content) do |p|
79
+ p['id'] == 1 && p['ids'] == %w(20 21 22)
80
+ end
81
+
82
+ run_cmd(%w(repository remove-content --name repo1 --product prod3 --organization org5
83
+ --ids 20,21,22))
84
+ end
85
+
86
+ it 'by organization label' do
87
+ expect_organization_search('org5', 5, field: 'label')
88
+
89
+ ex = api_expects(:products, :index) do |p|
90
+ p['name'] == 'prod3' && p['organization_id'] == 5
91
+ end
92
+ ex.returns(index_response([{'id' => 3}]))
93
+
94
+ ex = api_expects(:repositories, :index) do |p|
95
+ p['name'] == 'repo1' && p['product_id'] == 3
96
+ end
97
+ ex.returns(index_response([{'id' => 1}]))
98
+
99
+ api_expects(:repositories, :remove_content) do |p|
100
+ p['id'] == 1 && p['ids'] == %w(20 21 22)
101
+ end
102
+
103
+ run_cmd(%w(repository remove-content --name repo1 --product prod3 --organization-label org5
104
+ --ids 20,21,22))
105
+ end
16
106
  end
17
107
  end
18
108
  end
@@ -0,0 +1,108 @@
1
+ require_relative '../test_helper'
2
+ require_relative '../organization/organization_helpers'
3
+ require 'hammer_cli_katello/repository'
4
+
5
+ module HammerCLIKatello
6
+ describe Repository::UpdateCommand do
7
+ include OrganizationHelpers
8
+
9
+ it 'allows minimal options' do
10
+ api_expects(:repositories, :update) do |p|
11
+ p['id'] == '1' && p['name'] == 'rep1'
12
+ end
13
+
14
+ run_cmd(%w(repository update --id 1 --new-name rep1))
15
+ end
16
+
17
+ describe 'resolves repository ID' do
18
+ it 'by requiring product' do
19
+ api_expects_no_call
20
+ result = run_cmd(%w(repository update --name repo1 --new-name rep1))
21
+ assert(result.err[/--product, --product-id is required/], 'Incorrect error message')
22
+ end
23
+
24
+ it 'by product ID' do
25
+ ex = api_expects(:repositories, :index) do |p|
26
+ p['name'] == 'repo1' && p['product_id'] == 3
27
+ end
28
+ ex.returns(index_response([{'id' => 1}]))
29
+
30
+ api_expects(:repositories, :update) do |p|
31
+ p['id'] == 1 && p['name'] == 'rep1'
32
+ end
33
+
34
+ run_cmd(%w(repository update --name repo1 --product-id 3 --new-name rep1))
35
+ end
36
+ end
37
+
38
+ describe 'resolves product ID' do
39
+ it 'by requiring organization options' do
40
+ api_expects_no_call
41
+ result = run_cmd(%w(repository update --name repo1 --product prod1 --new-name rep1))
42
+ assert(result.err[/--organization-id, --organization, --organization-label is required/],
43
+ "Organization option requirements must be validated")
44
+ end
45
+
46
+ it 'by organization ID' do
47
+ ex = api_expects(:products, :index) do |p|
48
+ p['name'] == 'prod3' && p['organization_id'] == '5'
49
+ end
50
+ ex.returns(index_response([{'id' => 3}]))
51
+
52
+ ex = api_expects(:repositories, :index) do |p|
53
+ p['name'] == 'repo1' && p['product_id'] == 3
54
+ end
55
+ ex.returns(index_response([{'id' => 1}]))
56
+
57
+ api_expects(:repositories, :update) do |p|
58
+ p['id'] == 1 && p['name'] == 'rep1'
59
+ end
60
+
61
+ run_cmd(%w(repository update --name repo1 --product prod3 --organization-id 5
62
+ --new-name rep1))
63
+ end
64
+
65
+ it 'by organization name' do
66
+ expect_organization_search('org5', 5)
67
+
68
+ ex = api_expects(:products, :index) do |p|
69
+ p['name'] == 'prod3' && p['organization_id'] == 5
70
+ end
71
+ ex.returns(index_response([{'id' => 3}]))
72
+
73
+ ex = api_expects(:repositories, :index) do |p|
74
+ p['name'] == 'repo1' && p['product_id'] == 3
75
+ end
76
+ ex.returns(index_response([{'id' => 1}]))
77
+
78
+ api_expects(:repositories, :update) do |p|
79
+ p['id'] == 1 && p['name'] == 'rep1'
80
+ end
81
+
82
+ run_cmd(%w(repository update --name repo1 --product prod3 --organization org5
83
+ --new-name rep1))
84
+ end
85
+
86
+ it 'by organization label' do
87
+ expect_organization_search('org5', 5, field: 'label')
88
+
89
+ ex = api_expects(:products, :index) do |p|
90
+ p['name'] == 'prod3' && p['organization_id'] == 5
91
+ end
92
+ ex.returns(index_response([{'id' => 3}]))
93
+
94
+ ex = api_expects(:repositories, :index) do |p|
95
+ p['name'] == 'repo1' && p['product_id'] == 3
96
+ end
97
+ ex.returns(index_response([{'id' => 1}]))
98
+
99
+ api_expects(:repositories, :update) do |p|
100
+ p['id'] == 1 && p['name'] == 'rep1'
101
+ end
102
+
103
+ run_cmd(%w(repository update --name repo1 --product prod3 --organization-label org5
104
+ --new-name rep1))
105
+ end
106
+ end
107
+ end
108
+ end
@@ -5,6 +5,7 @@ require File.join(File.dirname(__FILE__), './repository_helpers')
5
5
  describe 'upload repository' do
6
6
  include ProductHelpers
7
7
  include RepositoryHelpers
8
+ include ForemanTaskHelpers
8
9
 
9
10
  before do
10
11
  @cmd = %w(repository upload-content)
@@ -41,7 +42,8 @@ describe 'upload repository' do
41
42
  :size => 0,
42
43
  :checksum => 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
43
44
  }
44
- par[:id] == repo_id.to_s && par[:uploads] == [upload]
45
+ par[:id] == repo_id.to_s && par[:uploads] == [upload] && par[:sync_capsule] == true &&
46
+ par[:publish_repository] == true
45
47
  end
46
48
 
47
49
  ex2.returns("")
@@ -80,7 +82,8 @@ describe 'upload repository' do
80
82
  :size => 0,
81
83
  :checksum => 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
82
84
  }
83
- par[:id] == repo_id && par[:uploads] == [upload]
85
+ par[:id] == repo_id && par[:uploads] == [upload] && par[:sync_capsule] == true &&
86
+ par[:publish_repository] == true
84
87
  end
85
88
 
86
89
  ex2.returns("")
@@ -114,7 +117,8 @@ describe 'upload repository' do
114
117
  :size => 0,
115
118
  :checksum => 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
116
119
  }
117
- par[:id] == repo_id.to_s && par[:uploads] == [upload]
120
+ par[:id] == repo_id.to_s && par[:uploads] == [upload] && par[:sync_capsule] == true &&
121
+ par[:publish_repository] == true
118
122
  end
119
123
 
120
124
  ex2.returns("")
@@ -130,6 +134,72 @@ describe 'upload repository' do
130
134
  File.delete("test.rpm")
131
135
  end
132
136
 
137
+ it "only syncs the capsule on the last file import" do
138
+ File.new("test1.rpm", "w")
139
+ File.new("test2.rpm", "w")
140
+
141
+ params = ["--id=#{repo_id}", "--path=test*.rpm"]
142
+
143
+ # Begin first upload cycle
144
+
145
+ ex = api_expects(:content_uploads, :create, "Create upload for content") do |par|
146
+ par[:repository_id] == repo_id.to_s
147
+ end
148
+
149
+ ex.returns(upload_response)
150
+
151
+ ex = api_expects(:repositories, :import_uploads, 'Take in an upload') do |par|
152
+ upload = {
153
+ :id => '1234',
154
+ :name => 'test1.rpm',
155
+ :size => 0,
156
+ :checksum => 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
157
+ }
158
+ par[:id] == repo_id.to_s && par[:uploads] == [upload] && par[:sync_capsule] == false &&
159
+ par[:publish_repository] == false
160
+ end
161
+
162
+ ex.returns("")
163
+
164
+ ex = api_expects(:content_uploads, :destroy, "Delete the upload") do |par|
165
+ par[:id] == upload_id && par[:repository_id] == repo_id.to_s
166
+ end
167
+
168
+ ex.returns("")
169
+
170
+ # Begin second upload cycle
171
+
172
+ ex = api_expects(:content_uploads, :create, "Create upload for content") do |par|
173
+ par[:repository_id] == repo_id.to_s
174
+ end
175
+
176
+ ex.returns(upload_response)
177
+
178
+ ex = api_expects(:repositories, :import_uploads, 'Take in an upload') do |par|
179
+ upload = {
180
+ :id => '1234',
181
+ :name => 'test2.rpm',
182
+ :size => 0,
183
+ :checksum => 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
184
+ }
185
+ par[:id] == repo_id.to_s && par[:uploads] == [upload] && par[:sync_capsule] == true &&
186
+ par[:publish_repository] == true
187
+ end
188
+
189
+ ex.returns("")
190
+
191
+ ex = api_expects(:content_uploads, :destroy, "Delete the upload") do |par|
192
+ par[:id] == upload_id && par[:repository_id] == repo_id.to_s
193
+ end
194
+
195
+ ex.returns("")
196
+
197
+ result = run_cmd(@cmd + params)
198
+ assert_equal(result.exit_code, 0)
199
+ File.delete("test1.rpm")
200
+ File.delete("test2.rpm")
201
+ end
202
+
133
203
  it "errors if there are no matching files" do
134
204
  params = ["--id=#{repo_id}", "--path=#{path}"]
135
205
 
@@ -17,7 +17,7 @@ require 'minitest/spec'
17
17
  require 'mocha/setup'
18
18
  require 'hammer_cli'
19
19
 
20
- KATELLO_VERSION = Gem::Version.new(ENV['TEST_API_VERSION'] || '3.2')
20
+ KATELLO_VERSION = Gem::Version.new(ENV['TEST_API_VERSION'] || '3.4')
21
21
 
22
22
  if HammerCLI.context[:api_connection]
23
23
  HammerCLI.context[:api_connection].create('foreman') do
@@ -9,6 +9,7 @@ module HammerCLIKatello
9
9
 
10
10
  before(:each) do
11
11
  api.stubs(:resources).returns([])
12
+ api.stubs(:resource).returns([])
12
13
  end
13
14
 
14
15
  describe '#repository_ids' do
@@ -43,5 +44,30 @@ module HammerCLIKatello
43
44
  id_resolver.repository_id(options).must_equal 5
44
45
  end
45
46
  end
47
+
48
+ describe '#content_view_version_id' do
49
+ it 'resolves ID from version number' do
50
+ options = {'option_version' => '2.0', 'option_content_view_id' => 4}
51
+ id_resolver.expects(:find_resources)
52
+ .with(:content_view_versions, options)
53
+ .returns(['id' => 5])
54
+ id_resolver.content_view_version_id(options).must_equal 5
55
+ end
56
+ end
57
+
58
+ describe '#content_view_version_ids' do
59
+ it 'resolves IDs from version numbers' do
60
+ versions = %w(2.0 3.0)
61
+ version_ids = [2, 3]
62
+ response = "{\"id\"=>2},{\"id\"=>3}"
63
+ options = {'option_versions' => versions, 'option_content_view_id' => 4}
64
+ versions.each_with_index do |version, i|
65
+ id_resolver.expects(:content_view_version_id)
66
+ .with(options.merge('option_version' => version))
67
+ .returns(['id' => version_ids[i]])
68
+ end
69
+ id_resolver.content_view_version_ids(options).must_equal response
70
+ end
71
+ end
46
72
  end
47
73
  end
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: 0.3.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Price
@@ -34,7 +34,7 @@ authors:
34
34
  autorequire:
35
35
  bindir: bin
36
36
  cert_chain: []
37
- date: 2016-12-21 00:00:00.000000000 Z
37
+ date: 2017-03-30 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: hammer_cli_foreman
@@ -42,28 +42,28 @@ dependencies:
42
42
  requirements:
43
43
  - - "~>"
44
44
  - !ruby/object:Gem::Version
45
- version: '0.6'
45
+ version: '0.10'
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: '0.6'
52
+ version: '0.10'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: hammer_cli_foreman_tasks
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: 0.0.3
59
+ version: 0.0.10
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: 0.0.3
66
+ version: 0.0.10
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: hammer_cli_foreman_bootdisk
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -233,10 +233,12 @@ files:
233
233
  - lib/hammer_cli_katello/capsule.rb
234
234
  - lib/hammer_cli_katello/commands.rb
235
235
  - lib/hammer_cli_katello/composite_content_view_name_resolvable.rb
236
+ - lib/hammer_cli_katello/content_override.rb
236
237
  - lib/hammer_cli_katello/content_view.rb
237
238
  - lib/hammer_cli_katello/content_view_component.rb
238
239
  - lib/hammer_cli_katello/content_view_name_resolvable.rb
239
240
  - lib/hammer_cli_katello/content_view_puppet_module.rb
241
+ - lib/hammer_cli_katello/content_view_purge.rb
240
242
  - lib/hammer_cli_katello/content_view_version.rb
241
243
  - lib/hammer_cli_katello/erratum.rb
242
244
  - lib/hammer_cli_katello/exception_handler.rb
@@ -271,6 +273,7 @@ files:
271
273
  - lib/hammer_cli_katello/package_group.rb
272
274
  - lib/hammer_cli_katello/ping.rb
273
275
  - lib/hammer_cli_katello/product.rb
276
+ - lib/hammer_cli_katello/product_content.rb
274
277
  - lib/hammer_cli_katello/puppet_module.rb
275
278
  - lib/hammer_cli_katello/repository.rb
276
279
  - lib/hammer_cli_katello/repository_scoped_to_product.rb
@@ -298,14 +301,16 @@ files:
298
301
  - test/data/2.5/foreman_api.json
299
302
  - test/data/3.0/foreman_api.json
300
303
  - test/data/3.2/foreman_api.json
304
+ - test/data/3.4/foreman_api.json
301
305
  - test/data/Readme.md
302
- - test/functional/activaton_key/add_host_collection_test.rb
303
- - test/functional/activaton_key/create_test.rb
304
- - test/functional/activaton_key/list_test.rb
305
- - test/functional/activaton_key/product_content_test.rb
306
- - test/functional/activaton_key/remove_host_collection_test.rb
307
- - test/functional/activaton_key/subscriptions_test.rb
308
- - test/functional/activaton_key/update_test.rb
306
+ - test/functional/activation_key/add_host_collection_test.rb
307
+ - test/functional/activation_key/content_override_test.rb
308
+ - test/functional/activation_key/create_test.rb
309
+ - test/functional/activation_key/list_test.rb
310
+ - test/functional/activation_key/product_content_test.rb
311
+ - test/functional/activation_key/remove_host_collection_test.rb
312
+ - test/functional/activation_key/subscriptions_test.rb
313
+ - test/functional/activation_key/update_test.rb
309
314
  - test/functional/capsule/content/cancel_synchronization_test.rb
310
315
  - test/functional/capsule/content/capsule_content_helpers.rb
311
316
  - test/functional/capsule/content/data/library_env.json
@@ -320,7 +325,9 @@ files:
320
325
  - test/functional/content_view/component/remove_test.rb
321
326
  - test/functional/content_view/component/update_test.rb
322
327
  - test/functional/content_view/content_view_helpers.rb
328
+ - test/functional/content_view/copy_test.rb
323
329
  - test/functional/content_view/create_test.rb
330
+ - test/functional/content_view/delete_test.rb
324
331
  - test/functional/content_view/filter/create_test.rb
325
332
  - test/functional/content_view/filter/delete_test.rb
326
333
  - test/functional/content_view/filter/info_test.rb
@@ -329,10 +336,15 @@ files:
329
336
  - test/functional/content_view/list_test.rb
330
337
  - test/functional/content_view/publish_test.rb
331
338
  - test/functional/content_view/puppet_module/add_test.rb
339
+ - test/functional/content_view/purge_test.rb
332
340
  - test/functional/content_view/remove_content_view_version_test.rb
341
+ - test/functional/content_view/remove_test.rb
342
+ - test/functional/content_view/update_test.rb
333
343
  - test/functional/content_view/version/incremental_update_test.rb
334
344
  - test/functional/content_view/version/list_test.rb
335
345
  - test/functional/content_view/version/promote_test.rb
346
+ - test/functional/content_view/version/republish_repositories_test.rb
347
+ - test/functional/erratum/list_test.rb
336
348
  - test/functional/filter_rule/create_test.rb
337
349
  - test/functional/filter_rule/delete_test.rb
338
350
  - test/functional/filter_rule/info_test.rb
@@ -346,10 +358,13 @@ files:
346
358
  - test/functional/host/host_helpers.rb
347
359
  - test/functional/host/subscription/attach_test.rb
348
360
  - test/functional/host/subscription/auto_attach_test.rb
361
+ - test/functional/host/subscription/content_override_test.rb
362
+ - test/functional/host/subscription/product_content_test.rb
349
363
  - test/functional/host/subscription/register_test.rb
350
364
  - test/functional/host/subscription/remove_test.rb
351
365
  - test/functional/host/subscription/unregister_test.rb
352
366
  - test/functional/host_collection/add_host_test.rb
367
+ - test/functional/host_collection/content_api_expectations.rb
353
368
  - test/functional/host_collection/content_install_test.rb
354
369
  - test/functional/host_collection/content_remove_test.rb
355
370
  - test/functional/host_collection/content_update_test.rb
@@ -371,6 +386,7 @@ files:
371
386
  - test/functional/lifecycle_environment/update_test.rb
372
387
  - test/functional/organization/organization_helpers.rb
373
388
  - test/functional/package/list_test.rb
389
+ - test/functional/package_group/list_test.rb
374
390
  - test/functional/ping_test.rb
375
391
  - test/functional/product/create_test.rb
376
392
  - test/functional/product/delete_test.rb
@@ -381,11 +397,13 @@ files:
381
397
  - test/functional/product/set_sync_plan_test.rb
382
398
  - test/functional/product/update_test.rb
383
399
  - test/functional/repository/delete_test.rb
400
+ - test/functional/repository/export_test.rb
384
401
  - test/functional/repository/info_test.rb
385
402
  - test/functional/repository/list_test.rb
386
403
  - test/functional/repository/remove_content_test.rb
387
404
  - test/functional/repository/repository_helpers.rb
388
405
  - test/functional/repository/synchronize_test.rb
406
+ - test/functional/repository/update_test.rb
389
407
  - test/functional/repository/upload_test.rb
390
408
  - test/functional/subscription/list_test.rb
391
409
  - test/functional/sync_plan/sync_plan_helpers.rb
@@ -415,7 +433,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
415
433
  version: '0'
416
434
  requirements: []
417
435
  rubyforge_project:
418
- rubygems_version: 2.5.1
436
+ rubygems_version: 2.6.8
419
437
  signing_key:
420
438
  specification_version: 4
421
439
  summary: Katello commands for Hammer
@@ -423,14 +441,16 @@ test_files:
423
441
  - test/data/2.5/foreman_api.json
424
442
  - test/data/3.0/foreman_api.json
425
443
  - test/data/3.2/foreman_api.json
444
+ - test/data/3.4/foreman_api.json
426
445
  - test/data/Readme.md
427
- - test/functional/activaton_key/add_host_collection_test.rb
428
- - test/functional/activaton_key/create_test.rb
429
- - test/functional/activaton_key/list_test.rb
430
- - test/functional/activaton_key/product_content_test.rb
431
- - test/functional/activaton_key/remove_host_collection_test.rb
432
- - test/functional/activaton_key/subscriptions_test.rb
433
- - test/functional/activaton_key/update_test.rb
446
+ - test/functional/activation_key/add_host_collection_test.rb
447
+ - test/functional/activation_key/content_override_test.rb
448
+ - test/functional/activation_key/create_test.rb
449
+ - test/functional/activation_key/list_test.rb
450
+ - test/functional/activation_key/product_content_test.rb
451
+ - test/functional/activation_key/remove_host_collection_test.rb
452
+ - test/functional/activation_key/subscriptions_test.rb
453
+ - test/functional/activation_key/update_test.rb
434
454
  - test/functional/capsule/content/cancel_synchronization_test.rb
435
455
  - test/functional/capsule/content/capsule_content_helpers.rb
436
456
  - test/functional/capsule/content/data/library_env.json
@@ -445,7 +465,9 @@ test_files:
445
465
  - test/functional/content_view/component/remove_test.rb
446
466
  - test/functional/content_view/component/update_test.rb
447
467
  - test/functional/content_view/content_view_helpers.rb
468
+ - test/functional/content_view/copy_test.rb
448
469
  - test/functional/content_view/create_test.rb
470
+ - test/functional/content_view/delete_test.rb
449
471
  - test/functional/content_view/filter/create_test.rb
450
472
  - test/functional/content_view/filter/delete_test.rb
451
473
  - test/functional/content_view/filter/info_test.rb
@@ -454,10 +476,15 @@ test_files:
454
476
  - test/functional/content_view/list_test.rb
455
477
  - test/functional/content_view/publish_test.rb
456
478
  - test/functional/content_view/puppet_module/add_test.rb
479
+ - test/functional/content_view/purge_test.rb
457
480
  - test/functional/content_view/remove_content_view_version_test.rb
481
+ - test/functional/content_view/remove_test.rb
482
+ - test/functional/content_view/update_test.rb
458
483
  - test/functional/content_view/version/incremental_update_test.rb
459
484
  - test/functional/content_view/version/list_test.rb
460
485
  - test/functional/content_view/version/promote_test.rb
486
+ - test/functional/content_view/version/republish_repositories_test.rb
487
+ - test/functional/erratum/list_test.rb
461
488
  - test/functional/filter_rule/create_test.rb
462
489
  - test/functional/filter_rule/delete_test.rb
463
490
  - test/functional/filter_rule/info_test.rb
@@ -471,10 +498,13 @@ test_files:
471
498
  - test/functional/host/host_helpers.rb
472
499
  - test/functional/host/subscription/attach_test.rb
473
500
  - test/functional/host/subscription/auto_attach_test.rb
501
+ - test/functional/host/subscription/content_override_test.rb
502
+ - test/functional/host/subscription/product_content_test.rb
474
503
  - test/functional/host/subscription/register_test.rb
475
504
  - test/functional/host/subscription/remove_test.rb
476
505
  - test/functional/host/subscription/unregister_test.rb
477
506
  - test/functional/host_collection/add_host_test.rb
507
+ - test/functional/host_collection/content_api_expectations.rb
478
508
  - test/functional/host_collection/content_install_test.rb
479
509
  - test/functional/host_collection/content_remove_test.rb
480
510
  - test/functional/host_collection/content_update_test.rb
@@ -496,6 +526,7 @@ test_files:
496
526
  - test/functional/lifecycle_environment/update_test.rb
497
527
  - test/functional/organization/organization_helpers.rb
498
528
  - test/functional/package/list_test.rb
529
+ - test/functional/package_group/list_test.rb
499
530
  - test/functional/ping_test.rb
500
531
  - test/functional/product/create_test.rb
501
532
  - test/functional/product/delete_test.rb
@@ -506,11 +537,13 @@ test_files:
506
537
  - test/functional/product/set_sync_plan_test.rb
507
538
  - test/functional/product/update_test.rb
508
539
  - test/functional/repository/delete_test.rb
540
+ - test/functional/repository/export_test.rb
509
541
  - test/functional/repository/info_test.rb
510
542
  - test/functional/repository/list_test.rb
511
543
  - test/functional/repository/remove_content_test.rb
512
544
  - test/functional/repository/repository_helpers.rb
513
545
  - test/functional/repository/synchronize_test.rb
546
+ - test/functional/repository/update_test.rb
514
547
  - test/functional/repository/upload_test.rb
515
548
  - test/functional/subscription/list_test.rb
516
549
  - test/functional/sync_plan/sync_plan_helpers.rb