5854bb3f1fdc5bf30e036229385026434ce059e5
[packages/precise/mcollective.git] / spec / unit / plugins / mcollective / packagers / ospackage_spec.rb
1 #!/usr/bin/env rspec
2
3 require 'spec_helper'
4
5 MCollective::PluginManager.clear
6 require File.dirname(__FILE__) + '/../../../../../plugins/mcollective/pluginpackager/ospackage_packager.rb'
7
8 module MCollective
9   module PluginPackager
10     describe "#initialize" do
11
12       before :all do
13         @packager = mock()
14         @packager.stubs(:new)
15       end
16
17       it "should correctly set members and create the correct packager on redhat" do
18         File.expects(:exists?).with("/etc/redhat-release").returns(true)
19         PluginPackager.expects(:[]).with("RpmpackagePackager").returns(@packager)
20         ospackager = OspackagePackager.new("package")
21         ospackager.package_type.should == "RPM"
22       end
23
24       it "should correctly set members and create the correct packager on debian" do
25         File.expects(:exists?).with("/etc/redhat-release").returns(false)
26         File.expects(:exists?).with("/etc/debian_version").returns(true)
27         PluginPackager.expects(:[]).with("DebpackagePackager").returns(@packager)
28         ospackager = OspackagePackager.new("package")
29         ospackager.package_type.should == "Deb"
30       end
31
32       it "should raise an exception if the os can't be identified" do
33         File.expects(:exists?).with("/etc/redhat-release").returns(false)
34         File.expects(:exists?).with("/etc/debian_version").returns(false)
35         expect{
36           OspackagePackager.new("package")
37         }.to raise_error(RuntimeError)
38       end
39     end
40
41     describe "#create_packages" do
42       before :all do
43         @packager = mock
44         @packager.stubs(:new).returns(@packager)
45       end
46
47       it "should call a packagers create_packages class" do
48         File.expects(:exists?).with("/etc/redhat-release").returns(true)
49         PluginPackager.expects(:[]).with("RpmpackagePackager").returns(@packager)
50        @packager.expects(:create_packages)
51         ospackager = OspackagePackager.new("package")
52         ospackager.class.should == OspackagePackager
53         ospackager.create_packages
54       end
55     end
56   end
57 end