def test_clear(self):
     client = TCPBatchClient("localhost", batch_size=20)
     client._socket = self.mock_socket
     client.increment("first")
     client.decrement("second")
     client.timing("db.query", 1)
     client.clear()
     client.flush()
     self.assertEqual(self.mock_sendall.call_count, 0)
 def test_metrics_partitioned_into_batches(self):
     client = TCPBatchClient("localhost", batch_size=20)
     client._socket = self.mock_socket
     client.increment("fit.a.batch.123")
     client.timing("_", 1)
     client.increment("larger.than.batch.becomes.a.batch", 5, 0.9)
     client.decrement("12")
     client.set("ab", 'z')
     client.timing("small", 9)
     client.gauge("overflow.previous", 10)
     client.gauge_delta("next", -10)
     client.increment("_")
     client.flush()
     expected_calls = [
             mock.call(bytearray("fit.a.batch.123:1|c\n".encode())),
             mock.call(bytearray("_:1|ms\n".encode())),
             mock.call(bytearray("larger.than.batch.becomes.a.batch:5|c|@0.9\n".encode())),
             mock.call(bytearray("12:-1|c\nab:z|s\n".encode())),
             mock.call(bytearray("small:9|ms\n".encode())),
             mock.call(bytearray("overflow.previous:10|g\n".encode())),
             mock.call(bytearray("next:-10|g\n_:1|c\n".encode()))
     ]
     self.assertEqual(self.mock_sendall.mock_calls, expected_calls)
    def test_decrement(self):
        client = TCPBatchClient("localhost")
        client._socket = self.mock_socket
        client.decrement("event", 3, 0.7)
        client.flush()
        self.mock_sendall.assert_called_with(
            bytearray("event:-3|c|@0.7\n".encode())
        )
        self.mock_sendall.reset_mock()
        client.prefix = "pre."
        client.decrement("session")
        client.decrement("session.fail", 2, 0.2)
        client.decrement("session.ok", rate=0.6)
        client.flush()

        self.mock_sendall.assert_called_once_with(
            bytearray("pre.session:-1|c\npre.session.ok:-1|c|@0.6\n".encode())
        )