summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDan Bode <dan@puppetlabs.com>2010-10-11 08:31:37 -0700
committerDan Bode <dan@puppetlabs.com>2010-10-11 08:31:37 -0700
commit350a018958865d68b503b7ee62d60cd2704a41a0 (patch)
tree64b9bb586d36caa5f0790adb2f55af878867ed1a /spec
parentbefb480da0c4ebb442e4a0581216a037885aa546 (diff)
modified unit tests.
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/helpers.rb7
-rw-r--r--spec/unit/provider/sudoers/parsed_spec.rb72
-rw-r--r--spec/unit/provider/sudoers/sudoers.spec55
-rw-r--r--spec/unit/puppet/provider/ec2/ec2.rb40
-rw-r--r--spec/unit/puppet/type/ec2.rb125
-rw-r--r--spec/unit/puppet/util/ec2.rb34
6 files changed, 79 insertions, 254 deletions
diff --git a/spec/lib/helpers.rb b/spec/lib/helpers.rb
index ca061d0..bb2fecf 100644
--- a/spec/lib/helpers.rb
+++ b/spec/lib/helpers.rb
@@ -103,3 +103,10 @@ module Helpers
end
end
+#Spec::Example::ExampleGroupFactory.register(:provider, ProviderExampleGroup)
+#
+# Outside wrapper to lookup a provider and start the spec using ProviderExampleGroup
+#def describe_provider(type_name, provider_name, options = {}, &block)
+# provider_class = Puppet::Type.type(type_name).provider(provider_name)
+# describe(provider_class, options.merge(:type => :provider), &block)
+#end
diff --git a/spec/unit/provider/sudoers/parsed_spec.rb b/spec/unit/provider/sudoers/parsed_spec.rb
new file mode 100644
index 0000000..3cf001c
--- /dev/null
+++ b/spec/unit/provider/sudoers/parsed_spec.rb
@@ -0,0 +1,72 @@
+require 'pathname'; Pathname.new(__FILE__).realpath.ascend { |x| begin; require (x + 'spec_helper.rb'); break; rescue LoadError; end }
+
+#describe_provider :sudoers, :parsed, :resource => {:path => '/tmp/vcsrepo'} do
+describe Puppet::Type.type(:sudoers).provider(:parsed) do
+ before(:each) do
+ @provider = Puppet::Type.type(:sudoers).provider(:parsed)
+ end
+ it 'should not be null' do
+ @provider.should_not be_nil
+ end
+
+ describe 'setup' do
+ it 'should fail if visudo is not in path' do
+ ENV['PATH']=''
+ @provider = Puppet::Type.type(:sudoers).provider(:parsed)
+ end
+ it 'should work if visudo is in path' do
+ end
+ end
+
+# context "parsing lines" do
+# context "should ignore empty lines" do
+#
+# end
+# context "should ignore comment lines" do
+#
+# end
+# context "parsing invalid lines" do
+#
+# end
+# context "parsing alias lines" do
+#
+# end
+# context "parsing user spec lines" do
+# context "prefetch comment NAMEVAR lines for user spec"
+# end
+# end
+# context "parsing defaults lines" do
+#
+# end
+# end
+#
+# context "dissallow type changes" do
+# # not sure if this requires a type
+# end
+#
+#
+# context "Writing lines" do
+# context "write comment lines" do
+#
+# end
+# context "write blank lines" do
+#
+# end
+# context "write user alias lines" do
+#
+# end
+# context "write user spec lines" do
+#
+# end
+# context "write defaults lines" do
+#
+# end
+# context "fail for invalid types" do
+#
+# end
+# context "fail for invalid lines" do
+#
+# end
+# end
+end
+
diff --git a/spec/unit/provider/sudoers/sudoers.spec b/spec/unit/provider/sudoers/sudoers.spec
deleted file mode 100644
index 1d94c8e..0000000
--- a/spec/unit/provider/sudoers/sudoers.spec
+++ /dev/null
@@ -1,55 +0,0 @@
-describe_provider :vcsrepo, :git, :resource => {:path => '/tmp/vcsrepo'} do
-
- context "parsing lines" do
- context "should ignore empty lines" do
-
- end
- context "should ignore comment lines" do
-
- end
- context "parsing invalid lines" do
-
- end
- context "parsing alias lines" do
-
- end
- context "parsing user spec lines" do
- context "prefetch comment NAMEVAR lines for user spec"
- end
- end
- context "parsing defaults lines"
-
- end
- end
-
- context "dissallow type changes" do
- # not sure if this requires a type
- end
-
-
- context "Writing lines" do
- context "write comment lines" do
-
- end
- context "write blank lines" do
-
- end
- context "write user alias lines" do
-
- end
- context "write user spec lines" do
-
- end
- context "write defaults lines" do
-
- end
- context "fail for invalid types" do
-
- end
- context "fail for invalid lines" do
-
- end
- end
-
-end
-
diff --git a/spec/unit/puppet/provider/ec2/ec2.rb b/spec/unit/puppet/provider/ec2/ec2.rb
deleted file mode 100644
index 1846147..0000000
--- a/spec/unit/puppet/provider/ec2/ec2.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
-
-provider_class = Puppet::Type.type(:ec2).provider(:ec2)
-
-describe provider_class do
- before do
- @resource = stub("resource")
- @provider = provider_class.new(@resource)
- end
-
-# it "should not be suitable if the 'aws' libraries are missing" do
-# Puppet.features.expects(:aws?).returns false
-# provider_class.should_not be_suitable
-# end
-
-# it "should be suitable if the 'aws' libraries are present" do
-# Puppet.features.expects(:aws?).returns true
-# provider_class.should be_suitable
-# end
-
-# it "should be present if provided an 'ensure' value of 'present'" do
-# provider_class.new(:ensure => :present).should be_exists
-# end
-#
-# it "should be absent if provided an 'ensure' value of 'absent'" do
-# provider_class.new(:ensure => :absent).should_not be_exists
-# end
-#
-# it "should be absent if not provided an 'ensure' value" do
-# provider_class.new({}).should_not be_exists
-# end
-#
-# it "should be absent if provided with a resource rather than an 'ensure' value" do
-# provider_class.new(@resource).should_not be_exists
-# end
-
-# it "should accept an instance_id at initialization" do
-# provider_class.new(:instance_id => 50).instance_id.should == 50
-# end
-end
diff --git a/spec/unit/puppet/type/ec2.rb b/spec/unit/puppet/type/ec2.rb
deleted file mode 100644
index ce3d51c..0000000
--- a/spec/unit/puppet/type/ec2.rb
+++ /dev/null
@@ -1,125 +0,0 @@
-Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
-
-describe Puppet::Type.type(:ec2) do
- before do
- @type = Puppet::Type.type(:ec2)
- stub_default_provider!
- @valid_types = [
- 'm1.small', 'm1.large', 'm1.xlarge',
- 'm2.xlarge', 'm2.2xlarge', 'm2.4xlarge',
- 'c1.medium', 'c1.xlarge'
- ]
- @valid_params = {
- :name => :name,
- :ensure => :present,
- :user => 'user',
- :password => 'password',
- :image => 'image',
- :desc => 'description'
-
- }
- end
-
- it "should exist" do
- @type.should_not be_nil
- end
-
- describe "the name parameter" do
- it "should exist" do
- @type.attrclass(:name).should_not be_nil
- end
- it 'values should be prefixed with PUPPET_' do
- with(valid_params)[:name].should == "PUPPET_#{valid_params[:name]}"
- end
- it 'should be required' do
- specifying(valid_params_without(:name)).should raise_error(Puppet::Error)
- end
- end
-
- describe "the user parameter" do
- it "should exist" do
- @type.attrclass(:user).should_not be_nil
- end
- it 'should support setting a value' do
- with(valid_params)[:user].should == valid_params[:user]
- end
- # I think isrequired is broken
- it 'should be required' do
- specifying(valid_params_without(:user)).should raise_error(Puppet::Error)
- end
- end
-
- describe "the password parameter" do
- it "should exist" do
- @type.attrclass(:password).should_not be_nil
- end
- it 'should support setting a value' do
- with(valid_params)[:password].should == valid_params[:password]
- end
- it 'should be required' do
- specifying(valid_params_without(:password)).should raise_error(Puppet::Error)
- end
- end
-
- describe "the image parameter" do
- it "should exist" do
- @type.attrclass(:image).should_not be_nil
- end
- it 'should be required' do
- specifying(valid_params_without(:image)).should raise_error(Puppet::Error)
- end
- it 'should support setting a value' do
- with(valid_params)[:image].should == valid_params[:image]
- end
- end
-
- describe "the desc parameter" do
- it "should exist" do
- @type.attrclass(:desc).should_not be_nil
- end
- it 'should not be required' do
- specifying(valid_params_without(:desc)).should_not raise_error(Puppet::Error)
- end
- it 'should accept a value' do
- with(valid_params)[:desc].should == 'description'
- end
- end
-
- describe 'the type parameter' do
- it 'should exist' do
- @type.attrclass(:type).should_not be_nil
- end
- it 'should accept valid ec2 types' do
- @valid_types.each do |t|
- with(valid_params_with({:type => t}))[:type].should == t
- end
- end
- it 'should not accept invalid types' do
- specifying(:type => 'm1.freakin-huge').should raise_error(Puppet::Error)
- end
- it 'should default to m1.small' do
- with(valid_params_without(:type)) do |resource|
- resource[:type].should == 'm1.small'
- end
- end
- end
- describe "when specifying the 'ensure' parameter" do
- it "should exist" do
- @type.attrclass(:ensure).should_not be_nil
- end
- it "should support 'present' as a value" do
- with(valid_params_with({:ensure => :present}))[:ensure].should == :present
- end
- it "should support 'absent' as a value" do
- with(valid_params.merge(:ensure => :absent)) do |resource|
- resource[:ensure].should == :absent
- end
- end
- it "should not support other values" do
- specifying(valid_params.merge(:ensure => :foobar)).should raise_error(Puppet::Error)
- end
- it 'should not be required' do
- specifying(valid_params_without(:ensure)).should_not raise_error(Puppet::Error)
- end
- end
-end
diff --git a/spec/unit/puppet/util/ec2.rb b/spec/unit/puppet/util/ec2.rb
deleted file mode 100644
index c8757ee..0000000
--- a/spec/unit/puppet/util/ec2.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
-
-require 'puppet/util/ec2'
-
-class Ec2Helper
- include Puppet::Util::Ec2
-end
-
-# LAK: This way the constants exist, but I expect we'll regret this
-unless Puppet.features.aws?
- class AWS
- class EC2
- class Base
- end
- end
- end
-end
-
-describe Puppet::Util::Ec2 do
- before do
- @helper = Ec2Helper.new
- end
-
- it "should use AWS::Base to create an EC2 connection" do
- AWS::EC2::Base.expects(:new).with(:access_key_id => "myuser", :secret_access_key => "mypass")
- @helper.ec2_connection("myuser", "mypass")
- end
-
- it "should call foo and bar when calling baz" do
- @helper.stubs(:foo).returns "yay"
- @helper.expects(:bar).with("yay").returns "yip"
- @helper.baz.should == "yip"
- end
-end