fluentd-ui/spec/models/fluentd/agent_spec.rb
2014-07-07 16:40:51 +09:00

92 lines
2.3 KiB
Ruby

require 'spec_helper'
describe Fluentd::Agent do
let(:instance) { described_class.new(options) }
let(:options) { {} }
describe "FluentdGem" do
let(:described_class) { Fluentd::Agent::FluentdGem } # override nested described_class behavior as https://github.com/rspec/rspec-core/issues/1114
it_should_behave_like "Fluentd::Agent has common behavior"
describe "#options_to_argv" do
subject { instance.send(:options_to_argv) }
it { should include("-c #{instance.config_file}") }
it { should include("-d #{instance.pid_file}") }
it { should include("-o #{instance.log_file}") }
it { should include("--use-v1-config") }
end
describe "#start" do
before { instance.stub(:running?).and_return(running) }
context "running" do
let(:running) { true }
subject { instance.start }
it { should be_truthy }
end
context "not running" do
let(:running) { false }
subject { instance.start }
before do
instance.stub(:actual_start).and_return(start_result)
end
context "actual start success" do
let(:start_result) { true }
it { should be_truthy }
end
context "actual start failed" do
let(:start_result) { false }
it { should be_falsy }
end
end
end
describe "#stop" do
before { instance.stub(:running?).and_return(running) }
subject { instance.stop }
context "running" do
let(:running) { true }
before { instance.stub(:actual_stop).and_return(stop_result) }
context "actual stop success" do
let(:stop_result) { true }
it { should be_truthy }
end
context "actual stop failed" do
let(:stop_result) { false }
it { should be_falsy }
end
end
context "not running" do
let(:running) { false }
it { should be_truthy }
end
end
describe "#restart" do
it_should_behave_like "Restart strategy"
end
end
describe "TdAgent" do
let(:described_class) { Fluentd::Agent::TdAgent } # override nested described_class behavior as https://github.com/rspec/rspec-core/issues/1114
it_should_behave_like "Fluentd::Agent has common behavior"
end
end