diff options
author | Luke Kanies <luke@madstop.com> | 2008-10-08 21:16:26 -0500 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2008-10-08 21:16:26 -0500 |
commit | 54abe7084da32570f1d4b8522d9d3232c4313d4e (patch) | |
tree | f3788fe60db5c826ee17ee41765ae446a90476a5 | |
parent | 85d3ae02fb4707f1dd566019221195e431365c2f (diff) | |
download | puppet-54abe7084da32570f1d4b8522d9d3232c4313d4e.tar.gz puppet-54abe7084da32570f1d4b8522d9d3232c4313d4e.tar.xz puppet-54abe7084da32570f1d4b8522d9d3232c4313d4e.zip |
Moving some test/ package tests to rspec integration tests
and disabling a gem test that hangs forever for me.
Signed-off-by: Luke Kanies <luke@madstop.com>
-rwxr-xr-x | spec/integration/provider/package.rb | 26 | ||||
-rwxr-xr-x | test/ral/providers/package.rb | 31 |
2 files changed, 26 insertions, 31 deletions
diff --git a/spec/integration/provider/package.rb b/spec/integration/provider/package.rb new file mode 100755 index 000000000..24a196266 --- /dev/null +++ b/spec/integration/provider/package.rb @@ -0,0 +1,26 @@ +#!/usr/bin/env ruby + +Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } + +describe "Package Provider" do + Puppet::Type.type(:package).providers.each do |name| + provider = Puppet::Type.type(:package).provider(name) + + describe name do + confine "Provider %s is not suitable" % name => provider.suitable? + + it "should fail when asked to install an invalid package" do + pending("This test hangs forever with recent versions of RubyGems") if provider.name == :gem + pkg = Puppet::Type.newpackage :name => "nosuch%s" % provider.name.to_s, :provider => provider.name + lambda { pkg.provider.install }.should raise_error + end + + it "should be able to get a list of existing packages" do + provider.instances.each do |package| + package.should be_instance_of(provider) + package.properties[:provider].should == provider.name + end + end + end + end +end diff --git a/test/ral/providers/package.rb b/test/ral/providers/package.rb index f2d28d0f0..3b61c1abd 100755 --- a/test/ral/providers/package.rb +++ b/test/ral/providers/package.rb @@ -244,36 +244,5 @@ class TestPackageProvider < Test::Unit::TestCase pkg[:adminfile] = "/usr/local/pkg/admin_file" end end - - # Make sure providers throw an error when you tell them to install a - # non-existent package. - def test_no_such_package - Puppet::Type.type(:package).suitableprovider.each do |provider| - assert_raise(ArgumentError, Puppet::Error, Puppet::ExecutionFailure, - "Successfully installed nonexistent package with %s" % provider.name) { - pkg = Puppet::Type.newpackage :name => "nosuch%s" % provider.name.to_s, - :provider => provider.name - provider = pkg.provider - provider.install - } - end - end - - # Make sure all of the suitable providers on our platform can successfully - # list. - def test_instances - Puppet::Type.type(:package).suitableprovider.each do |provider| - result = nil - assert_nothing_raised("Could not list %s packages" % provider.name) do - result = provider.instances - end - result.each do |pkg| - assert_instance_of(provider, pkg, - "%s returned non-provider" % provider.name) - assert_equal(provider.name, pkg.class.name, - "Provider %s returned an instance of a different provider" % provider.name) - end - end - end end |