예제 #1
0
    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")
예제 #2
0
    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")
예제 #3
0
    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")
예제 #4
0
    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")
예제 #5
0
 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))
예제 #6
0
 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))
예제 #7
0
 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))
예제 #8
0
 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))
예제 #9
0
 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))
예제 #10
0
 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)
예제 #11
0
 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)
예제 #12
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)
예제 #13
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)
예제 #14
0
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
예제 #15
0
 def test_verbose(self):
     with self._sender as sender:
         sender.verbose = True
         sender.emit('foo', {'bar': 'baz'})
예제 #16
0
    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)
예제 #17
0
 def test_verbose(self):
     with self._sender as sender:
         sender.verbose = True
         sender.emit('foo', {'bar': 'baz'})
 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()
예제 #19
0
    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)