def test_transmit(self, init): m = MemoryStorage() m._store = MagicMock() m.cancer() m._store.cancer.assert_called_once_with()
def test_transmit(self, init): m = MemoryStorage() m._store = MagicMock() channel = "forsenlol" message = "message" m.store(channel, message) m._store.store.assert_called_once_with(channel, message)
def test_splitting(self, init): m = MemoryStorage() m._store = MagicMock() m._store.archive = MagicMock(return_value={ 'date1': {'foo': {'cancer': 0, 'messages': 0}, 'bar': {'cancer': 0, 'messages': 0}}, 'date2': {'foo': {'cancer': 0, 'messages': 0}, 'bar': {'cancer': 0, 'messages': 0}}, }) m.pubsub_socket = MagicMock() m._archive() self.assertEqual(m.pubsub_socket.send_multipart.call_count, 4)
def store(self, channel, cancer): # messages are stored in-memory only if not self.storage: from twitchcancer.storage.memorystorage import MemoryStorage self.storage = MemoryStorage() self.storage.store(channel, cancer)
def test_not_implemented(self, init): m = MemoryStorage() self.assertRaises(NotImplementedError, lambda: m.leaderboards(None)) self.assertRaises(NotImplementedError, lambda: m.leaderboard(None)) self.assertRaises(NotImplementedError, lambda: m.channel(None)) self.assertRaises(NotImplementedError, lambda: m.status()) self.assertRaises(NotImplementedError, lambda: m.search(None))
def test_default(self, init): m = MemoryStorage() m._store = MagicMock() m._store.cancer = MagicMock(return_value="data") m.cancer_socket = MagicMock() m.cancer_socket.send_pyobj = MagicMock(side_effect=KeyboardInterrupt) try: m._handle_cancer_request() except KeyboardInterrupt: # the mock raises an exception to get out of the infinite loop pass # we should be listening for requests m.cancer_socket.recv.assert_called_once_with() # we should get data from the store m._store.cancer.assert_called_once_with() # we should respond to the request with the data we got m.cancer_socket.send_pyobj.assert_called_once_with("data")
def test_splitting(self, init): m = MemoryStorage() m._store = MagicMock() m._store.archive = MagicMock( return_value={ 'date1': { 'foo': { 'cancer': 0, 'messages': 0 }, 'bar': { 'cancer': 0, 'messages': 0 } }, 'date2': { 'foo': { 'cancer': 0, 'messages': 0 }, 'bar': { 'cancer': 0, 'messages': 0 } }, }) m.pubsub_socket = MagicMock() m._archive() self.assertEqual(m.pubsub_socket.send_multipart.call_count, 4)
def test_formatting(self, init): m = MemoryStorage() m._store = MagicMock() m._store.archive = MagicMock(return_value={ 'foo': { 'bar': { 'cancer': 10, 'messages': 20 } } }) m.pubsub_socket = MagicMock() m._archive() pickled = m.pubsub_socket.send_multipart.call_args[0][0][1] self.assertEqual(pickle.loads(pickled), { 'date': 'foo', 'channel': 'bar', 'cancer': 10, 'messages': 20 })
def test_formatting(self, init): m = MemoryStorage() m._store = MagicMock() m._store.archive = MagicMock( return_value={'foo': { 'bar': { 'cancer': 10, 'messages': 20 } }}) m.pubsub_socket = MagicMock() m._archive() pickled = m.pubsub_socket.send_multipart.call_args[0][0][1] self.assertEqual(pickle.loads(pickled), { 'date': 'foo', 'channel': 'bar', 'cancer': 10, 'messages': 20 })