summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-07-07 16:34:53 -0500
committerLuke Kanies <luke@madstop.com>2008-07-07 16:34:53 -0500
commit71f4b02f1d3fab7ad10c6961405b0e94721e4031 (patch)
tree93810d2e6eddfc5e9a0b501ecef03c14436e3a5a /spec
parent81be1c5c3f85f514505e99fab5b8a2b2ae6fbec8 (diff)
downloadpuppet-71f4b02f1d3fab7ad10c6961405b0e94721e4031.tar.gz
puppet-71f4b02f1d3fab7ad10c6961405b0e94721e4031.tar.xz
puppet-71f4b02f1d3fab7ad10c6961405b0e94721e4031.zip
Importing Sam Quigley's work to enhance gem support for sources.
Diffstat (limited to 'spec')
-rw-r--r--spec/unit/ral/provider/package/gem.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/unit/ral/provider/package/gem.rb b/spec/unit/ral/provider/package/gem.rb
new file mode 100644
index 000000000..fcd8bf4ae
--- /dev/null
+++ b/spec/unit/ral/provider/package/gem.rb
@@ -0,0 +1,39 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../../../../spec_helper'
+require 'puppet/provider/package/gem'
+
+provider_class = Puppet::Type.type(:package).provider(:gem)
+
+describe provider_class do
+ it "should have an install method" do
+ @provider = provider_class.new
+ @provider.should respond_to(:install)
+ end
+
+ describe "when installing" do
+ before do
+ # Create a mock resource
+ @resource = mock 'resource'
+
+ # A catch all; no parameters set
+ @resource.stubs(:[]).returns nil
+
+ # We have to set a name, though
+ @resource.stubs(:[]).with(:name).returns "myresource"
+
+ # BTW, you get odd error messages from rspec if you forget to mock "should" here...
+ @resource.stubs(:should).with(:ensure).returns :installed
+
+ @provider = provider_class.new
+ @provider.stubs(:resource).returns @resource
+ # Create a provider that uses the mock
+# @provider = provider_class.new(@resource)
+ end
+
+ it "should execute the gem command with 'install', dependencies, and the package name" do
+ @provider.expects(:execute).with(provider_class.command(:gemcmd), 'install', "--include-dependences", "myresource")
+ @provider.install
+ end
+ end
+end