8000 add test for new feature · fluent/fluent-logger-python@ed97be9 · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit ed97be9

Browse files
committed
add test for new feature
1 parent 3dd0408 commit ed97be9

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

tests/test_handler.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def test_simple(self):
2828
'from': 'userA',
2929
'to': 'userB'
3030
})
31+
log.removeHandler(handler)
3132
handler.close()
3233

3334
data = self.get_data()
@@ -54,6 +55,7 @@ def test_custom_fmt(self):
5455
)
5556
log.addHandler(handler)
5657
log.info({'sample': 'value'})
58+
log.removeHandler(handler)
5759
handler.close()
5860

5961
data = self.get_data()
@@ -62,6 +64,48 @@ def test_custom_fmt(self):
6264
self.assertTrue('lineno' in data[0][2])
6365
self.assertTrue('emitted_at' in data[0][2])
6466

67+
def test_custom_field_raise_exception(self):
68+
handler = fluent.handler.FluentHandler('app.follow', port=self._port)
69+
70+
logging.basicConfig(level=logging.INFO)
71+
log = logging.getLogger('fluent.test')
72+
handler.setFormatter(
73+
fluent.handler.FluentRecordFormatter(fmt={
74+
'name': '%(name)s',
75+
'custom_field': '%(custom_field)s'
76+
})
77+
)
78+
log.addHandler(handler)
79+
with self.assertRaises(KeyError):
80+
log.info({'sample': 'value'})
81+
log.removeHandler(handler)
82+
handler.close()
83+
84+
def test_custom_field_fill_missing_fmt_key_is_true(self):
85+
handler = fluent.handler.FluentHandler('app.follow', port=self._port)
86+
87+
logging.basicConfig(level=logging.INFO)
88+
log = logging.getLogger('fluent.test')
89+
handler.setFormatter(
90+
fluent.handler.FluentRecordFormatter(fmt={
91+
'name': '%(name)s',
92+
'custom_field': '%(custom_field)s'
93+
},
94+
fill_missing_fmt_key=True
95+
)
96+
)
97+
log.addHandler(handler)
98+
log.info({'sample': 'value'})
99+
log.removeHandler(handler)
100+
handler.close()
101+
102+
data = self.get_data()
103+
self.assertTrue('name' in data[0][2])
104+
self.assertEqual('fluent.test', data[0][2]['name'])
105+
self.assertTrue('custom_field' in data[0][2])
106+
# field defaults to none if not in log record
107+
self.assertIsNone(data[0][2]['custom_field'])
108+
65109
def test_json_encoded_message(self):
66110
handler = fluent.handler.FluentHandler('app.follow', port=self._port)
67111

@@ -70,6 +114,7 @@ def test_json_encoded_message(self):
70114
handler.setFormatter(fluent.handler.FluentRecordFormatter())
71115
log.addHandler(handler)
72116
log.info('{"key": "hello world!", "param": "value"}')
117+
log.removeHandler(handler)
73118
handler.close()
74119

75120
data = self.get_data()
@@ -84,6 +129,7 @@ def test_unstructured_message(self):
84129
handler.setFormatter(fluent.handler.FluentRecordFormatter())
85130
log.addHandler(handler)
86131
log.info('hello %s', 'world')
132+
log.removeHandler(handler)
87133
handler.close()
88134

89135
data = self.get_data()
@@ -98,6 +144,7 @@ def test_unstructured_formatted_message(self):
98144
handler.setFormatter(fluent.handler.FluentRecordFormatter())
99145
log.addHandler(handler)
100146
log.info('hello world, %s', 'you!')
147+
log.removeHandler(handler)
101148
handler.close()
102149

103150
data = self.get_data()
@@ -112,6 +159,7 @@ def test_non_string_simple_message(self):
112159
handler.setFormatter(fluent.handler.FluentRecordFormatter())
113160
log.addHandler(handler)
114161
log.info(42)
162+
log.removeHandler(handler)
115163
handler.close()
116164

117165
data = self.get_data()
@@ -125,6 +173,7 @@ def test_non_string_dict_message(self):
125173
handler.setFormatter(fluent.handler.FluentRecordFormatter())
126174
log.addHandler(handler)
127175
log.info({42: 'root'})
176+
log.removeHandler(handler)
128177
handler.close()
129178

130179
data = self.get_data()

0 commit comments

Comments
 (0)
0