def test_unregister_calls_unregisterChannel_when_connected(self): listener = PostgresListenerService() channel = factory.make_name("channel") listener.register(channel, sentinel.handler) listener.registeredChannels = True listener.connection = sentinel.connection mock_unregisterChannel = self.patch(listener, "unregisterChannel") listener.unregister(channel, sentinel.handler) self.assertThat(mock_unregisterChannel, MockCalledOnceWith(channel))
def test_unregister_doesnt_call_unregisterChannel_multi_handlers(self): listener = PostgresListenerService() channel = factory.make_name("channel", sep="_").lower() listener.register(channel, sentinel.handler) listener.register(channel, sentinel.other_handler) listener.registeredChannels = True listener.connection = sentinel.connection mock_unregisterChannel = self.patch(listener, "unregisterChannel") listener.unregister(channel, sentinel.handler) self.assertThat(mock_unregisterChannel, MockNotCalled())
def test_unregister_doesnt_call_unregisterChannel_multi_handlers(self): listener = PostgresListenerService() listener.HANDLE_NOTIFY_DELAY = listener.CHANNEL_REGISTRAR_DELAY = 0 channel = factory.make_name("channel", sep="_").lower() listener.register(channel, sentinel.handler) listener.register(channel, sentinel.other_handler) listener.registeredChannels = set() listener.connection = MagicMock() mock_unregisterChannel = self.patch(listener, "unregisterChannel") listener.unregister(channel, sentinel.handler) yield listener.channelRegistrarDone self.assertThat(mock_unregisterChannel, MockNotCalled())