@@ -55,6 +55,24 @@ def single_log_file():
55
55
return file
56
56
57
57
58
+ @pytest .fixture
59
+ def log_on_same_line ():
60
+ """Create a log file with multiple entries on same line."""
61
+ file = tempfile .NamedTemporaryFile (mode = "w" )
62
+ file .write ('{"message": 1}{"message": 2}{"message": 3}' )
63
+ file .seek (0 )
64
+ return file
65
+
66
+
67
+ @pytest .fixture
68
+ def log_comma_separation_same_line ():
69
+ """Create a log file with multiple entries on same line, comma separated."""
70
+ file = tempfile .NamedTemporaryFile (mode = "w" )
71
+ file .write ('{"message": 1},{"message": 2},{"message": 3}' )
72
+ file .seek (0 )
73
+ return file
74
+
75
+
58
76
@pytest .fixture
59
77
def empty_log_file ():
60
78
"""Create a log file without any entries."""
@@ -110,3 +128,41 @@ def test_single_logfile(single_log_file):
110
128
else :
111
129
assert len (json_log ["logs" ]) == 1
112
130
assert json_log ["logs" ][0 ]["from" ] == "test0@localhost.org"
131
+
132
+
133
+ def test_logfile_log_entries_on_same_line (log_on_same_line ):
134
+ """Test with single log."""
135
+ output = ""
136
+ with open (log_on_same_line .name ) as file :
137
+ for line in wrap_json_output (file ):
138
+ output += line
139
+
140
+ try :
141
+ json_log = json .loads (output )
142
+ except ValueError :
143
+ assert False , "Invalid json generated."
144
+ else :
145
+ assert len (json_log ["logs" ]) == 3
146
+ assert json_log ["logs" ][0 ]["message" ] == 1
147
+ assert json_log ["logs" ][1 ]["message" ] == 2
148
+ assert json_log ["logs" ][2 ]["message" ] == 3
149
+
150
+
151
+ def test_logfile_log_entries_on_same_line_with_comma_separation (
152
+ log_comma_separation_same_line
153
+ ):
154
+ """Test with single log."""
155
+ output = ""
156
+ with open (log_comma_separation_same_line .name ) as file :
157
+ for line in wrap_json_output (file ):
158
+ output += line
159
+
160
+ try :
161
+ json_log = json .loads (output )
162
+ except ValueError :
163
+ assert False , "Invalid json generated."
164
+ else :
165
+ assert len (json_log ["logs" ]) == 3
166
+ assert json_log ["logs" ][0 ]["message" ] == 1
167
+ assert json_log ["logs" ][1 ]["message" ] == 2
168
+ assert json_log ["logs" ][2 ]["message" ] == 3
0 commit comments