Пример #1
0
    def test_mix_errors_timeout(self):
        """Test the result of mixed timeout and error actions."""
        # timeout host configuration is in setup_sshconfig (__init__.py)
        action = Action(name='start',
                        target='badname,timeout,localhost',
                        command='/bin/true',
                        timeout=0.9)
        action.errors = 1
        service = Service('test_service')
        service.add_action(action)
        service.run('start')
        self.assertEqual(action.nodes_error(), NodeSet('badname'))
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nodes_timeout(), NodeSet('timeout'))
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, ERROR)

        service.reset()
        action.errors = 2
        service.run('start')
        self.assertEqual(action.nodes_error(), NodeSet('badname'))
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nodes_timeout(), NodeSet('timeout'))
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, WARNING)

        service.reset()
        action.errors = 2
        action.warnings = 2
        service.run('start')
        self.assertEqual(action.nodes_error(), NodeSet('badname'))
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nodes_timeout(), NodeSet('timeout'))
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, DONE)
Пример #2
0
    def test_mix_errors_timeout(self):
        """Test the result of mixed timeout and error actions."""

        action = Action(name='start', target='badname,timeout,localhost',
                        command='/bin/true', timeout=0.9)
        action.errors = 1
        service = Service('test_service')
        service.add_action(action)
        service.run('start')
        self.assertEqual(action.nodes_error(), NodeSet('badname'))
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nodes_timeout(), NodeSet('timeout'))
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, ERROR)

        service.reset()
        action.errors = 2
        service.run('start')
        self.assertEqual(action.nodes_error(), NodeSet('badname'))
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nodes_timeout(), NodeSet('timeout'))
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, WARNING)

        service.reset()
        action.errors = 2
        action.warnings = 2
        service.run('start')
        self.assertEqual(action.nodes_error(), NodeSet('badname'))
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nodes_timeout(), NodeSet('timeout'))
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, DONE)
Пример #3
0
    def test_mix_errors_timeout(self):
        """Test the result of mixed timeout and error actions."""
        cmd = 'echo "${SSH_CLIENT%%%% *}" | egrep "^(127.0.0.1|::1)$" ||sleep 1'
        action = Action(name="start", target="badname,%s,localhost" % HOSTNAME, command=cmd, timeout=0.6)
        action.errors = 1
        service = Service("test_service")
        service.add_action(action)
        service.run("start")
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, ERROR)

        service.reset()
        action.errors = 2
        service.run("start")
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, WARNING)

        service.reset()
        action.errors = 2
        action.warnings = 2
        service.run("start")
        self.assertEqual(action.nb_errors(), 1)
        self.assertEqual(action.nb_timeout(), 1)
        self.assertEqual(action.status, DONE)
Пример #4
0
 def test_nb_errors_remote2(self):
     """Test the method nb_errors() with no error (remote)."""
     action = Action(name="test", target=HOSTNAME, command="/bin/true")
     service = Service("test_service")
     service.add_action(action)
     service.run("test")
     self.assertEqual(action.nb_errors(), 0)
     self.assertEqual(action.status, DONE)
Пример #5
0
 def test_nb_errors_remote2(self):
     """Test the method nb_errors() with no error (remote)."""
     action = Action(name='test', target=HOSTNAME, command='/bin/true')
     service = Service('test_service')
     service.add_action(action)
     service.run('test')
     self.assertEqual(action.nodes_error(), NodeSet())
     self.assertEqual(action.nb_errors(), 0)
     self.assertEqual(action.status, DONE)
Пример #6
0
 def test_nb_errors_remote2(self):
     """Test the method nb_errors() with no error (remote)."""
     action = Action(name='test', target=HOSTNAME, command='/bin/true')
     service = Service('test_service')
     service.add_action(action)
     service.run('test')
     self.assertEqual(action.nodes_error(), NodeSet())
     self.assertEqual(action.nb_errors(), 0)
     self.assertEqual(action.status, DONE)
Пример #7
0
 def test_nb_errors_remote(self):
     """Test the method nb_errors() (remote)."""
     action = Action(name="start", target="aury[12,13,21]", command="/bin/false")
     action.errors = 2
     service = Service("test_service")
     service.add_action(action)
     service.run("start")
     self.assertEqual(action.nb_errors(), 3)
     self.assertEqual(action.status, ERROR)
Пример #8
0
 def test_nb_timeout_local(self):
     """Test nb_timeout() method (local)"""
     action = Action(name="start", command="sleep 3", timeout=0.3)
     service = Service("test_service")
     service.add_action(action)
     service.run("start")
     self.assertEqual(action.nb_errors(), 0)
     self.assertEqual(action.nb_timeout(), 1)
     self.assertEqual(action.status, TIMEOUT)
Пример #9
0
 def test_nb_timeout_local(self):
     """Test nb_timeout() method (local)"""
     action = Action(name='start', command='sleep 3', timeout=0.3)
     service = Service('test_service')
     service.add_action(action)
     service.run('start')
     self.assertEqual(action.nodes_error(), NodeSet())
     self.assertEqual(action.nb_errors(), 0)
     self.assertEqual(action.nodes_timeout(), NodeSet("localhost"))
     self.assertEqual(action.nb_timeout(), 1)
     self.assertEqual(action.status, TIMEOUT)
Пример #10
0
 def test_nb_errors_remote(self):
     """Test the method nb_errors() (remote)."""
     action = Action(name='start', target='badname[12,13,21]',
                     command='/bin/false')
     action.errors = 2
     service = Service('test_service')
     service.add_action(action)
     service.run('start')
     self.assertEqual(action.nodes_error(), NodeSet("badname[12,13,21]"))
     self.assertEqual(action.nb_errors(), 3)
     self.assertEqual(action.status, ERROR)
Пример #11
0
 def test_nb_timeout_local(self):
     """Test nb_timeout() method (local)"""
     action = Action(name='start', command='sleep 3', timeout=0.3)
     service = Service('test_service')
     service.add_action(action)
     service.run('start')
     self.assertEqual(action.nodes_error(), NodeSet())
     self.assertEqual(action.nb_errors(), 0)
     self.assertEqual(action.nodes_timeout(), NodeSet("localhost"))
     self.assertEqual(action.nb_timeout(), 1)
     self.assertEqual(action.status, TIMEOUT)
Пример #12
0
    def test_nb_errors_local(self):
        """Test the method nb_errors() (local)"""
        service = Service('test_service')
        act_test = Action(name='test', command='/bin/true')
        service.add_action(act_test)
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet())
        self.assertEqual(act_test.nb_errors(), 0)
        self.assertEqual(act_test.status, DONE)

        service.reset()
        act_test.errors = 1
        act_test.command = '/bin/false'
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet("localhost"))
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, WARNING)

        service.reset()
        act_test.errors = 1
        act_test.warnings = 1
        act_test.command = '/bin/false'
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet("localhost"))
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, DONE)

        service.reset()
        act_test.errors = 0
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet("localhost"))
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, ERROR)

        service.reset()
        act_test.errors = 0
        act_test.warnings = 1
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet("localhost"))
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, ERROR)
Пример #13
0
    def test_nb_errors_local(self):
        """Test the method nb_errors() (local)"""
        service = Service('test_service')
        act_test = Action(name='test', command='/bin/true')
        service.add_action(act_test)
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet())
        self.assertEqual(act_test.nb_errors(), 0)
        self.assertEqual(act_test.status, DONE)

        service.reset()
        act_test.errors = 1
        act_test.command = '/bin/false'
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet("localhost"))
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, WARNING)

        service.reset()
        act_test.errors = 1
        act_test.warnings = 1
        act_test.command = '/bin/false'
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet("localhost"))
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, DONE)

        service.reset()
        act_test.errors = 0
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet("localhost"))
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, ERROR)

        service.reset()
        act_test.errors = 0
        act_test.warnings = 1
        service.run('test')
        self.assertEqual(act_test.nodes_error(), NodeSet("localhost"))
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, ERROR)
Пример #14
0
 def test_nb_errors_remote(self):
     """Test the method nb_errors() (remote)."""
     action = Action(name='start',
                     target='badname[12,13,21]',
                     command='/bin/false')
     action.errors = 2
     service = Service('test_service')
     service.add_action(action)
     service.run('start')
     self.assertEqual(action.nodes_error(), NodeSet("badname[12,13,21]"))
     self.assertEqual(action.nb_errors(), 3)
     self.assertEqual(action.status, ERROR)
Пример #15
0
    def test_nb_errors_local(self):
        """Test the method nb_errors() (local)"""
        service = Service("test_service")
        act_test = Action(name="test", command="/bin/true")
        service.add_action(act_test)
        service.run("test")
        self.assertEqual(act_test.nb_errors(), 0)
        self.assertEqual(act_test.status, DONE)

        service.reset()
        act_test.errors = 1
        act_test.command = "/bin/false"
        service.run("test")
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, WARNING)

        service.reset()
        act_test.errors = 1
        act_test.warnings = 1
        act_test.command = "/bin/false"
        service.run("test")
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, DONE)

        service.reset()
        act_test.errors = 0
        service.run("test")
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, ERROR)

        service.reset()
        act_test.errors = 0
        act_test.warnings = 1
        service.run("test")
        self.assertEqual(act_test.nb_errors(), 1)
        self.assertEqual(act_test.status, ERROR)