summaryrefslogtreecommitdiff
path: root/spec/support/shared/unit/execute_resource.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/shared/unit/execute_resource.rb')
-rw-r--r--spec/support/shared/unit/execute_resource.rb109
1 files changed, 51 insertions, 58 deletions
diff --git a/spec/support/shared/unit/execute_resource.rb b/spec/support/shared/unit/execute_resource.rb
index ae56a9697d..2708eccade 100644
--- a/spec/support/shared/unit/execute_resource.rb
+++ b/spec/support/shared/unit/execute_resource.rb
@@ -20,142 +20,135 @@
require "spec_helper"
shared_examples_for "an execute resource" do
-
- before(:each) do
- @resource = execute_resource
- end
-
- it "should create a new Chef::Resource::Execute" do
- expect(@resource).to be_a_kind_of(Chef::Resource)
- expect(@resource).to be_a_kind_of(Chef::Resource::Execute)
+ it "resource_name should equal :execute" do
+ expect(resource.resource_name).to eq(:execute)
end
- it "should set the command to the first argument to new" do
- expect(@resource.command).to eql(resource_instance_name)
+ it "should set the command to the resource name" do
+ expect(resource.command).to eql("some command")
end
it "should accept an array on instantiation, too" do
resource = Chef::Resource::Execute.new(%w{something else})
- expect(resource).to be_a_kind_of(Chef::Resource)
- expect(resource).to be_a_kind_of(Chef::Resource::Execute)
+ expect(resource.resource_name).to eq(:execute)
expect(resource.command).to eql(%w{something else})
end
it "should accept a string for the command to run" do
- @resource.command "something"
- expect(@resource.command).to eql("something")
+ resource.command "something"
+ expect(resource.command).to eql("something")
end
it "should accept an array for the command to run" do
- @resource.command %w{something else}
- expect(@resource.command).to eql(%w{something else})
+ resource.command %w{something else}
+ expect(resource.command).to eql(%w{something else})
end
it "should accept a string for the cwd" do
- @resource.cwd "something"
- expect(@resource.cwd).to eql("something")
+ resource.cwd "something"
+ expect(resource.cwd).to eql("something")
end
it "should accept a hash for the environment" do
test_hash = { :one => :two }
- @resource.environment(test_hash)
- expect(@resource.environment).to eql(test_hash)
+ resource.environment(test_hash)
+ expect(resource.environment).to eql(test_hash)
end
it "allows the environment to be specified with #env" do
- expect(@resource).to respond_to(:env)
+ expect(resource).to respond_to(:env)
end
it "should accept a string for the group" do
- @resource.group "something"
- expect(@resource.group).to eql("something")
+ resource.group "something"
+ expect(resource.group).to eql("something")
end
it "should accept an integer for the group" do
- @resource.group 1
- expect(@resource.group).to eql(1)
+ resource.group 1
+ expect(resource.group).to eql(1)
end
it "the old path property (that never worked) is not supported in chef >= 13" do
- expect { @resource.path [ "woot" ] }.to raise_error
+ expect { resource.path [ "woot" ] }.to raise_error
end
it "should accept an integer for the return code" do
- @resource.returns 1
- expect(@resource.returns).to eql(1)
+ resource.returns 1
+ expect(resource.returns).to eql(1)
end
it "should accept an integer for the timeout" do
- @resource.timeout 1
- expect(@resource.timeout).to eql(1)
+ resource.timeout 1
+ expect(resource.timeout).to eql(1)
end
it "should accept a string for the user" do
- @resource.user "something"
- expect(@resource.user).to eql("something")
+ resource.user "something"
+ expect(resource.user).to eql("something")
end
it "should accept an integer for the user" do
- @resource.user 1
- expect(@resource.user).to eql(1)
+ resource.user 1
+ expect(resource.user).to eql(1)
end
it "should accept a string for the domain" do
- @resource.domain "mothership"
- expect(@resource.domain).to eql("mothership")
+ resource.domain "mothership"
+ expect(resource.domain).to eql("mothership")
end
it "should accept a string for the password" do
- @resource.password "we.funk!"
- expect(@resource.password).to eql("we.funk!")
+ resource.password "we.funk!"
+ expect(resource.password).to eql("we.funk!")
end
it "should accept a string for creates" do
- @resource.creates "something"
- expect(@resource.creates).to eql("something")
+ resource.creates "something"
+ expect(resource.creates).to eql("something")
end
it "should accept a boolean for live streaming" do
- @resource.live_stream true
- expect(@resource.live_stream).to be true
+ resource.live_stream true
+ expect(resource.live_stream).to be true
end
describe "the resource's sensitive attribute" do
it "should be false by default" do
- expect(@resource.sensitive).to eq(false)
+ expect(resource.sensitive).to eq(false)
end
it "should be true if set to true" do
- expect(@resource.sensitive).to eq(false)
- @resource.sensitive true
- expect(@resource.sensitive).to eq(true)
+ expect(resource.sensitive).to eq(false)
+ resource.sensitive true
+ expect(resource.sensitive).to eq(true)
end
it "should be true if the password is non-nil" do
- @resource.password("we.funk!")
- expect(@resource.sensitive).to eq(true)
+ resource.password("we.funk!")
+ expect(resource.sensitive).to eq(true)
end
it "should be true if the password is non-nil but the value is explicitly set to false" do
- @resource.password("we.funk!")
- @resource.sensitive false
- expect(@resource.sensitive).to eq(true)
+ resource.password("we.funk!")
+ resource.sensitive false
+ expect(resource.sensitive).to eq(true)
end
end
describe "when it has cwd, environment, group, path, return value, and a user" do
before do
- @resource.command("grep")
- @resource.cwd("/tmp/")
- @resource.environment({ :one => :two })
- @resource.group("legos")
- @resource.returns(1)
- @resource.user("root")
+ resource.command("grep")
+ resource.cwd("/tmp/")
+ resource.environment({ :one => :two })
+ resource.group("legos")
+ resource.returns(1)
+ resource.user("root")
end
it "returns the command as its identity" do
- expect(@resource.identity).to eq("grep")
+ expect(resource.identity).to eq("grep")
end
end
end