hammer_cli_csv 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +5 -13
  2. data/config/cli_config.yml +9 -24
  3. data/lib/hammer_cli_csv/activation_keys.rb +220 -95
  4. data/lib/hammer_cli_csv/architectures.rb +7 -11
  5. data/lib/hammer_cli_csv/base.rb +67 -41
  6. data/lib/hammer_cli_csv/compute_profiles.rb +11 -15
  7. data/lib/hammer_cli_csv/compute_resources.rb +11 -15
  8. data/lib/hammer_cli_csv/containers.rb +10 -12
  9. data/lib/hammer_cli_csv/content_hosts.rb +285 -203
  10. data/lib/hammer_cli_csv/content_view_filters.rb +32 -36
  11. data/lib/hammer_cli_csv/content_views.rb +33 -37
  12. data/lib/hammer_cli_csv/csv.rb +17 -1
  13. data/lib/hammer_cli_csv/domains.rb +15 -19
  14. data/lib/hammer_cli_csv/export.rb +13 -5
  15. data/lib/hammer_cli_csv/host_collections.rb +20 -22
  16. data/lib/hammer_cli_csv/host_groups.rb +73 -65
  17. data/lib/hammer_cli_csv/hosts.rb +30 -34
  18. data/lib/hammer_cli_csv/import.rb +24 -10
  19. data/lib/hammer_cli_csv/installation_media.rb +74 -0
  20. data/lib/hammer_cli_csv/job_templates.rb +37 -41
  21. data/lib/hammer_cli_csv/lifecycle_environments.rb +15 -19
  22. data/lib/hammer_cli_csv/locations.rb +4 -6
  23. data/lib/hammer_cli_csv/operating_systems.rb +17 -21
  24. data/lib/hammer_cli_csv/organizations.rb +11 -13
  25. data/lib/hammer_cli_csv/partition_tables.rb +17 -21
  26. data/lib/hammer_cli_csv/products.rb +200 -92
  27. data/lib/hammer_cli_csv/provisioning_templates.rb +19 -23
  28. data/lib/hammer_cli_csv/puppet_environments.rb +8 -12
  29. data/lib/hammer_cli_csv/puppet_facts.rb +20 -24
  30. data/lib/hammer_cli_csv/puppet_reports.rb +47 -51
  31. data/lib/hammer_cli_csv/reports.rb +6 -10
  32. data/lib/hammer_cli_csv/roles.rb +12 -16
  33. data/lib/hammer_cli_csv/settings.rb +8 -6
  34. data/lib/hammer_cli_csv/smart_proxies.rb +9 -13
  35. data/lib/hammer_cli_csv/splice.rb +1 -3
  36. data/lib/hammer_cli_csv/subnets.rb +24 -28
  37. data/lib/hammer_cli_csv/subscriptions.rb +39 -91
  38. data/lib/hammer_cli_csv/sync_plans.rb +20 -24
  39. data/lib/hammer_cli_csv/users.rb +25 -29
  40. data/lib/hammer_cli_csv/utils/subscriptions.rb +130 -0
  41. data/lib/hammer_cli_csv/version.rb +1 -1
  42. data/lib/hammer_cli_csv.rb +2 -2
  43. data/test/csv_test.rb +32 -0
  44. data/test/csv_test_helper.rb +17 -2
  45. data/test/data/content-hosts.csv +3 -2
  46. data/test/data/hosts.csv +0 -11
  47. data/test/data/settings.csv +1 -0
  48. data/test/data/setup/content-hosts.csv +1 -0
  49. data/test/data/setup/content-views.csv +2 -0
  50. data/test/data/setup/lifecycle-environments.csv +5 -0
  51. data/test/data/setup/locations.csv +6 -0
  52. data/test/data/setup/organizations.csv +2 -0
  53. data/test/data/setup/subscriptions.csv +5 -0
  54. data/test/data/subscriptions.csv +15 -17
  55. data/test/export_test.rb +27 -0
  56. data/test/fixtures/vcr_cassettes/apipie.yml +18528 -0
  57. data/test/fixtures/vcr_cassettes/resources/activation_keys_import/create_and_update.yml +38033 -0
  58. data/test/fixtures/vcr_cassettes/resources/content_hosts_export/export.yml +18846 -0
  59. data/test/fixtures/vcr_cassettes/resources/content_hosts_export/export_subscriptions.yml +323 -0
  60. data/test/fixtures/vcr_cassettes/resources/content_hosts_import/create_and_update.yml +41884 -0
  61. data/test/fixtures/vcr_cassettes/resources/content_hosts_import/import_single_line.yml +38248 -0
  62. data/test/fixtures/vcr_cassettes/resources/settings_import/update_settings.yml +18832 -0
  63. data/test/fixtures/vcr_cassettes/resources/settings_import/update_settings_continue.yml +316 -0
  64. data/test/fixtures/vcr_cassettes/resources/subscriptions_import/manifest_does_not_exist.yml +18785 -0
  65. data/test/fixtures/vcr_cassettes/setup/setup_content_views/setup.yml +19090 -0
  66. data/test/fixtures/vcr_cassettes/setup/setup_lifecycle_environments/setup.yml +924 -0
  67. data/test/fixtures/vcr_cassettes/setup/setup_locations/setup.yml +21102 -0
  68. data/test/fixtures/vcr_cassettes/setup/setup_organizations/setup.yml +19278 -0
  69. data/test/fixtures/vcr_cassettes/setup/setup_subscriptions/setup.yml +419 -0
  70. data/test/import_test.rb +20 -25
  71. data/test/resources/activation_keys_test.rb +72 -0
  72. data/test/resources/content_hosts_test.rb +132 -0
  73. data/test/resources/settings_test.rb +81 -0
  74. data/test/resources/subscriptions_test.rb +56 -0
  75. data/test/setup/setup_content_views.rb +17 -0
  76. data/test/setup/setup_lifecycle_environments.rb +17 -0
  77. data/test/setup/setup_locations.rb +17 -0
  78. data/test/setup/setup_organizations.rb +17 -0
  79. data/test/setup/setup_subscriptions.rb +20 -0
  80. data/test/setup/setup_test.rb +10 -0
  81. data/test/test_runner.rb +175 -0
  82. data/test/vcr_setup.rb +54 -0
  83. metadata +77 -13
  84. data/lib/hammer_cli_csv/exception_handler.rb +0 -42
  85. data/lib/hammer_cli_csv/installation_medias.rb +0 -77
  86. data/test/content_hosts_test.rb +0 -61
  87. data/test/settings_test.rb +0 -30
@@ -0,0 +1,323 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://admin:changeme@katello:3000/api/status
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ Foreman-Version:
28
+ - 1.13.0-develop
29
+ Foreman-Api-Version:
30
+ - '2'
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Apipie-Checksum:
34
+ - e98945ba1db6bdbb4c25ce4988912344
35
+ Etag:
36
+ - W/"f536fd8685b76bb26a943d472593c93e"
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ Set-Cookie:
40
+ - _session_id=572deb56baf521ee00016ca47bc96f02; path=/; HttpOnly
41
+ X-Request-Id:
42
+ - 382590b4-ef98-4b88-b508-2872f6b42791
43
+ X-Runtime:
44
+ - '1.207617'
45
+ Transfer-Encoding:
46
+ - chunked
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"result":"ok","status":200,"version":"1.13.0-develop","api_version":2}'
50
+ http_version:
51
+ recorded_at: Tue, 16 Aug 2016 19:37:56 GMT
52
+ - request:
53
+ method: get
54
+ uri: http://admin:changeme@katello:3000/api/v2/plugins
55
+ body:
56
+ encoding: US-ASCII
57
+ string: ''
58
+ headers:
59
+ Accept-Encoding:
60
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
61
+ Accept:
62
+ - '*/*'
63
+ User-Agent:
64
+ - Ruby
65
+ response:
66
+ status:
67
+ code: 200
68
+ message: OK
69
+ headers:
70
+ X-Frame-Options:
71
+ - SAMEORIGIN
72
+ X-Xss-Protection:
73
+ - 1; mode=block
74
+ X-Content-Type-Options:
75
+ - nosniff
76
+ Foreman-Version:
77
+ - 1.13.0-develop
78
+ Foreman-Api-Version:
79
+ - '2'
80
+ Content-Type:
81
+ - application/json; charset=utf-8
82
+ Apipie-Checksum:
83
+ - e98945ba1db6bdbb4c25ce4988912344
84
+ Etag:
85
+ - W/"dc4a8351c6668134273bfe99879f93b1"
86
+ Cache-Control:
87
+ - max-age=0, private, must-revalidate
88
+ Set-Cookie:
89
+ - _session_id=a2a343fd33b480ee0761f277d4aa76c0; path=/; HttpOnly
90
+ X-Request-Id:
91
+ - 358edc50-689c-41fd-9ffb-da580c6780c0
92
+ X-Runtime:
93
+ - '0.265926'
94
+ Transfer-Encoding:
95
+ - chunked
96
+ body:
97
+ encoding: ASCII-8BIT
98
+ string: !binary |-
99
+ ewogICJ0b3RhbCI6IDQsCiAgInN1YnRvdGFsIjogNCwKICAicGFnZSI6IDEs
100
+ CiAgInBlcl9wYWdlIjogMjAsCiAgInNlYXJjaCI6IG51bGwsCiAgInNvcnQi
101
+ OiB7CiAgICAiYnkiOiBudWxsLAogICAgIm9yZGVyIjogbnVsbAogIH0sCiAg
102
+ InJlc3VsdHMiOiBbeyJpZCI6ImZvcmVtYW4tdGFza3MiLCJuYW1lIjoiZm9y
103
+ ZW1hbi10YXNrcyIsImF1dGhvciI6Ikl2YW4gTmXEjWFzIiwiZGVzY3JpcHRp
104
+ b24iOiJUaGUgZ29hbCBvZiB0aGlzIHBsdWdpbiBpcyB0byB1bmlmeSB0aGUg
105
+ d2F5IG9mIHNob3dpbmcgdGFzayBzdGF0dXNlcyBhY3Jvc3MgdGhlIEZvcmVt
106
+ YW4gaW5zdGFuY2UuXG5JdCBkZWZpbmVzIFRhc2sgbW9kZWwgZm9yIGtlZXBp
107
+ bmcgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0YXNrcyBhbmQgTG9jayBm
108
+ b3IgYXNzaWduaW5nIHRoZSB0YXNrc1xudG8gcmVzb3VyY2VzLiBUaGUgbG9j
109
+ a2luZyBhbGxvd3MgZGVhbGluZyB3aXRoIHByZXZlbnRpbmcgbXVsdGlwbGUg
110
+ Y29sbGlkaW5nIHRhc2tzIHRvIGJlIHJ1biBvbiB0aGVcbnNhbWUgcmVzb3Vy
111
+ Y2UuIEl0IGFsc28gb3B0aW9uYWxseSBwcm92aWRlcyBEeW5mbG93IGluZnJh
112
+ c3RydWN0dXJlIGZvciB1c2luZyBpdCBmb3IgbWFuYWdpbmcgdGhlIHRhc2tz
113
+ LlxuIiwidXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RoZWZvcmVtYW4vZm9y
114
+ ZW1hbi10YXNrcyIsInZlcnNpb24iOiIwLjcuMjAifSx7ImlkIjoiZm9yZW1h
115
+ bl9kb2NrZXIiLCJuYW1lIjoiZm9yZW1hbl9kb2NrZXIiLCJhdXRob3IiOiJE
116
+ YW5pZWwgTG9iYXRvLCBBbW9zIEJlbmFyaSIsImRlc2NyaXB0aW9uIjoiUHJv
117
+ dmlzaW9uIGFuZCBtYW5hZ2UgRG9ja2VyIGNvbnRhaW5lcnMgYW5kIGltYWdl
118
+ cyBmcm9tIEZvcmVtYW4uIiwidXJsIjoiaHR0cDovL2dpdGh1Yi5jb20vdGhl
119
+ Zm9yZW1hbi9mb3JlbWFuLWRvY2tlciIsInZlcnNpb24iOiIzLjAuMCJ9LHsi
120
+ aWQiOiJmb3JlbWFuX3JlbW90ZV9leGVjdXRpb24iLCJuYW1lIjoiZm9yZW1h
121
+ bl9yZW1vdGVfZXhlY3V0aW9uIiwiYXV0aG9yIjoiRm9yZW1hbiBSZW1vdGUg
122
+ RXhlY3V0aW9uIHRlYW0iLCJkZXNjcmlwdGlvbiI6IkEgcGx1Z2luIGJyaW5n
123
+ aW5nIHJlbW90ZSBleGVjdXRpb24gdG8gdGhlIEZvcmVtYW4sIGNvbXBsZXRp
124
+ bmcgdGhlIGNvbmZpZyBtYW5hZ2VtZW50IGZ1bmN0aW9uYWxpdHkgd2l0aCBy
125
+ ZW1vdGUgbWFuYWdlbWVudCBmdW5jdGlvbmFsaXR5LiIsInVybCI6Imh0dHBz
126
+ Oi8vZ2l0aHViLmNvbS90aGVmb3JlbWFuL2ZvcmVtYW5fcmVtb3RlX2V4ZWN1
127
+ dGlvbiIsInZlcnNpb24iOiIxLjAuMCJ9LHsiaWQiOiJrYXRlbGxvIiwibmFt
128
+ ZSI6ImthdGVsbG8iLCJhdXRob3IiOiJOL0EiLCJkZXNjcmlwdGlvbiI6IkNv
129
+ bnRlbnQgYW5kIFN1YnNjcmlwdGlvbiBNYW5hZ2VtZW50IHBsdWdpbiBmb3Ig
130
+ Rm9yZW1hbiIsInVybCI6Imh0dHA6Ly93d3cua2F0ZWxsby5vcmciLCJ2ZXJz
131
+ aW9uIjoiMy4yLjAifV0KfQo=
132
+ http_version:
133
+ recorded_at: Tue, 16 Aug 2016 19:37:56 GMT
134
+ - request:
135
+ method: get
136
+ uri: http://admin:changeme@katello:3000/katello/api/organizations?per_page=999999
137
+ body:
138
+ encoding: US-ASCII
139
+ string: ''
140
+ headers:
141
+ Accept:
142
+ - application/json;version=2
143
+ Accept-Encoding:
144
+ - gzip, deflate
145
+ Content-Type:
146
+ - application/json
147
+ User-Agent:
148
+ - Ruby
149
+ response:
150
+ status:
151
+ code: 200
152
+ message: OK
153
+ headers:
154
+ X-Frame-Options:
155
+ - SAMEORIGIN
156
+ X-Xss-Protection:
157
+ - 1; mode=block
158
+ X-Content-Type-Options:
159
+ - nosniff
160
+ Foreman-Version:
161
+ - 1.13.0-develop
162
+ Foreman-Api-Version:
163
+ - '2'
164
+ Content-Type:
165
+ - application/json; charset=utf-8
166
+ Apipie-Checksum:
167
+ - e98945ba1db6bdbb4c25ce4988912344
168
+ Etag:
169
+ - W/"4334603e104dcf3bf9d4222dd9a77b6a"
170
+ Cache-Control:
171
+ - max-age=0, private, must-revalidate
172
+ Set-Cookie:
173
+ - _session_id=a4b3bd98b19a10fde96220956d287604; path=/; HttpOnly
174
+ X-Request-Id:
175
+ - 720c09f3-59a2-4afb-8286-348925ed8b40
176
+ X-Runtime:
177
+ - '0.239455'
178
+ Transfer-Encoding:
179
+ - chunked
180
+ body:
181
+ encoding: UTF-8
182
+ string: |
183
+ {
184
+ "total": 3,
185
+ "subtotal": 3,
186
+ "page": 1,
187
+ "per_page": 999999,
188
+ "search": null,
189
+ "sort": {
190
+ "by": null,
191
+ "order": null
192
+ },
193
+ "results": [{"label":"Default_Organization","created_at":"2016-08-10 12:38:23 UTC","updated_at":"2016-08-10 12:38:23 UTC","id":1,"name":"Default Organization","title":"Default Organization","description":null},{"label":"examplecorp","created_at":"2016-08-10 13:40:47 UTC","updated_at":"2016-08-10 13:40:47 UTC","id":3,"name":"Example Corporation","title":"Example Corporation","description":"The number one example company in the world!"},{"label":"testcorp","created_at":"2016-08-16 12:46:24 UTC","updated_at":"2016-08-16 12:46:24 UTC","id":4,"name":"Test Corporation","title":"Test Corporation","description":"Testing today for a better tomorrow"}]
194
+ }
195
+ http_version:
196
+ recorded_at: Tue, 16 Aug 2016 19:37:56 GMT
197
+ - request:
198
+ method: get
199
+ uri: http://admin:changeme@katello:3000/katello/api/organizations?per_page=999999&search=name=%22Test%20Corporation%22
200
+ body:
201
+ encoding: US-ASCII
202
+ string: ''
203
+ headers:
204
+ Accept:
205
+ - application/json;version=2
206
+ Accept-Encoding:
207
+ - gzip, deflate
208
+ Content-Type:
209
+ - application/json
210
+ User-Agent:
211
+ - Ruby
212
+ response:
213
+ status:
214
+ code: 200
215
+ message: OK
216
+ headers:
217
+ X-Frame-Options:
218
+ - SAMEORIGIN
219
+ X-Xss-Protection:
220
+ - 1; mode=block
221
+ X-Content-Type-Options:
222
+ - nosniff
223
+ Foreman-Version:
224
+ - 1.13.0-develop
225
+ Foreman-Api-Version:
226
+ - '2'
227
+ Content-Type:
228
+ - application/json; charset=utf-8
229
+ Apipie-Checksum:
230
+ - e98945ba1db6bdbb4c25ce4988912344
231
+ Etag:
232
+ - W/"dec57c653102523d2cd2de13cb7fee01"
233
+ Cache-Control:
234
+ - max-age=0, private, must-revalidate
235
+ Set-Cookie:
236
+ - _session_id=dcd352f24f9ca2b52d0a6bc2232a4736; path=/; HttpOnly
237
+ X-Request-Id:
238
+ - 8abaa1a4-4275-4a57-bb72-20bb956b7aa5
239
+ X-Runtime:
240
+ - '0.237906'
241
+ Transfer-Encoding:
242
+ - chunked
243
+ body:
244
+ encoding: UTF-8
245
+ string: |
246
+ {
247
+ "total": 3,
248
+ "subtotal": 1,
249
+ "page": 1,
250
+ "per_page": 999999,
251
+ "search": "name=\"Test Corporation\"",
252
+ "sort": {
253
+ "by": null,
254
+ "order": null
255
+ },
256
+ "results": [{"label":"testcorp","created_at":"2016-08-16 12:46:24 UTC","updated_at":"2016-08-16 12:46:24 UTC","id":4,"name":"Test Corporation","title":"Test Corporation","description":"Testing today for a better tomorrow"}]
257
+ }
258
+ http_version:
259
+ recorded_at: Tue, 16 Aug 2016 19:37:57 GMT
260
+ - request:
261
+ method: get
262
+ uri: http://admin:changeme@katello:3000/api/organizations/4/hosts?per_page=999999
263
+ body:
264
+ encoding: US-ASCII
265
+ string: ''
266
+ headers:
267
+ Accept:
268
+ - application/json;version=2
269
+ Accept-Encoding:
270
+ - gzip, deflate
271
+ Content-Type:
272
+ - application/json
273
+ User-Agent:
274
+ - Ruby
275
+ response:
276
+ status:
277
+ code: 200
278
+ message: OK
279
+ headers:
280
+ X-Frame-Options:
281
+ - SAMEORIGIN
282
+ X-Xss-Protection:
283
+ - 1; mode=block
284
+ X-Content-Type-Options:
285
+ - nosniff
286
+ Foreman-Version:
287
+ - 1.13.0-develop
288
+ Foreman-Api-Version:
289
+ - '2'
290
+ Content-Type:
291
+ - application/json; charset=utf-8
292
+ Apipie-Checksum:
293
+ - e98945ba1db6bdbb4c25ce4988912344
294
+ Etag:
295
+ - W/"a4c7cad8c39c0a80e0091f015157f090"
296
+ Cache-Control:
297
+ - max-age=0, private, must-revalidate
298
+ Set-Cookie:
299
+ - _session_id=73a9142e7dca4ed5c42c5bf28ebd5f3a; path=/; HttpOnly
300
+ X-Request-Id:
301
+ - f719b774-ef0d-4db1-b372-c3fa6837c101
302
+ X-Runtime:
303
+ - '1.282371'
304
+ Transfer-Encoding:
305
+ - chunked
306
+ body:
307
+ encoding: UTF-8
308
+ string: |
309
+ {
310
+ "total": 0,
311
+ "subtotal": 0,
312
+ "page": 1,
313
+ "per_page": 999999,
314
+ "search": null,
315
+ "sort": {
316
+ "by": null,
317
+ "order": null
318
+ },
319
+ "results": []
320
+ }
321
+ http_version:
322
+ recorded_at: Tue, 16 Aug 2016 19:37:58 GMT
323
+ recorded_with: VCR 3.0.3