def test_emit_error(self): with self._sender as sender: sender.emit("blah", {"a": object()}) data = self._server.get_received() self.assertEqual(len(data), 1) self.assertEqual(data[0][2]["message"], "Can't output to log")
def test_emit_after_close(self): with self._sender as sender: self.assertTrue(sender.emit("blah", {"a": "123"})) sender.close() self.assertFalse(sender.emit("blah", {"a": "456"})) data = self._server.get_received() self.assertEqual(len(data), 1) self.assertEqual(data[0][2]["a"], "123")
def test_decorator_simple(self): with self._sender as sender: sender.emit('foo', {'bar': 'baz'}) data = self.get_data() eq = self.assertEqual eq(1, len(data)) eq(3, len(data[0])) eq('test.foo', data[0][0]) eq({'bar': 'baz'}, data[0][2]) self.assertTrue(data[0][1]) self.assertTrue(isinstance(data[0][1], int))
def test_simple(self): sender = self._sender sender.emit('foo', {'bar': 'baz'}) sender._close() data = self.get_data() eq = self.assertEqual eq(1, len(data)) eq(3, len(data[0])) eq('test.foo', data[0][0]) eq({'bar':'baz'}, data[0][2]) self.assert_(data[0][1]) self.assert_(isinstance(data[0][1], int))
def test_simple(self): sender = self._sender sender.emit("foo", {"bar": "baz"}) sender._close() data = self.get_data() eq = self.assertEqual eq(1, len(data)) eq(3, len(data[0])) eq("test.foo", data[0][0]) eq({"bar": "baz"}, data[0][2]) self.assertTrue(data[0][1]) self.assertTrue(isinstance(data[0][1], int))
def test_simple(self): sender = self._sender sender.emit('foo', {'bar': 'baz'}) sender._close() data = self.get_data() eq = self.assertEqual eq(1, len(data)) eq(3, len(data[0])) eq('test.foo', data[0][0]) eq({'bar': 'baz'}, data[0][2]) self.assert_(data[0][1]) self.assert_(isinstance(data[0][1], int))
def test_nanosecond(self): sender = self._sender sender.nanosecond_precision = True sender.emit('foo', {'bar': 'baz'}) sender._close() data = self.get_data() eq = self.assertEqual eq(1, len(data)) eq(3, len(data[0])) eq('test.foo', data[0][0]) eq({'bar': 'baz'}, data[0][2]) self.assertTrue(isinstance(data[0][1], msgpack.ExtType)) eq(data[0][1].code, 0)
def test_unix_socket(self): self.tearDown() tmp_dir = mkdtemp() try: server_file = 'unix://' + tmp_dir + "/tmp.unix" self._server = mockserver.MockRecvServer(server_file) self._sender = fluent.sender.FluentSender(tag='test', host=server_file) with self._sender as sender: self.assertTrue(sender.emit('foo', {'bar': 'baz'})) data = self._server.get_received() self.assertEqual(len(data), 1) self.assertEqual(data[0][2], {'bar': 'baz'}) finally: rmtree(tmp_dir, True)
def log_fluentd(log): if fluentd_host: if not sender.emit('locust_request_result', log): print(sender.last_error) sender.clear_last_error() # clear stored error after handled errors
def test_verbose(self): with self._sender as sender: sender.verbose = True sender.emit('foo', {'bar': 'baz'})
def test_no_last_error_on_successful_emit(self): sender = self._sender sender.emit('foo', {'bar': 'baz'}) sender._close() self.assertEqual(sender.last_error, None)
def tearDown(self): # Make sure that the mock server thread terminates after each test sender = self._sender sender.emit('foo', {'bar': 'baz'}) sender._close() self.get_data()