def test_isSystemChannel_returns_false_for_channel_not__sys(self): channel = factory.make_name("node_", sep="") listener = PostgresListenerService() self.assertFalse(listener.isSystemChannel(channel))
def test_unregister_raises_error_if_handler_does_not_match(self): listener = PostgresListenerService() channel = factory.make_name("channel", sep="_").lower() listener.register(channel, sentinel.handler) with ExpectedException(PostgresListenerUnregistrationError): listener.unregister(channel, sentinel.other_handler)
def test_isSystemChannel_returns_true_for_channel_starting_with_sys(self): channel = factory.make_name("sys_", sep="") listener = PostgresListenerService() self.assertTrue(listener.isSystemChannel(channel))
def test_convertChannel_raises_exception_if_not_valid_channel(self): listener = PostgresListenerService() self.assertRaises( PostgresListenerNotifyError, listener.convertChannel, "node_create" )
def test_unregister_raises_error_if_channel_not_registered(self): listener = PostgresListenerService() with ExpectedException(PostgresListenerUnregistrationError): listener.unregister(factory.make_name("channel"), sentinel.handler)
def make_listener_without_delay(self): listener = PostgresListenerService() self.patch(listener, "HANDLE_NOTIFY_DELAY", 0) self.patch(listener, "CHANNEL_REGISTRAR_DELAY", 0) return listener
def test_multiple_stops_return_same_Deferred(self): listener = PostgresListenerService() self.assertThat(listener.stopService(), Is(listener.stopService())) return listener.stopService()
def test__raises_error_if_system_handler_registered_more_than_once(self): channel = factory.make_name("sys_", sep="") listener = PostgresListenerService() listener.register(channel, lambda *args: None) with ExpectedException(PostgresListenerRegistrationError): listener.register(channel, lambda *args: None)
def test_unregister_removes_handler(self): listener = PostgresListenerService() channel = factory.make_name("channel") listener.register(channel, sentinel.handler) listener.unregister(channel, sentinel.handler) self.assertEquals({channel: []}, listener.listeners)
def test_register_adds_channel_and_handler(self): listener = PostgresListenerService() channel = factory.make_name("channel") listener.register(channel, sentinel.handler) self.assertEqual([sentinel.handler], listener.listeners[channel])
def make_PostgresListenerService(): from maasserver.listener import PostgresListenerService return PostgresListenerService()
def test__convertChannel_raises_exception_if_not_valid_action(self): listener = PostgresListenerService() self.assertRaises(PostgresListenerNotifyError, listener.convertChannel, "node_unknown")