Пример #1
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)
Пример #2
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)
Пример #3
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)
Пример #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.nodes_error(), NodeSet())
     self.assertEqual(action.nb_errors(), 0)
     self.assertEqual(action.status, DONE)
Пример #5
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)
Пример #6
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)
Пример #7
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)
Пример #8
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)
Пример #9
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)
Пример #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)