skewer 0.1.0

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 (81) hide show
  1. data/.idea/encodings.xml +5 -0
  2. data/.idea/misc.xml +8 -0
  3. data/.idea/modules.xml +9 -0
  4. data/.idea/skewer.iml +61 -0
  5. data/.idea/vcs.xml +7 -0
  6. data/.rvmrc +2 -0
  7. data/Gemfile +3 -0
  8. data/Gemfile.lock +146 -0
  9. data/LICENSE +13 -0
  10. data/README.md +77 -0
  11. data/Rakefile +59 -0
  12. data/Vagrantfile +5 -0
  13. data/assets/Gemfile +5 -0
  14. data/assets/rubygems.sh +39 -0
  15. data/bin/skewer +101 -0
  16. data/features/aws.feature +45 -0
  17. data/features/bootstrapper.feature +14 -0
  18. data/features/configuration.feature +15 -0
  19. data/features/delete.feature +22 -0
  20. data/features/hooks.feature +15 -0
  21. data/features/interface.feature +61 -0
  22. data/features/provision.feature +38 -0
  23. data/features/rackspace.feature +34 -0
  24. data/features/step_definitions/cucumber_steps.rb +43 -0
  25. data/features/step_definitions/delete.rb +32 -0
  26. data/features/support/env.rb +6 -0
  27. data/features/support/puppetcode/manifests/classes/foobar.pp +4 -0
  28. data/features/support/puppetcode/manifests/classes/foobroken.pp +4 -0
  29. data/features/support/puppetcode/manifests/classes/role.pp +3 -0
  30. data/features/support/puppetcode/manifests/site.pp +2 -0
  31. data/features/support/puppetcode/modules/foo/manifests/bar.pp +3 -0
  32. data/features/support/puppetcode/modules/foo/manifests/broken.pp +8 -0
  33. data/features/support/puppetcode/modules/puppet/manifests/munge.pp +5 -0
  34. data/features/update.feature +29 -0
  35. data/lib/aws/node.rb +52 -0
  36. data/lib/aws/security_group.rb +37 -0
  37. data/lib/aws/service.rb +21 -0
  38. data/lib/bootstrapper.rb +112 -0
  39. data/lib/cli.rb +96 -0
  40. data/lib/config.rb +67 -0
  41. data/lib/cuke.rb +26 -0
  42. data/lib/ersatz/ersatz_node.rb +31 -0
  43. data/lib/ersatz/ssh_result.rb +15 -0
  44. data/lib/eucalyptus.rb +15 -0
  45. data/lib/hooks.rb +22 -0
  46. data/lib/node.erb +5 -0
  47. data/lib/node.rb +43 -0
  48. data/lib/parser.rb +92 -0
  49. data/lib/puppet.rb +53 -0
  50. data/lib/puppet_node.rb +26 -0
  51. data/lib/puppet_runtime_error.rb +6 -0
  52. data/lib/rackspace/images.rb +25 -0
  53. data/lib/rackspace/node.rb +60 -0
  54. data/lib/skewer.rb +13 -0
  55. data/lib/skewer/version.rb +3 -0
  56. data/lib/source.rb +54 -0
  57. data/lib/stub_node.rb +25 -0
  58. data/lib/util.rb +17 -0
  59. data/skewer.gemspec +30 -0
  60. data/spec/aws/node_spec.rb +70 -0
  61. data/spec/aws/security_group_spec.rb +20 -0
  62. data/spec/aws/service_spec.rb +31 -0
  63. data/spec/bootstrapper_spec.rb +116 -0
  64. data/spec/cli_spec.rb +71 -0
  65. data/spec/config_spec.rb +68 -0
  66. data/spec/cuke_spec.rb +46 -0
  67. data/spec/ersatz_node_spec.rb +9 -0
  68. data/spec/ersatz_ssh_result_spec.rb +16 -0
  69. data/spec/hooks_spec.rb +19 -0
  70. data/spec/logger_spec.rb +22 -0
  71. data/spec/parser_spec.rb +93 -0
  72. data/spec/puppet.rb +47 -0
  73. data/spec/puppet_node_spec.rb +31 -0
  74. data/spec/rackspace/images_spec.rb +37 -0
  75. data/spec/rackspace/node_spec.rb +30 -0
  76. data/spec/source_spec.rb +45 -0
  77. data/spec/spec_helper.rb +10 -0
  78. data/spec/support/features/example.feature +9 -0
  79. data/spec/support/features/step_definitions/example.rb +8 -0
  80. data/spec/util_spec.rb +27 -0
  81. metadata +288 -0
@@ -0,0 +1,10 @@
1
+ # This file currently exists for one reason only: to get rcov working.
2
+ #
3
+ # The require used below makes sure that when rcov invokves the spec/
4
+ # folder with lib/ as the files under test, that RSpec runs the tests.
5
+ #
6
+ # Without doing so, rcov will attempt to look at coverage at a high-level,
7
+ # only mapping the use of class names and class methods. Whereas, after
8
+ # running the tests rcov has a better understanding of what code has been
9
+ # exercised during use. Providing accurate coverage metrics.
10
+ require 'rspec/autorun'
@@ -0,0 +1,9 @@
1
+ Feature: example feature for the Skewer::Cuke spec
2
+ In order to check that Skewer::Cuke fails
3
+ I want to provide a failing cuke feature
4
+
5
+ @announce-stdout
6
+ @announce-stderr
7
+ Scenario: Always failing scenario
8
+ Given I run something arbitrary
9
+ Then it should fail
@@ -0,0 +1,8 @@
1
+ Given /^I run something arbitrary$/ do
2
+ true
3
+ end
4
+
5
+ Then /^it should fail$/ do
6
+ s = true
7
+ s.should == false
8
+ end
data/spec/util_spec.rb ADDED
@@ -0,0 +1,27 @@
1
+ require 'rspec'
2
+ require 'fog'
3
+
4
+ require 'util'
5
+
6
+ describe Skewer::Util do
7
+ it "should have a way to get the location" do
8
+ util = Skewer::Util.new
9
+
10
+ # Negative cases.
11
+ util.get_location().should == nil
12
+ util.get_location(nil).should == nil
13
+ util.get_location(Object.new).should == nil
14
+
15
+ aws = Object.new
16
+ def aws.dns_name; return "aws-fqdn"
17
+ end
18
+
19
+ rackspace = Object.new
20
+ def rackspace.public_ip_address; return "1.1.1.1"
21
+ end
22
+
23
+ # Positive cases.
24
+ util.get_location(aws).should == 'aws-fqdn'
25
+ util.get_location(rackspace).should == '1.1.1.1'
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,288 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: skewer
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Julian Simpson
14
+ - Kushal Pisavadia
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2012-03-23 00:00:00 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: fog
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 23
30
+ segments:
31
+ - 1
32
+ - 1
33
+ - 2
34
+ version: 1.1.2
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: aruba
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: jeweler
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :development
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: metric_fu
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 0
76
+ version: "0"
77
+ type: :development
78
+ version_requirements: *id004
79
+ - !ruby/object:Gem::Dependency
80
+ name: rcov
81
+ prerelease: false
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ hash: 23
88
+ segments:
89
+ - 1
90
+ - 0
91
+ - 0
92
+ version: 1.0.0
93
+ type: :development
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ name: rspec
97
+ prerelease: false
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ type: :development
108
+ version_requirements: *id006
109
+ - !ruby/object:Gem::Dependency
110
+ name: vagrant
111
+ prerelease: false
112
+ requirement: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ hash: 59
118
+ segments:
119
+ - 0
120
+ - 9
121
+ - 0
122
+ version: 0.9.0
123
+ type: :development
124
+ version_requirements: *id007
125
+ description: Runs masterless puppet code on cloud machines
126
+ email:
127
+ - julian@build-doctor.com
128
+ executables:
129
+ - skewer
130
+ extensions: []
131
+
132
+ extra_rdoc_files: []
133
+
134
+ files:
135
+ - .idea/encodings.xml
136
+ - .idea/misc.xml
137
+ - .idea/modules.xml
138
+ - .idea/skewer.iml
139
+ - .idea/vcs.xml
140
+ - .rvmrc
141
+ - Gemfile
142
+ - Gemfile.lock
143
+ - LICENSE
144
+ - README.md
145
+ - Rakefile
146
+ - Vagrantfile
147
+ - assets/Gemfile
148
+ - assets/rubygems.sh
149
+ - bin/skewer
150
+ - features/aws.feature
151
+ - features/bootstrapper.feature
152
+ - features/configuration.feature
153
+ - features/delete.feature
154
+ - features/hooks.feature
155
+ - features/interface.feature
156
+ - features/provision.feature
157
+ - features/rackspace.feature
158
+ - features/step_definitions/cucumber_steps.rb
159
+ - features/step_definitions/delete.rb
160
+ - features/support/env.rb
161
+ - features/support/puppetcode/manifests/classes/foobar.pp
162
+ - features/support/puppetcode/manifests/classes/foobroken.pp
163
+ - features/support/puppetcode/manifests/classes/role.pp
164
+ - features/support/puppetcode/manifests/site.pp
165
+ - features/support/puppetcode/modules/foo/manifests/bar.pp
166
+ - features/support/puppetcode/modules/foo/manifests/broken.pp
167
+ - features/support/puppetcode/modules/puppet/manifests/munge.pp
168
+ - features/update.feature
169
+ - lib/aws/node.rb
170
+ - lib/aws/security_group.rb
171
+ - lib/aws/service.rb
172
+ - lib/bootstrapper.rb
173
+ - lib/cli.rb
174
+ - lib/config.rb
175
+ - lib/cuke.rb
176
+ - lib/ersatz/ersatz_node.rb
177
+ - lib/ersatz/ssh_result.rb
178
+ - lib/eucalyptus.rb
179
+ - lib/hooks.rb
180
+ - lib/node.erb
181
+ - lib/node.rb
182
+ - lib/parser.rb
183
+ - lib/puppet.rb
184
+ - lib/puppet_node.rb
185
+ - lib/puppet_runtime_error.rb
186
+ - lib/rackspace/images.rb
187
+ - lib/rackspace/node.rb
188
+ - lib/skewer.rb
189
+ - lib/skewer/version.rb
190
+ - lib/source.rb
191
+ - lib/stub_node.rb
192
+ - lib/util.rb
193
+ - skewer.gemspec
194
+ - spec/aws/node_spec.rb
195
+ - spec/aws/security_group_spec.rb
196
+ - spec/aws/service_spec.rb
197
+ - spec/bootstrapper_spec.rb
198
+ - spec/cli_spec.rb
199
+ - spec/config_spec.rb
200
+ - spec/cuke_spec.rb
201
+ - spec/ersatz_node_spec.rb
202
+ - spec/ersatz_ssh_result_spec.rb
203
+ - spec/hooks_spec.rb
204
+ - spec/logger_spec.rb
205
+ - spec/parser_spec.rb
206
+ - spec/puppet.rb
207
+ - spec/puppet_node_spec.rb
208
+ - spec/rackspace/images_spec.rb
209
+ - spec/rackspace/node_spec.rb
210
+ - spec/source_spec.rb
211
+ - spec/spec_helper.rb
212
+ - spec/support/features/example.feature
213
+ - spec/support/features/step_definitions/example.rb
214
+ - spec/util_spec.rb
215
+ homepage: http://www.build-doctor.com/skewer
216
+ licenses: []
217
+
218
+ post_install_message:
219
+ rdoc_options: []
220
+
221
+ require_paths:
222
+ - lib
223
+ required_ruby_version: !ruby/object:Gem::Requirement
224
+ none: false
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ hash: 3
229
+ segments:
230
+ - 0
231
+ version: "0"
232
+ required_rubygems_version: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ hash: 3
238
+ segments:
239
+ - 0
240
+ version: "0"
241
+ requirements: []
242
+
243
+ rubyforge_project: skewer
244
+ rubygems_version: 1.8.17
245
+ signing_key:
246
+ specification_version: 3
247
+ summary: skewer-0.1.0
248
+ test_files:
249
+ - features/aws.feature
250
+ - features/bootstrapper.feature
251
+ - features/configuration.feature
252
+ - features/delete.feature
253
+ - features/hooks.feature
254
+ - features/interface.feature
255
+ - features/provision.feature
256
+ - features/rackspace.feature
257
+ - features/step_definitions/cucumber_steps.rb
258
+ - features/step_definitions/delete.rb
259
+ - features/support/env.rb
260
+ - features/support/puppetcode/manifests/classes/foobar.pp
261
+ - features/support/puppetcode/manifests/classes/foobroken.pp
262
+ - features/support/puppetcode/manifests/classes/role.pp
263
+ - features/support/puppetcode/manifests/site.pp
264
+ - features/support/puppetcode/modules/foo/manifests/bar.pp
265
+ - features/support/puppetcode/modules/foo/manifests/broken.pp
266
+ - features/support/puppetcode/modules/puppet/manifests/munge.pp
267
+ - features/update.feature
268
+ - spec/aws/node_spec.rb
269
+ - spec/aws/security_group_spec.rb
270
+ - spec/aws/service_spec.rb
271
+ - spec/bootstrapper_spec.rb
272
+ - spec/cli_spec.rb
273
+ - spec/config_spec.rb
274
+ - spec/cuke_spec.rb
275
+ - spec/ersatz_node_spec.rb
276
+ - spec/ersatz_ssh_result_spec.rb
277
+ - spec/hooks_spec.rb
278
+ - spec/logger_spec.rb
279
+ - spec/parser_spec.rb
280
+ - spec/puppet.rb
281
+ - spec/puppet_node_spec.rb
282
+ - spec/rackspace/images_spec.rb
283
+ - spec/rackspace/node_spec.rb
284
+ - spec/source_spec.rb
285
+ - spec/spec_helper.rb
286
+ - spec/support/features/example.feature
287
+ - spec/support/features/step_definitions/example.rb
288
+ - spec/util_spec.rb