Exemplo n.º 1
0
    def test_transmit(self, init):
        m = MemoryStorage()
        m._store = MagicMock()

        m.cancer()

        m._store.cancer.assert_called_once_with()
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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))
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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")
Exemplo n.º 7
0
    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
        })