cucumber-puppet 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :build:
3
- :patch: 5
3
+ :patch: 6
4
4
  :minor: 0
5
5
  :major: 0
@@ -78,8 +78,7 @@ end
78
78
  command = []
79
79
  command << "cucumber --strict"
80
80
 
81
- cwd = Dir.getwd
82
- root = find_root(cwd)
81
+ root = find_root
83
82
  command << "--require #{root}/features"
84
83
  command << options
85
84
 
@@ -1,12 +1,18 @@
1
1
  require 'cucumber-puppet'
2
2
 
3
+ # Private helper methods.
3
4
  module CucumberPuppet::Helper
4
- # Finds the root of the puppet directory tree according to puppet's
5
+ private
6
+
7
+ # Finds the root of the puppet directory tree according to Puppet's
5
8
  # directory naming convention. Relevant sub-trees are:
9
+ #
6
10
  # - <puppetdir>/features/modules/$module
7
11
  # - <puppetdir>/modules/$module/features
12
+ #
8
13
  # In case no tree is identified, assumes cwd is <puppetdir>.
9
- def find_root(cwd)
14
+ def find_root
15
+ cwd = Dir.getwd
10
16
  path = cwd.split('/')
11
17
 
12
18
  if cwd.match('features$') and not cwd.match("modules/")
@@ -14,19 +20,19 @@ module CucumberPuppet::Helper
14
20
  path.pop
15
21
  elsif cwd.match('features/modules$')
16
22
  # <puppetdir>/features/modules
17
- path.pop(2)
23
+ 2.times { path.pop }
18
24
  elsif cwd.match('features/modules/[^/]*$')
19
25
  # <puppetdir>/features/modules/$module
20
- path.pop(3)
26
+ 3.times { path.pop }
21
27
  elsif cwd.match('modules$')
22
28
  # <puppetdir>/modules
23
29
  path.pop
24
30
  elsif cwd.match('/modules/[^/]*$')
25
31
  # <puppetdir>/modules/$module
26
- path.pop(2)
32
+ 2.times { path.pop }
27
33
  elsif cwd.match('/modules/[^/]*/features$')
28
34
  # <puppetdir>/modules/$module/features
29
- path.pop(3)
35
+ 3.times { path.pop }
30
36
  end
31
37
 
32
38
  path.join('/')
@@ -1,7 +1,10 @@
1
1
  require 'puppet'
2
2
  require 'puppet/network/client'
3
3
 
4
+ # A class for accessing Puppet's internal state regarding a certain node or
5
+ # class.
4
6
  class CucumberPuppet
7
+ # Returns a new CucumberPuppet object.
5
8
  def initialize
6
9
  @confdir = "/etc/puppet"
7
10
  @manifest = @confdir + "/manifest/site.pp"
@@ -21,21 +24,31 @@ class CucumberPuppet
21
24
  Puppet::Util::Log.level = :notice
22
25
  end
23
26
 
27
+ # Set Puppet's log level to 'debug'.
24
28
  def debug
25
29
  Puppet::Util::Log.level = :debug
26
30
  end
27
31
 
32
+ # Define Puppet classes to include in a feature's testnode.
28
33
  def klass=(klass)
34
+ # XXX sth like klass.split(/,/) and remove whitespace
29
35
  @klass = klass.to_a
30
36
  end
31
37
 
32
- def compile_catalog
38
+ # Compile catalog for configured testnode.
39
+ #
40
+ # @confdir defaults to '/etc/puppet'
41
+ # @manifest defaults to @confdir + '/manifests/site.pp'
42
+ #
43
+ def compile_catalog( node = nil )
33
44
  Puppet[:confdir] = @confdir
34
45
  Puppet[:manifest] = @manifest
35
46
  Puppet.parse_config
36
47
 
37
- node = Puppet::Node.new(@facts['hostname'], :classes => @klass)
38
- node.merge(@facts)
48
+ unless node.is_a?(Puppet::Node)
49
+ node = Puppet::Node.new(@facts['hostname'], :classes => @klass)
50
+ node.merge(@facts)
51
+ end
39
52
 
40
53
  begin
41
54
  # Compile our catalog
@@ -57,7 +70,13 @@ class CucumberPuppet
57
70
  end
58
71
  end
59
72
 
60
- def resource(title)
73
+ # Returns an Object with the given title from catalog.
74
+ def get_resource(title)
61
75
  @catalog.resource(title)
62
76
  end
77
+ # XXX add deprecation warning for resource()
78
+ def resource(title)
79
+ get_resource(title)
80
+ end
81
+
63
82
  end
@@ -5,7 +5,7 @@
5
5
  # CucumberPuppetRakeTask.new
6
6
  #
7
7
  # This defines a task 'cucumber_puppet' that will run features in 'features'
8
- # and 'modules/**/features'.
8
+ # and 'modules/*/features'.
9
9
  #
10
10
  # To further configure the task, you can pass a block:
11
11
  #
@@ -14,16 +14,16 @@
14
14
  # end
15
15
 
16
16
  class CucumberPuppetRakeTask
17
- # extra options to pass to cucumber
18
17
  attr_accessor :cucumber_opts
19
18
 
20
- # an Array is preferred, so convert if String
19
+ # Extra options to pass to cucumber via cucumber-puppet.
20
+ # An Array is preferred, so convert if String.
21
21
  def cucumber_opts=(opts)
22
22
  @cucumber_opts = String === opts ? opts.split(' ') : opts
23
23
  end
24
24
 
25
25
 
26
- # define CucumberPuppet Rake task
26
+ # Define CucumberPuppet Rake task.
27
27
  def initialize(task_name = 'cucumber_puppet',
28
28
  desc = 'Run cucumber-puppet features')
29
29
  @task_name = task_name
@@ -34,6 +34,7 @@ class CucumberPuppetRakeTask
34
34
  define_task
35
35
  end
36
36
 
37
+ private
37
38
  def define_task
38
39
  desc @desc
39
40
  task @task_name do
@@ -0,0 +1,67 @@
1
+ Given /^a node specified by "([^\"]*)"$/ do |file|
2
+ # file: yaml node file, usually from /var/lib/puppet/yaml/node
3
+ fail("Cannot find node facts #{file}.") unless File.exist?(file)
4
+ @node = YAML.load_file(file)
5
+ file("Invalid node file #{file}, this should come from " +
6
+ "/var/lib/puppet/yaml/node.") unless @node.is_a?(Puppet::Node)
7
+ end
8
+
9
+ When /^I compile its catalog$/ do
10
+ compile_catalog(@node)
11
+ end
12
+
13
+ Then /^all "([^\"]*)" should resolve$/ do |parameter|
14
+ # paramter: before, notify, require, or subscribe
15
+ @catalog.resources.each do |name|
16
+ resource = get_resource(name)
17
+
18
+ dependency = resource[parameter]
19
+ next unless dependency
20
+ if dependency.is_a?(Array)
21
+ dependency.each do |dep|
22
+ fail("#{resource} cannot #{parameter} #{dep}, not in catalog.") \
23
+ unless get_resource(dep.to_s)
24
+ end
25
+ elsif dependency.is_a?(Puppet::Resource::Reference)
26
+ fail("#{resource} cannot #{parameter} #{dependency}, not in catalog.") \
27
+ unless get_resource(dependency.to_s)
28
+ else
29
+ fail("#{resource} #{parameter} #{dependency} of unknown class.")
30
+ end
31
+ end
32
+ end
33
+
34
+ Then /^all file sources should exist in git repository$/ do
35
+ @catalog.resources.each do |name|
36
+ next unless name.match(/^File/)
37
+ file = get_resource(name)
38
+
39
+ next unless file['source']
40
+ source = file['source']
41
+
42
+ filepath = source.gsub(%r{^puppet:///([^/]*)/(.*)$}, 'modules/\1/files/\2')
43
+ fail("#{name}: source #{filepath} not in git repository.") unless
44
+ system("git cat-file -e :#{filepath} > /dev/null 2>&1")
45
+ end
46
+ end
47
+
48
+ Then /^all file templates should exist in git repository$/ do
49
+ Dir.glob('modules/*/templates/**.erb').each do |template|
50
+ fail("#{template} not in git.") unless
51
+ system("git cat-file -e :#{template} > /dev/null 2>&1")
52
+ end
53
+ end
54
+
55
+ Then /^all resource dependencies should resolve$/ do
56
+ steps %Q{
57
+ Then all "before" should resolve
58
+ And all "notify" should resolve
59
+ And all "require" should resolve
60
+ And all "subscribe" should resolve
61
+ }
62
+ end
63
+
64
+ Then /^compilation should succeed$/ do
65
+ fail("Catalog compilation failed.") unless
66
+ @catalog.is_a?(Puppet::Resource::Catalog)
67
+ end
@@ -1,3 +1,13 @@
1
+ Then /^following directories should be created:$/ do |directories|
2
+ directories.hashes.each do |dir|
3
+ steps %Q{
4
+ Then there should be a resource "File[#{dir['name']}]"
5
+ And the state should be "directory"
6
+ And the directory should have standard permissions
7
+ }
8
+ end
9
+ end
10
+
1
11
  Then /^the file should be a symlink to "([^\"]*)"$/ do |target|
2
12
  fail unless @resource["ensure"] == target
3
13
  end
@@ -6,11 +16,16 @@ Then /^the file should contain "([^\"]*)"$/ do |text|
6
16
  fail unless @resource["content"].include?(text)
7
17
  end
8
18
 
9
- Then /^the (file|script) should have standard permissions$/ do |type|
10
- if type == "file"
19
+ Then /^the (directory|file|script) should have standard permissions$/ do |type|
20
+ case type
21
+ when "directory"
22
+ mode = "0755"
23
+ when "file"
11
24
  mode = "0444"
12
- elsif type == "script"
25
+ when "script"
13
26
  mode = "0555"
27
+ else
28
+ fail
14
29
  end
15
30
 
16
31
  steps %Q{
@@ -1,13 +1,14 @@
1
- Then /^package "([^\"]*)" should be "([^\"]*)"$/ do |package, state|
2
- steps %Q{
3
- Then there should be a resource "Package[#{package}]"
4
- And the state should be "#{state}"
5
- }
1
+ Then /^following packages should be dealt with:$/ do |packages|
2
+ packages.hashes.each do |package|
3
+ steps %Q{
4
+ Then package "#{package['name']}" should be "#{package['state']}"
5
+ }
6
+ end
6
7
  end
7
8
 
8
-
9
- Then /^package "([^\"]*)" should not be installed$/ do |package|
9
+ Then /^package "([^\"]*)" should be "([^\"]*)"$/ do |package, state|
10
10
  steps %Q{
11
- Then there should be no resource "Package[#{package}]"
11
+ Then there should be a resource "Package[#{package}]"
12
+ And the state should be "#{state}"
12
13
  }
13
14
  end
@@ -32,22 +32,32 @@ end
32
32
 
33
33
  Then /^the [a-z]* should notify "([^\"]*)"$/ do |res|
34
34
  fail unless @resource["notify"].to_s == res
35
+ steps %Q{
36
+ Then the catalog should contain "#{res}"
37
+ }
35
38
  end
36
39
 
37
- Then /^the [a-z]* should require "([^\"]*)"$/ do |resource|
40
+ Then /^the [a-z]* should require "([^\"]*)"$/ do |res|
38
41
  req = @resource["require"]
39
42
  if req.is_a?(Array)
40
43
  found = false
41
44
  req.each do |r|
42
- if r.to_s == resource
45
+ if r.to_s == res
43
46
  found = true
44
47
  break
45
48
  end
46
49
  end
47
50
  fail unless found
48
51
  else
49
- fail unless req.to_s == resource
52
+ fail unless req.to_s == res
50
53
  end
54
+ steps %Q{
55
+ Then the catalog should contain "#{res}"
56
+ }
57
+ end
58
+
59
+ Then /^the catalog should contain "([^\"]*)"$/ do |res|
60
+ fail unless resource(res)
51
61
  end
52
62
 
53
63
  Then /^the state should be "([^\"]*)"$/ do |state|
@@ -58,8 +68,3 @@ Then /^there should be a resource "([^\"]*)"$/ do |res|
58
68
  @resource = resource(res)
59
69
  fail unless @resource
60
70
  end
61
-
62
- Then /^there should be no resource "([^\"]*)"$/ do |res|
63
- @resource = resource(res)
64
- fail if @resource
65
- end
@@ -1,3 +1,15 @@
1
+ Then /^"([^\"]*)" should be in groups? "([^\"]*)"$/ do |user, groups|
2
+ steps %Q{
3
+ Then there should be a resource "User[#{user}]"
4
+ And the user should be in groups "#{groups}"
5
+ }
6
+ end
7
+
1
8
  Then /^the user should be in groups "([^\"]*)"$/ do |groups|
2
- fail unless @resource["groups"] == groups
9
+ g = @resource["groups"]
10
+ g_s = g
11
+ if g.is_a?(Array)
12
+ g_s = g.join(' ')
13
+ end
14
+ fail unless g_s == groups
3
15
  end
@@ -0,0 +1,78 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "CUCUMBER\-PUPPET\-GEN" "1" "August 2010" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBcucumber\-puppet\-gen\fR \- Generator script for cucumber\-puppet
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBcucumber\-puppet\-gen\fR feature MODULE FEATURE
11
+ .
12
+ .P
13
+ \fBcucumber\-puppet\-gen\fR world
14
+ .
15
+ .SH "DESCRIPTION"
16
+ \fBcucumber\-puppet\-gen\fR generates feature files and initializes a Puppet tree for use with \fBcucumber\-puppet\fR\.
17
+ .
18
+ .TP
19
+ \fBcucumber\-puppet\-gen\fR feature MODULE FEATURE
20
+ Generate a feature file from template for feature FEATURE and module MODULE\. Depending on the current working directory, the feature is either placed in \fBfeatures/modules/MODULE/FEATURE\.feature\fR or, if called from the \fBmodules/\fR subdirectory tree, \fBmodules/MODULE/features/FEATURE\.feature\fR\.
21
+ .
22
+ .TP
23
+ \fBcucumber\-puppet\-gen\fR world
24
+ Initialize Puppet tree for use with \fBcucumber\-puppet\fR, to be run from the Puppet tree\'s root\.
25
+ .
26
+ .SH "EXAMPLES"
27
+ Initialize the Puppet tree:
28
+ .
29
+ .IP "" 4
30
+ .
31
+ .nf
32
+
33
+ $ cd puppet
34
+ $ cucumber\-puppet\-gen world
35
+ .
36
+ .fi
37
+ .
38
+ .IP "" 0
39
+ .
40
+ .P
41
+ Generated files are to be found in \fBfeatures/steps/\fR and \fBfeatures/support/\fR\.
42
+ .
43
+ .P
44
+ Create a feature file for module \fIfoo\fR\'s \fIbar\fR feature:
45
+ .
46
+ .IP "" 4
47
+ .
48
+ .nf
49
+
50
+ $ cd puppet
51
+ $ cucumber\-puppet\-gen feature foo bar
52
+ .
53
+ .fi
54
+ .
55
+ .IP "" 0
56
+ .
57
+ .P
58
+ Create the same feature file to be bundled with the module:
59
+ .
60
+ .IP "" 4
61
+ .
62
+ .nf
63
+
64
+ $ cd puppet/modules
65
+ $ cucumber\-puppet\-gen feature foo bar
66
+ .
67
+ .fi
68
+ .
69
+ .IP "" 0
70
+ .
71
+ .SH "REPORTING BUGS"
72
+ Report bugs to \fIcucumber\-puppet@erisiandiscord\.de\fR or go to http://github\.com/nistude/cucumber\-puppet/issues
73
+ .
74
+ .SH "COPYRIGHT"
75
+ \fBcucumber\-puppet\fR is Copyright (c) 2010 Nikolay Sturm \fIsturm@nistu\.de\fR
76
+ .
77
+ .SH "SEE ALSO"
78
+ cucumber\-puppet(1)
@@ -0,0 +1,137 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "CUCUMBER\-PUPPET" "1" "August 2010" "" ""
5
+ .
6
+ .SH "NAME"
7
+ \fBcucumber\-puppet\fR \- Puppet manifest testing with Cucumber
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fBcucumber\-puppet\fR [ OPTIONS ] FILE | DIR \.\.\.
11
+ .
12
+ .SH "DESCRIPTION"
13
+ \fBcucumber\-puppet\fR is a tool for behavioral testing of Puppet manifests\. It provides the glue necessary to access Puppet\'s data structures from Cucumber\'s step definitions\.
14
+ .
15
+ .P
16
+ \fBcucumber\-puppet\fR takes a list of feature files or directories, containing feature files, as argument\. These will then be run through \fBcucumber\fR\. It needs to be started from somewhere inside the Puppet directory tree\.
17
+ .
18
+ .TP
19
+ \fB\-h\fR, \fB\-\-help\fR
20
+ Show help message\.
21
+ .
22
+ .TP
23
+ \fB\-\-version\fR
24
+ Show version number\.
25
+ .
26
+ .P
27
+ The following options are passed on to \fBcucumber\fR\. See \fBcucumber \-\-help\fR for further details\.
28
+ .
29
+ .TP
30
+ \fB\-b\fR, \fB\-\-backtrace\fR
31
+ Show full backtrace for all errors\.
32
+ .
33
+ .TP
34
+ \fB\-e\fR, \fB\-\-exclude\fR \fIPATTERN\fR
35
+ Don\'t run feature files or require ruby files matching \fIPATTERN\fR\.
36
+ .
37
+ .TP
38
+ \fB\-f\fR, \fB\-\-format\fR \fIFORMAT\fR
39
+ How to format features (Default: pretty)\.
40
+ .
41
+ .TP
42
+ \fB\-n\fR, \fB\-\-name\fR \fINAME\fR
43
+ Only run matching feature elements\.
44
+ .
45
+ .TP
46
+ \fB\-o\fR, \fB\-\-out\fR \fIFILE\fR|\fIDIR\fR
47
+ Write output to \fIFILE\fR|\fIDIR\fR\.
48
+ .
49
+ .TP
50
+ \fB\-t\fR, \fB\-\-tags\fR \fITAG\-EXPRESSION\fR
51
+ Only run features/scenarios matching \fITAG\-EXPRESSION\fR\.
52
+ .
53
+ .TP
54
+ \fB\-v\fR, \fB\-\-verbose\fR
55
+ Show files and features loaded\.
56
+ .
57
+ .TP
58
+ \fB\-x\fR, \fB\-\-expand\fR
59
+ Expand Scenario Outline Tables in output\.
60
+ .
61
+ .SH "FILES"
62
+ \fBcucumber\-puppet\fR assumes a certain directory structure to magically find necessary support files\. Relative to the Puppet directory\'s root, the structure looks like this:
63
+ .
64
+ .TP
65
+ \fBfeatures/\fR
66
+ The generic place to store Cucumber files\.
67
+ .
68
+ .TP
69
+ \fBfeatures/modules/foo/\fR
70
+ Feature files for module \fIfoo\fR go here\.
71
+ .
72
+ .TP
73
+ \fBfeatures/modules/foo/bar\.feature\fR
74
+ File containing scenarios for the \fIbar\fR feature\.
75
+ .
76
+ .TP
77
+ \fBfeatures/steps/\fR
78
+ Step definitions go here\. To distinguish local extensions, it is suggested putting these into files named \fBmodule_foo\.rb\fR or \fBdefine_bar\.rb\fR\. Although names don\'t really matter to cucumber, as long as files have the proper suffix\.
79
+ .
80
+ .TP
81
+ \fBfeatures/support/\fR
82
+ Cucumber support files go here\.
83
+ .
84
+ .P
85
+ \fBcucumber\-puppet\fR also supports bundling features with modules\. In this case it looks for features, step definitions and support files in \fBmodules/foo/features/\fR like so:
86
+ .
87
+ .TP
88
+ \fBmodules/foo/features/bar\.feature\fR
89
+ Bundled feature file\.
90
+ .
91
+ .TP
92
+ \fBmodules/foo/features/steps/bar\.rb\fR
93
+ Bundled step definition file\.
94
+ .
95
+ .SH "EXAMPLES"
96
+ To run all features found in a directory:
97
+ .
98
+ .IP "" 4
99
+ .
100
+ .nf
101
+
102
+ $ cucumber\-puppet features
103
+ .
104
+ .fi
105
+ .
106
+ .IP "" 0
107
+ .
108
+ .P
109
+ To run a single feature:
110
+ .
111
+ .IP "" 4
112
+ .
113
+ .nf
114
+
115
+ $ cucumber\-puppet features/modules/foo/bar\.feature
116
+ .
117
+ .fi
118
+ .
119
+ .IP "" 0
120
+ .
121
+ .SH "REPORTING BUGS"
122
+ Report bugs to \fIcucumber\-puppet@erisiandiscord\.de\fR or go to http://github\.com/nistude/cucumber\-puppet/issues
123
+ .
124
+ .SH "COPYRIGHT"
125
+ \fBcucumber\-puppet\fR is Copyright (c) 2010 Nikolay Sturm \fIsturm@nistu\.de\fR
126
+ .
127
+ .SH "SEE ALSO"
128
+ cucumber\-puppet\-gen(1)
129
+ .
130
+ .P
131
+ Behavior Driven Development: http://behaviour\-driven\.org/ http://en\.wikipedia\.org/wiki/Behavior_driven_development
132
+ .
133
+ .P
134
+ Cucumber: http://cukes\.info/
135
+ .
136
+ .P
137
+ Puppet: http://www\.puppetlabs\.com/puppet/introduction/
metadata CHANGED
@@ -1,12 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-puppet
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 5
9
- version: 0.0.5
4
+ version: 0.0.6
10
5
  platform: ruby
11
6
  authors:
12
7
  - Nikolay Sturm
@@ -14,37 +9,40 @@ autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
11
 
17
- date: 2010-04-25 00:00:00 +02:00
12
+ date: 2010-08-23 00:00:00 +02:00
18
13
  default_executable:
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
21
16
  name: cucumber
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
24
20
  requirements:
25
21
  - - ">="
26
22
  - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- - 6
30
- - 4
31
23
  version: 0.6.4
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: gem-man
32
27
  type: :runtime
33
- version_requirements: *id001
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.0
34
+ version:
34
35
  - !ruby/object:Gem::Dependency
35
36
  name: templater
36
- prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
38
40
  requirements:
39
41
  - - ">="
40
42
  - !ruby/object:Gem::Version
41
- segments:
42
- - 1
43
- - 0
44
43
  version: "1.0"
45
- type: :runtime
46
- version_requirements: *id002
47
- description: cucumber-puppet supports writing behavioural tests for Puppet manifests
44
+ version:
45
+ description: cucumber-puppet is a tool for behavioral testing of Puppet manifests
48
46
  email: cucumber-puppet@erisiandiscord.de
49
47
  executables:
50
48
  - cucumber-puppet
@@ -61,16 +59,19 @@ files:
61
59
  - lib/cucumber-puppet/puppet.rb
62
60
  - lib/cucumber-puppet/rake/task.rb
63
61
  - lib/generators/feature/%feature_name%.feature
62
+ - man/cucumber-puppet.1
63
+ - man/cucumber-puppet-gen.1
64
64
  - VERSION.yml
65
- - lib/generators/world/support/world.rb
66
- - lib/generators/world/support/hooks.rb
67
- - lib/generators/world/steps/user.rb
68
- - lib/generators/world/steps/puppet.rb
69
- - lib/generators/world/steps/cron.rb
70
- - lib/generators/world/steps/service.rb
71
65
  - lib/generators/world/steps/package.rb
66
+ - lib/generators/world/steps/catalog_specs.rb
72
67
  - lib/generators/world/steps/exec.rb
68
+ - lib/generators/world/steps/user.rb
73
69
  - lib/generators/world/steps/file.rb
70
+ - lib/generators/world/steps/cron.rb
71
+ - lib/generators/world/steps/puppet.rb
72
+ - lib/generators/world/steps/service.rb
73
+ - lib/generators/world/support/hooks.rb
74
+ - lib/generators/world/support/world.rb
74
75
  has_rdoc: true
75
76
  homepage: http://github.com/nistude/cucumber-puppet/
76
77
  licenses: []
@@ -84,20 +85,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
85
  requirements:
85
86
  - - ">="
86
87
  - !ruby/object:Gem::Version
87
- segments:
88
- - 0
89
88
  version: "0"
89
+ version:
90
90
  required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- segments:
95
- - 0
96
94
  version: "0"
95
+ version:
97
96
  requirements: []
98
97
 
99
98
  rubyforge_project:
100
- rubygems_version: 1.3.6
99
+ rubygems_version: 1.3.5
101
100
  signing_key:
102
101
  specification_version: 3
103
102
  summary: Puppet manifest testing with Cucumber