Exemplo n.º 1
0
class TestCase(unittest.TestCase):
    def setUp(self):
        super(TestCase, self).setUp()
        self._handler = LoggingHandler()
        self._handler.push_application()
        self.override_config("hooks.swallow_exceptions", False)
        self.override_config("log.console_level", 10000) # silence console in tests
    def override_config(self, path, value):
        self.addCleanup(config.assign_path, path, config.get_path(path))
        config.assign_path(path, value)
    _forge = None
    @property
    def forge(self):
        if self._forge is None:
            self._forge = forge.Forge()
        return self._forge
    _events = None
    @property
    def events(self):
        if self._events is None:
            self._events = self.forge.create_wildcard_mock()
        return self._events
    def tearDown(self):
        if self._forge is not None:
            self._forge.restore_all_replacements()
            self._forge.verify()
        self._handler.pop_application()
        super(TestCase, self).tearDown()
Exemplo n.º 2
0
class StepTest(unittest.TestCase):
    def setUp(self):
        super(StepTest, self).setUp()
        self._handler = LoggingHandler()
        self._handler.push_application()
        self.actions = {'start':False, 'error':False, 'end':False, 'success':False}
        @gossip.register('slash.step_start', token="step")
        def step_start():
            self.actions['start'] = True
        @gossip.register('slash.step_end', token="step")
        def step_end():
            self.actions['end'] = True
        @gossip.register('slash.step_success', token="step")
        def step_success():
            self.actions['success'] = True
            self._verify(end=False)
        @gossip.register('slash.step_error', token="step")
        def step_error():
            self.actions['error'] = True
            self._verify(success=False, end=False, error=True)
    def tearDown(self):
        self._handler.pop_application()
        gossip.unregister_token(token="step")
        super(StepTest, self).tearDown()
    def test_step_entry(self):
        msg = "Some step message"
        with STEP(msg) as step:
            self.assertIsInstance(step, STEP)
            self.assertEquals(str(step), msg)
            self.assertIn(msg, repr(step))
    def test_step_success(self):
        with STEP("This will succeed"):
            self._verify(success=False, end=False)
        self._verify()
    def test_step_error(self):
        with self.assertRaises(AssertionError):
            with STEP("This will fail"):
                assert 1 == 0
        self._verify(success=False, error=True)
    def _verify(self, start=True, success=True, end=True, error=False):
        self.assertEquals(start, self.actions['start'])
        self.assertEquals(end, self.actions['end'])
        self.assertEquals(success, self.actions['success'])
        self.assertEquals(error, self.actions['error'])
    def test_step_creation_with_arguments(self):
        step = STEP("Message with args and kwargs", "args", kwargs='kwargs')
        self.assertEquals(step.message, "Message with args and kwargs")
    def test_step_creation_with_curly_brackets_without_arguments(self):
        message = "My message with {curly brackets}"
        step = STEP(message)
        self.assertEquals(step.message, message)
Exemplo n.º 3
0
class StepTest(unittest.TestCase):
    def setUp(self):
        super(StepTest, self).setUp()
        self._handler = LoggingHandler()
        self._handler.push_application()
        self.actions = {
            'start': False,
            'error': False,
            'end': False,
            'success': False
        }

        @gossip.register('slash.step_start', token="step")
        def step_start():
            self.actions['start'] = True

        @gossip.register('slash.step_end', token="step")
        def step_end():
            self.actions['end'] = True

        @gossip.register('slash.step_success', token="step")
        def step_success():
            self.actions['success'] = True
            self._verify(end=False)

        @gossip.register('slash.step_error', token="step")
        def step_error():
            self.actions['error'] = True
            self._verify(success=False, end=False, error=True)

    def tearDown(self):
        self._handler.pop_application()
        gossip.unregister_token(token="step")
        super(StepTest, self).tearDown()

    def test_step_entry(self):
        msg = "Some step message"
        with STEP(msg) as step:
            self.assertIsInstance(step, STEP)
            self.assertEquals(str(step), msg)
            self.assertIn(msg, repr(step))

    def test_step_success(self):
        with STEP("This will succeed"):
            self._verify(success=False, end=False)
        self._verify()

    def test_step_error(self):
        with self.assertRaises(AssertionError):
            with STEP("This will fail"):
                assert 1 == 0
        self._verify(success=False, error=True)

    def _verify(self, start=True, success=True, end=True, error=False):
        self.assertEquals(start, self.actions['start'])
        self.assertEquals(end, self.actions['end'])
        self.assertEquals(success, self.actions['success'])
        self.assertEquals(error, self.actions['error'])

    def test_step_creation_with_arguments(self):
        step = STEP("Message with args and kwargs", "args", kwargs='kwargs')
        self.assertEquals(step.message, "Message with args and kwargs")

    def test_step_creation_with_curly_brackets_without_arguments(self):
        message = "My message with {curly brackets}"
        step = STEP(message)
        self.assertEquals(step.message, message)