mirror of
https://github.com/inspec/inspec
synced 2024-12-04 02:19:50 +00:00
40 lines
1.3 KiB
Ruby
40 lines
1.3 KiB
Ruby
|
require "helper"
|
||
|
require "inspec/resource"
|
||
|
require "inspec/resources/cron"
|
||
|
|
||
|
describe "Inspec::Resources::Cron" do
|
||
|
let(:cron) { load_resource("cron") }
|
||
|
|
||
|
describe "has_entry?" do
|
||
|
it "verifies given rule exist in the crontab entires." do
|
||
|
_(cron.has_entry?("0 2 11 9 4 /path/to/script1")).must_equal true
|
||
|
end
|
||
|
|
||
|
it "fails if given rule does not exist in the crontab entires." do
|
||
|
_(cron.has_entry?("* * * * * /path/to/script1")).must_equal false
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe "table" do
|
||
|
it "returns all entries in the crontab in strin format." do
|
||
|
_(cron.table).must_match "0 2 11 9 4"
|
||
|
_(cron.table).must_be_kind_of String
|
||
|
end
|
||
|
end
|
||
|
|
||
|
describe "it raises errors" do
|
||
|
it "fails and raises error on unsupported os" do
|
||
|
resource = MockLoader.new(:windows).load_resource("cron")
|
||
|
_(resource).must_be :resource_failed?
|
||
|
_(resource.resource_exception_message)
|
||
|
.must_equal "Resource `cron` is not supported on platform windows/6.2.9200."
|
||
|
end
|
||
|
|
||
|
it "raises error when exit status is not 0" do
|
||
|
resource = MockLoader.new(:linux).load_resource("cron", { user: "testuser" })
|
||
|
_(resource.resource_failed?).must_equal true
|
||
|
_(resource.resource_exception_message).must_include "Error while executing crontab -l -u testuser command:"
|
||
|
end
|
||
|
end
|
||
|
end
|