Skip to content

Commit e99b140

Browse files
committed
more coverage for erl_call provider
1 parent f92207b commit e99b140

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

chef/spec/unit/provider/erl_call_spec.rb

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,36 @@
2323
@node = mock("Chef::Node", :null_object => true)
2424
@new_resource = mock("Chef::Resource::ErlCall",
2525
:null_object => true,
26-
:code => "io:format(\"burritos~n\", []).",
27-
:user => nil,
28-
:group => nil,
29-
:cookie => nil,
30-
:distributed => false,
26+
:code => "io:format(\"burritos\", []).",
27+
:cookie => "nomnomnom",
28+
:distributed => true,
3129
:name_type => "sname",
3230
:node_name => "chef@localhost",
3331
:name => "test"
3432
)
3533

34+
@provider = Chef::Provider::ErlCall.new(@node, @new_resource)
35+
36+
@status = mock("Status", :exitstatus => 0)
37+
@provider.stub!(:popen4).and_return(@status)
38+
@stdin = mock("STDIN", :null_object => true)
39+
@stdout = mock("STDOUT", :null_object => true)
40+
@stderr = mock("STDERR", :null_object => true)
41+
@pid = mock("PID", :null_object => true)
3642
end
3743

3844
it "should return a Chef::Provider::ErlCall object" do
3945
provider = Chef::Provider::ErlCall.new(@node, @new_resource)
4046
provider.should be_a_kind_of(Chef::Provider::ErlCall)
4147
end
4248

49+
it "should return true" do
50+
@provider.load_current_resource.should eql(true)
51+
end
52+
53+
it "should write to stdin of the erl_call command" do
54+
@provider.stub!(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
55+
@provider.action_run
56+
end
57+
4358
end

0 commit comments

Comments
 (0)