示例#1
0
    def test_on_shutdown_already_inactive(self, inlet1, outlet1):
        type(inlet1).active = mock.PropertyMock(return_value=False)
        type(outlet1).active = mock.PropertyMock(return_value=False)
        link = Link([inlet1], [outlet1],
                    timedelta(seconds=1),
                    tags='test_on_shutdown_already_inactive')

        link.on_shutdown()

        inlet1.on_shutdown.assert_not_called()
        outlet1.on_shutdown.assert_not_called()
示例#2
0
    def test_on_shutdown(self, inlet1, outlet1):
        type(inlet1).active = mock.PropertyMock(return_value=True)
        type(outlet1).active = mock.PropertyMock(return_value=True)
        link = Link([inlet1], [outlet1],
                    timedelta(seconds=1),
                    tags='test_on_shutdown')

        link.on_shutdown()

        inlet1.try_shutdown.assert_called()
        outlet1.try_shutdown.assert_called()
示例#3
0
    def test_on_shutdown_already_inactive(self):
        inlet1 = DummyInlet()
        outlet1 = DummyOutlet()
        inlet1.on_shutdown = mock.Mock()
        outlet1.on_shutdown = mock.Mock()
        link = Link([inlet1], [outlet1], timedelta(seconds=1))

        link.on_shutdown()

        inlet1.on_shutdown.assert_not_called()
        outlet1.on_shutdown.assert_not_called()
示例#4
0
    def test_on_shutdown(self):
        inlet1 = DummyInlet()
        outlet1 = DummyOutlet()
        inlet1._active = True
        outlet1._active = True

        link = Link(inlet1, outlet1, timedelta(seconds=1))

        self.assertTrue(inlet1.active)
        self.assertTrue(outlet1.active)
        link.on_shutdown()
        self.assertFalse(inlet1.active)
        self.assertFalse(outlet1.active)
示例#5
0
    def test_on_shutdown_inlet_exception_catch(self, inlet1, outlet1):
        inlet1.try_shutdown.side_effect = lambda: exec('raise(RuntimeError())')
        link = Link([inlet1], [outlet1],
                    timedelta(seconds=1),
                    tags='test_on_shutdown',
                    ignore_exceptions=True)

        with self.assertLogs(logging.getLogger('databay.Link'),
                             level='ERROR') as cm:
            link.on_shutdown()
            self.assertTrue(
                'on_shutdown inlet exception: "" for inlet:'
                in ';'.join(cm.output), cm.output)

        inlet1.try_shutdown.assert_called()
        outlet1.try_shutdown.assert_called()