diff --git a/spec/persistence/couchdb_spec.rb b/spec/persistence/couchdb_spec.rb deleted file mode 100644 index e24496156..000000000 --- a/spec/persistence/couchdb_spec.rb +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env ruby - -require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'flapjack', 'applications', 'notifier') -require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'flapjack', 'persistence', 'couch') -require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'flapjack', 'transports', 'result') -require File.join(File.dirname(__FILE__), '..', 'helpers') - -describe "couchdb persistence backend" do - - before(:all) do - @backend_options = { :host => "localhost", - :port => "5984", - :database => "flapjack_test", - :log => MockLogger.new } - - uri = "/#{@backend_options[:database]}/" - request = ::Net::HTTP::Put.new(uri) - response = Net::HTTP.start(@backend_options[:host], @backend_options[:port]) {|http| http.request(request)} - - end - - it "should query its parent's statuses" do - # setup adapter - backend = Flapjack::Persistence::Couch.new(@backend_options) - - # check is failing - parent = Flapjack::Persistence::Couch::Document.new(:command => "exit 1", :name => "failing parent") - parent.save.should be_true - - # check is passing, but has a failing parent - child = Flapjack::Persistence::Couch::Document.new(:command => "exit 0", :name => "passing child", - :parent_checks => [parent.id]) - child.save.should be_true - - # test that failing parent check doesn't fail - raw_result = {:check_id => parent.id, :retval => 2} - result = Flapjack::Transport::Result.new(:result => raw_result) - - backend.any_parents_failed?(result).should be_false - - parent.status = 2 - parent.save.should be_true - - # test that passing child check does fail - raw_result = {:check_id => child.id, :retval => 0} - result = Flapjack::Transport::Result.new(:result => raw_result) - backend.any_parents_failed?(result).should be_true - end - - it "should persist a result" do - # setup adapter - backend = Flapjack::Persistence::Couch.new(@backend_options) - - - # save check - check = Flapjack::Persistence::Couch::Document.new(:command => "exit 0", :name => "good") - check.save.should be_true - - raw_result = {:check_id => check.id, :retval => 2} - result = Flapjack::Transport::Result.new(:result => raw_result) - - backend.save(result).should be_true - end - - it "should create an event" do - # setup adapter - backend = Flapjack::Persistence::Couch.new(@backend_options) - - check = Flapjack::Persistence::Couch::Document.new(:command => "exit 0", :name => "good") - check.save.should be_true - - raw_result = {:check_id => check.id, :retval => 2} - result = Flapjack::Transport::Result.new(:result => raw_result) - - backend.create_event(result).should be_true - - check.reload - check['events'].size.should == 1 - end - -end - diff --git a/spec/persistence/sqlite3_spec.rb b/spec/persistence/sqlite3_spec.rb deleted file mode 100644 index 32a154756..000000000 --- a/spec/persistence/sqlite3_spec.rb +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env ruby - -require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'flapjack', 'persistence', 'sqlite3') -require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'flapjack', 'transports', 'result') -require File.join(File.dirname(__FILE__), '..', 'helpers') - -describe "sqlite3 persistence backend" do - - it "should query its parent's statuses" do - backend_options = { :database => "/tmp/flapjack.db", - :auto_migrate => true, - :log => MockLogger.new } - - # setup adapter - backend = Flapjack::Persistence::Sqlite3.new(backend_options) - - # check is failing - db = SQLite3::Database.new(backend_options[:database]) - db.execute(%(INSERT INTO "checks" ("id", "command", "status", "enabled", "name") VALUES (1, 'exit 2', 2, 't', 'failing parent'))) - - # create check that is passing, but has a failing parent - db.execute(%(INSERT INTO "checks" ("id", "command", "status", "enabled", "name") VALUES (2, 'exit 0', 0, 't', 'passing child'))) - db.execute(%(INSERT INTO "related_checks" ("id", "parent_id", "child_id") VALUES (1, 1, 2))) - - # test that failing parent check doesn't fail - raw_result = {:check_id => 1, :retval => 2} - result = Flapjack::Transport::Result.new(:result => raw_result) - - backend.any_parents_failed?(result).should be_false - - # test that passing child check does fail - raw_result = {:check_id => 2, :retval => 0} - result = Flapjack::Transport::Result.new(:result => raw_result) - backend.any_parents_failed?(result).should be_true - end - - it "should persist a result" do - backend_options = { :database => "/tmp/flapjack.db", - :auto_migrate => true, - :log => MockLogger.new } - - # setup adapter - backend = Flapjack::Persistence::Sqlite3.new(backend_options) - - # save check - db = SQLite3::Database.new(backend_options[:database]) - db.execute(%(INSERT INTO "checks" ("id", "command", "status", "enabled", "name") VALUES (3, 'exit 2', 0, 't', 'failing parent'))) - - # test persistence - raw_result = {:check_id => 3, :retval => 2} - result = Flapjack::Transport::Result.new(:result => raw_result) - - backend.save(result).should be_true - - # verify it was updated - db.execute(%(SELECT status FROM "checks" WHERE id = '3')).first.first.to_i.should == 2 - end - - it "should create an event" do - backend_options = { :database => "/tmp/flapjack.db", - :auto_migrate => true, - :log => MockLogger.new } - - # setup adapter - backend = Flapjack::Persistence::Sqlite3.new(backend_options) - - # create a check to attach event to - db = SQLite3::Database.new(backend_options[:database]) - db.execute(%(INSERT INTO "checks" ("id", "command", "status", "enabled", "name") VALUES (4, 'exit 2', 2, 't', 'failing parent'))) - - # test event is created - raw_result = {:check_id => 4, :retval => 2} - result = Flapjack::Transport::Result.new(:result => raw_result) - - backend.create_event(result).should be_true - - # test event is actually created - db.execute(%(SELECT count(*) FROM "events" WHERE check_id = 4)).first.first.to_i.should == 1 - end - -end -