From 2f41b1b9441700eb68331927ded7ef6f25e192bb Mon Sep 17 00:00:00 2001 From: Gabes Jean Date: Wed, 9 Mar 2011 14:42:12 +0100 Subject: [PATCH] Add : first orphaned test. --- test/test_orphaned.py | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 test/test_orphaned.py diff --git a/test/test_orphaned.py b/test/test_orphaned.py new file mode 100755 index 0000000..b8ba16d --- /dev/null +++ b/test/test_orphaned.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python2.6 +#Copyright (C) 2009-2010 : +# Gabes Jean, naparuba@gmail.com +# Gerhard Lausser, Gerhard.Lausser@consol.de +# +#This file is part of Shinken. +# +#Shinken is free software: you can redistribute it and/or modify +#it under the terms of the GNU Affero General Public License as published by +#the Free Software Foundation, either version 3 of the License, or +#(at your option) any later version. +# +#Shinken is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU Affero General Public License for more details. +# +#You should have received a copy of the GNU Affero General Public License +#along with Shinken. If not, see . + +# +# This file is used to test reading and processing of config files +# + +#It's ugly I know.... +from shinken_test import * + + +class TestOrphaned(ShinkenTest): + #Uncomment this is you want to use a specific configuration + #for your test + #def setUp(self): + # self.setup_with_file('etc/nagios_1r_1h_1s.cfg') + + + #Change ME :) + def test_orphaned(self): + # + # Config is not correct because of a wrong relative path + # in the main config file + # + print "Get the hosts and services" + now = time.time() + host = self.sched.hosts.find_by_name("test_host_0") + host.checks_in_progress = [] + host.act_depend_of = [] # ignore the router + router = self.sched.hosts.find_by_name("test_router_0") + router.checks_in_progress = [] + router.act_depend_of = [] # ignore the router + svc = self.sched.services.find_srv_by_name_and_hostname("test_host_0", "test_ok_0") + svc.checks_in_progress = [] + svc.act_depend_of = [] # no hostchecks on critical checkresults + + #self.scheduler_loop(2, [[host, 0, 'UP | value1=1 value2=2'], [router, 0, 'UP | rtt=10'], [svc, 2, 'BAD | value1=0 value2=0']]) + #self.assert_(host.state == 'UP') + #self.assert_(host.state_type == 'HARD') + + svc.schedule() + print svc.actions + self.sched.get_new_actions() + for c in self.sched.checks.values(): + print c + # simulate a orphaned situation + c.t_to_go = now - 301 + c.status = 'inpoller' + + self.sched.check_orphaned() + + # Should be available to poller now :) + for c in self.sched.checks.values(): + self.assert_(c.status == 'scheduled') + + +if __name__ == '__main__': + unittest.main() + -- 2.11.4.GIT