hammer_cli_csv 0.0.1

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.
Files changed (69) hide show
  1. checksums.yaml +15 -0
  2. data/lib/hammer_cli_csv.rb +48 -0
  3. data/lib/hammer_cli_csv/activation_keys.rb +170 -0
  4. data/lib/hammer_cli_csv/architectures.rb +95 -0
  5. data/lib/hammer_cli_csv/base.rb +706 -0
  6. data/lib/hammer_cli_csv/compute_profiles.rb +94 -0
  7. data/lib/hammer_cli_csv/compute_resources.rb +92 -0
  8. data/lib/hammer_cli_csv/content_hosts.rb +357 -0
  9. data/lib/hammer_cli_csv/content_view_filters.rb +158 -0
  10. data/lib/hammer_cli_csv/content_views.rb +86 -0
  11. data/lib/hammer_cli_csv/csv.rb +23 -0
  12. data/lib/hammer_cli_csv/domains.rb +103 -0
  13. data/lib/hammer_cli_csv/exception_handler.rb +53 -0
  14. data/lib/hammer_cli_csv/host_collections.rb +108 -0
  15. data/lib/hammer_cli_csv/hosts.rb +118 -0
  16. data/lib/hammer_cli_csv/import.rb +82 -0
  17. data/lib/hammer_cli_csv/installation_medias.rb +88 -0
  18. data/lib/hammer_cli_csv/lifecycle_environments.rb +116 -0
  19. data/lib/hammer_cli_csv/locations.rb +84 -0
  20. data/lib/hammer_cli_csv/operating_systems.rb +95 -0
  21. data/lib/hammer_cli_csv/organizations.rb +107 -0
  22. data/lib/hammer_cli_csv/partition_tables.rb +98 -0
  23. data/lib/hammer_cli_csv/products.rb +179 -0
  24. data/lib/hammer_cli_csv/provisioning_templates.rb +96 -0
  25. data/lib/hammer_cli_csv/puppet_environments.rb +105 -0
  26. data/lib/hammer_cli_csv/puppet_facts.rb +99 -0
  27. data/lib/hammer_cli_csv/puppet_reports.rb +244 -0
  28. data/lib/hammer_cli_csv/reports.rb +91 -0
  29. data/lib/hammer_cli_csv/roles.rb +115 -0
  30. data/lib/hammer_cli_csv/smart_proxies.rb +88 -0
  31. data/lib/hammer_cli_csv/subnets.rb +121 -0
  32. data/lib/hammer_cli_csv/subscriptions.rb +135 -0
  33. data/lib/hammer_cli_csv/users.rb +133 -0
  34. data/lib/hammer_cli_csv/version.rb +16 -0
  35. data/test/activation_keys_test.rb +17 -0
  36. data/test/apipie_resource_mock.rb +77 -0
  37. data/test/config.template.yml +17 -0
  38. data/test/csv_test_helper.rb +65 -0
  39. data/test/data/activation-keys.csv +119 -0
  40. data/test/data/architectures.csv +5 -0
  41. data/test/data/content-hosts.csv +4 -0
  42. data/test/data/content-view-filters.csv +2 -0
  43. data/test/data/content-views.csv +6 -0
  44. data/test/data/domains.csv +8 -0
  45. data/test/data/host-collections.csv +16 -0
  46. data/test/data/hosts.csv +12 -0
  47. data/test/data/installation-medias.csv +7 -0
  48. data/test/data/lifecycle-environments.csv +6 -0
  49. data/test/data/locations.csv +10 -0
  50. data/test/data/operating-systems.csv +16 -0
  51. data/test/data/organizations.csv +5 -0
  52. data/test/data/partition-tables.csv +187 -0
  53. data/test/data/products.csv +19 -0
  54. data/test/data/puppet-environments.csv +6 -0
  55. data/test/data/puppet-facts.csv +9 -0
  56. data/test/data/reports.csv +4 -0
  57. data/test/data/roles.csv +159 -0
  58. data/test/data/smart-proxies.csv +2 -0
  59. data/test/data/subscriptions.csv +19 -0
  60. data/test/data/users.csv +119 -0
  61. data/test/helpers/command.rb +67 -0
  62. data/test/helpers/resource_disabled.rb +69 -0
  63. data/test/hosts_test.rb +47 -0
  64. data/test/organizations_test.rb +74 -0
  65. data/test/roles_test.rb +39 -0
  66. data/test/setup_test.rb +164 -0
  67. data/test/systems_test.rb +71 -0
  68. data/test/users_test.rb +35 -0
  69. metadata +174 -0
@@ -0,0 +1,71 @@
1
+ require File.join(File.dirname(__FILE__), 'csv_test_helper')
2
+
3
+ describe 'systems' do
4
+
5
+ extend CommandTestHelper
6
+
7
+ before :each do
8
+ HammerCLI::Settings.load_from_file 'test/config.yml'
9
+
10
+ @api = ApipieBindings::API.new({
11
+ :uri => HammerCLI::Settings.get(:csv, :host),
12
+ :username => HammerCLI::Settings.get(:csv, :username),
13
+ :password => HammerCLI::Settings.get(:csv, :password),
14
+ :api_version => 2
15
+ })
16
+
17
+ end
18
+
19
+ context "import" do
20
+
21
+ # TODO: Bug #4922 - system facts not updating via API
22
+ # http://projects.theforeman.org/issues/4922
23
+ it "update system facts" do
24
+
25
+ hostname = "host#{rand(10000)}"
26
+
27
+ # Create system
28
+ file = Tempfile.new('systems_test')
29
+ file.write("Name,Count,Organization,Environment,Content View,System Groups,Virtual,Host,OS,Arch,Sockets,RAM,Cores,SLA,Products,Subscriptions\n")
30
+ file.write("#{hostname},1,Mega Corporation,Library,Default Organization View,Mega Corp HQ,No,,RHEL 6.4,x86_64,1,4,1,Standard,,\n")
31
+ file.rewind
32
+
33
+ stdout,stderr = capture {
34
+ hammer.run(%W{-v csv:systems --csv-file #{file.path}})
35
+ }
36
+ stderr.must_equal ''
37
+ stdout[0..-2].must_equal "Creating system '#{hostname}'...done\nUpdating host and guest associations...done"
38
+ file.unlink
39
+
40
+ # Update system
41
+ file = Tempfile.new('systems_test')
42
+ file.write("Name,Count,Organization,Environment,Content View,System Groups,Virtual,Host,OS,Arch,Sockets,RAM,Cores,SLA,Products,Subscriptions\n")
43
+ file.write("#{hostname},1,Mega Corporation,Library,Default Organization View,Mega Corp HQ,No,,RHEL 6.4,x86_64,1,8,1,Standard,,\n")
44
+ file.rewind
45
+
46
+ stdout,stderr = capture {
47
+ hammer.run(%W{-v csv:systems --csv-file #{file.path}})
48
+ }
49
+ stderr.must_equal ''
50
+ stdout[0..-2].must_equal "Updating system '#{hostname}'...done\nUpdating host and guest associations...done"
51
+ file.unlink
52
+
53
+ # Verify system
54
+ system = @api.resource(:systems).call(:index, {
55
+ 'organization_id' => 'megacorp',
56
+ 'search' => "name=\"#{hostname}\""
57
+ })['results']
58
+ system.wont_be_nil
59
+ system.wont_be_empty
60
+ system[0]['name'].must_equal hostname
61
+
62
+ # Clean up
63
+ # TODO: Bug #4921 - bulk remove systems error "user not set"
64
+ # http://projects.theforeman.org/issues/4921
65
+ @api.resource(:systems).call(:destroy, {
66
+ 'id' => system[0]['id']
67
+ })
68
+ end
69
+
70
+ end
71
+ end
@@ -0,0 +1,35 @@
1
+ require File.join(File.dirname(__FILE__), 'csv_test_helper')
2
+
3
+ require 'stringio'
4
+ require 'tempfile'
5
+
6
+ describe 'users' do
7
+
8
+ extend CommandTestHelper
9
+
10
+ before :each do
11
+ HammerCLI::Settings.load_from_file 'test/config.yml'
12
+ end
13
+
14
+ context "import" do
15
+
16
+ it "hammer -v csv:users --csv-file tempfile" do
17
+ file = Tempfile.new('users_test')
18
+ file.write(
19
+ <<-eos
20
+ Name,Count,First Name,Last Name,Email,Organizations,Locations,Roles
21
+ damon.dials@megacorp.com,1,Damon,Dials,damon.dials@megacorp.com,Mega Corporation,,
22
+ eos
23
+ )
24
+ file.rewind
25
+
26
+ stdout,stderr = capture {
27
+ hammer.run(%W{csv users -v --csv-file #{file.path}})
28
+ }
29
+ stderr.must_equal ''
30
+ stdout[0..-2].must_equal 'Updating user \'damon.dials@megacorp.com\'... done'
31
+ file.unlink
32
+ end
33
+
34
+ end
35
+ end
metadata ADDED
@@ -0,0 +1,174 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hammer_cli_csv
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Tom McKay
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: hammer_cli_katello
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.17.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.17.0
41
+ description: Hammer-CLI-CSV is a plugin for Hammer to provide bulk actions against
42
+ a Katello server.
43
+ email:
44
+ - thomasmckay@redhat.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - lib/hammer_cli_csv.rb
50
+ - lib/hammer_cli_csv/activation_keys.rb
51
+ - lib/hammer_cli_csv/architectures.rb
52
+ - lib/hammer_cli_csv/base.rb
53
+ - lib/hammer_cli_csv/compute_profiles.rb
54
+ - lib/hammer_cli_csv/compute_resources.rb
55
+ - lib/hammer_cli_csv/content_hosts.rb
56
+ - lib/hammer_cli_csv/content_view_filters.rb
57
+ - lib/hammer_cli_csv/content_views.rb
58
+ - lib/hammer_cli_csv/csv.rb
59
+ - lib/hammer_cli_csv/domains.rb
60
+ - lib/hammer_cli_csv/exception_handler.rb
61
+ - lib/hammer_cli_csv/host_collections.rb
62
+ - lib/hammer_cli_csv/hosts.rb
63
+ - lib/hammer_cli_csv/import.rb
64
+ - lib/hammer_cli_csv/installation_medias.rb
65
+ - lib/hammer_cli_csv/lifecycle_environments.rb
66
+ - lib/hammer_cli_csv/locations.rb
67
+ - lib/hammer_cli_csv/operating_systems.rb
68
+ - lib/hammer_cli_csv/organizations.rb
69
+ - lib/hammer_cli_csv/partition_tables.rb
70
+ - lib/hammer_cli_csv/products.rb
71
+ - lib/hammer_cli_csv/provisioning_templates.rb
72
+ - lib/hammer_cli_csv/puppet_environments.rb
73
+ - lib/hammer_cli_csv/puppet_facts.rb
74
+ - lib/hammer_cli_csv/puppet_reports.rb
75
+ - lib/hammer_cli_csv/reports.rb
76
+ - lib/hammer_cli_csv/roles.rb
77
+ - lib/hammer_cli_csv/smart_proxies.rb
78
+ - lib/hammer_cli_csv/subnets.rb
79
+ - lib/hammer_cli_csv/subscriptions.rb
80
+ - lib/hammer_cli_csv/users.rb
81
+ - lib/hammer_cli_csv/version.rb
82
+ - test/activation_keys_test.rb
83
+ - test/apipie_resource_mock.rb
84
+ - test/config.template.yml
85
+ - test/csv_test_helper.rb
86
+ - test/data/activation-keys.csv
87
+ - test/data/architectures.csv
88
+ - test/data/content-hosts.csv
89
+ - test/data/content-view-filters.csv
90
+ - test/data/content-views.csv
91
+ - test/data/domains.csv
92
+ - test/data/host-collections.csv
93
+ - test/data/hosts.csv
94
+ - test/data/installation-medias.csv
95
+ - test/data/lifecycle-environments.csv
96
+ - test/data/locations.csv
97
+ - test/data/operating-systems.csv
98
+ - test/data/organizations.csv
99
+ - test/data/partition-tables.csv
100
+ - test/data/products.csv
101
+ - test/data/puppet-environments.csv
102
+ - test/data/puppet-facts.csv
103
+ - test/data/reports.csv
104
+ - test/data/roles.csv
105
+ - test/data/smart-proxies.csv
106
+ - test/data/subscriptions.csv
107
+ - test/data/users.csv
108
+ - test/helpers/command.rb
109
+ - test/helpers/resource_disabled.rb
110
+ - test/hosts_test.rb
111
+ - test/organizations_test.rb
112
+ - test/roles_test.rb
113
+ - test/setup_test.rb
114
+ - test/systems_test.rb
115
+ - test/users_test.rb
116
+ homepage: http://github.com/Katello/hammer-cli-csv
117
+ licenses:
118
+ - GPL-2
119
+ metadata: {}
120
+ post_install_message:
121
+ rdoc_options: []
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ requirements: []
135
+ rubyforge_project:
136
+ rubygems_version: 2.2.2
137
+ signing_key:
138
+ specification_version: 4
139
+ summary: CSV commands for Hammer
140
+ test_files:
141
+ - test/activation_keys_test.rb
142
+ - test/apipie_resource_mock.rb
143
+ - test/config.template.yml
144
+ - test/csv_test_helper.rb
145
+ - test/data/activation-keys.csv
146
+ - test/data/architectures.csv
147
+ - test/data/content-hosts.csv
148
+ - test/data/content-view-filters.csv
149
+ - test/data/content-views.csv
150
+ - test/data/domains.csv
151
+ - test/data/host-collections.csv
152
+ - test/data/hosts.csv
153
+ - test/data/installation-medias.csv
154
+ - test/data/lifecycle-environments.csv
155
+ - test/data/locations.csv
156
+ - test/data/operating-systems.csv
157
+ - test/data/organizations.csv
158
+ - test/data/partition-tables.csv
159
+ - test/data/products.csv
160
+ - test/data/puppet-environments.csv
161
+ - test/data/puppet-facts.csv
162
+ - test/data/reports.csv
163
+ - test/data/roles.csv
164
+ - test/data/smart-proxies.csv
165
+ - test/data/subscriptions.csv
166
+ - test/data/users.csv
167
+ - test/helpers/command.rb
168
+ - test/helpers/resource_disabled.rb
169
+ - test/hosts_test.rb
170
+ - test/organizations_test.rb
171
+ - test/roles_test.rb
172
+ - test/setup_test.rb
173
+ - test/systems_test.rb
174
+ - test/users_test.rb