#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../../spec_helper' describe Puppet::Type::File, " when manipulating file contexts" do before :each do @file = Puppet.type(:file).create( :path => "/tmp/foo", :ensure => "file", :seluser => "user_u", :selrole => "role_r", :seltype => "type_t") end it "should use :seluser to get/set an SELinux user file context attribute" do @file[:seluser].should == "user_u" end it "should use :selrole to get/set an SELinux role file context attribute" do @file[:selrole].should == "role_r" end it "should use :seltype to get/set an SELinux user file context attribute" do @file[:seltype].should == "type_t" end end describe Puppet::Type::Selboolean, " when manipulating booleans" do before :each do @bool = Puppet.type(:selboolean).create( :name => "foo", :value => "on", :persistent => true) end it "should be able to access :name" do @bool[:name].should == "foo" end it "should be able to access :value" do @bool[:value].should == "on" end it "should set :value to off" do @bool[:value] = "off" @bool[:value].should == "off" end it "should be able to access :persistent" do @bool[:persistent].should == true end it "should set :persistent to false" do @bool[:persistent] = false @bool[:persistent].should == false end end describe Puppet::Type::Selmodule, " when checking policy modules" do before :each do @module = Puppet.type(:selmodule).create( :name => "foo", :selmoduledir => "/some/path", :selmodulepath => "/some/path/foo.pp", :syncversion => true) end it "should be able to access :name" do @module[:name].should == "foo" end it "should be able to access :selmoduledir" do @module[:selmoduledir].should == "/some/path" end it "should be able to access :selmodulepath" do @module[:selmodulepath].should == "/some/path/foo.pp" end it "should be able to access :syncversion" do @module[:syncversion].should == true end it "should set the syncversion value to false" do @module[:syncversion] = false @module[:syncversion].should == false end end