Skip to content

Commit

Permalink
Merge "Add basic specs"
Browse files Browse the repository at this point in the history
  • Loading branch information
David Snyder authored and Gerrit Code Review committed Feb 25, 2014
2 parents 6e1c2d0 + 1638d27 commit fd36e2d
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
1 change: 1 addition & 0 deletions spec/announces.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"p1cimaster_control-mongo-0":{"p1cimaster_control-silverware-default":{"sys":"silverware","subsys":"default","name":"silverware_default","realm":"p1cimaster_control","timestamp":"20140224233449Z","info":{"realm":"p1cimaster_control"},"daemons":{},"ports":{},"dashboards":{},"logs":{},"directories":{},"exporteds":{}},"p1cimaster_control-mongodb-server":{"sys":"mongodb","subsys":"server","name":"mongodb_server","realm":"p1cimaster_control","timestamp":"20140224233552Z","info":{"logs":{"server":"/var/log/mongodb/mongodb.log"},"ports":{"http":{"port":27017,"protocol":"http"}},"daemons":{"mongod":{"name":"mongod","user":"mongodb","cmd":"mongod"}},"realm":"p1cimaster_control"},"daemons":{"mongod":{"name":"mongod","user":"mongodb","cmd":"mongod"}},"ports":{"http":{"port":27017,"protocol":"http"}},"dashboards":{},"logs":{"server":"/var/log/mongodb/mongodb.log"},"directories":{},"exporteds":{}},"p1cimaster_control-splunk-forwarder":{"sys":"splunk","subsys":"forwarder","name":"splunk_forwarder","realm":"p1cimaster_control","timestamp":"20140224233552Z","info":{"logs":{"forwarder":"/var/log/splunk/forwarder/current"},"daemons":{"forwarder":{"service":"splunk_forwarder"}},"realm":"p1cimaster_control"},"daemons":{"forwarder":{"service":"splunk_forwarder"}},"ports":{},"dashboards":{},"logs":{"forwarder":"/var/log/splunk/forwarder/current"},"directories":{},"exporteds":{}}}}
67 changes: 67 additions & 0 deletions spec/iron_cuke_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,71 @@
require 'iron_cuke'

describe IronCuke do
let(:announces) { JSON.parse(File.read("spec/announces.json")) }
let(:empty_component) {{"sys"=>"nfs", "subsys"=>"home", "name"=>"nfs_home", "realm"=>"p1cimaster_control", "daemons"=>{}, "ports"=>{}, "logs"=>{}}}
let(:mongo_component) {announces["p1cimaster_control-mongo-0"]["p1cimaster_control-mongodb-server"]}

describe IronCuke::Proctor::LogsProctor do
let(:log_proctor) { IronCuke::Proctor.proctor_for("logs") }

it 'loads the correct proctor class' do
log_proctor.class.should == IronCuke::Proctor::LogsProctor
end

it 'skips log components that are incomplete' do
log_proctor.will_write?(empty_component).should == false
end

it 'will write a present log component' do
log_proctor.will_write?(mongo_component).should == true
end

it 'cucumber test output contains log component' do
log_proctor.write_test(mongo_component).should =~ /\/var\/log\/mongodb\/mongodb.log/
end

end

describe IronCuke::Proctor::PortsProctor do
let(:ports_proctor) { IronCuke::Proctor.proctor_for("ports") }

it 'loads the correct proctor class' do
ports_proctor.class.should == IronCuke::Proctor::PortsProctor
end

it 'skips port components that are incomplete' do
ports_proctor.will_write?(empty_component).should == false
end

it 'will write a present port component' do
ports_proctor.will_write?(mongo_component).should == true
end

it 'cucumber test output contains port component' do
ports_proctor.write_test(mongo_component).should =~ /27017/
end

end

describe IronCuke::Proctor::DaemonsProctor do
let(:daemons_proctor) { IronCuke::Proctor.proctor_for("daemons") }

it 'loads the correct proctor class' do
daemons_proctor.class.should == IronCuke::Proctor::DaemonsProctor
end

it 'skips daemon components that are incomplete' do
daemons_proctor.will_write?(empty_component).should == false
end

it 'will write a present daemon component' do
daemons_proctor.will_write?(mongo_component).should == true
end

it 'cucumber test output contains daemon component' do
daemons_proctor.write_test(mongo_component).should =~ /mongod/
end

end

end

0 comments on commit fd36e2d

Please sign in to comment.