|
23 | 23 | _MOCKED_ACTOR_LOGS = (
|
24 | 24 | b'2025-05-13T07:24:12.588Z ACTOR: Pulling Docker image of build.\n'
|
25 | 25 | b'2025-05-13T07:24:12.686Z ACTOR: Creating Docker container.\n'
|
26 |
| - b'2025-05-13T07:24:12.745Z ACTOR: Starting Docker container.', # Several logs merged into one chunk |
| 26 | + b'2025-05-13T07:24:12.745Z ACTOR: Starting Docker container.\n', # Several logs merged into one chunk |
27 | 27 | b'2025-05-13T07:26:14.132Z [apify] DEBUG \xc3', # Chunked log split in the middle of the multibyte character
|
28 |
| - b'\xa1', # part 2 |
29 |
| - b'2025-05-13T07:24:14.132Z [apify] INFO multiline \n log', |
30 |
| - b'2025-05-13T07:25:14.132Z [apify] WARNING some warning', |
31 |
| - b'2025-05-13T07:26:14.132Z [apify] DEBUG c', |
| 28 | + b'\xa1\n', # part 2 |
| 29 | + b'2025-05-13T07:24:14.132Z [apify] INFO multiline \n log\n', |
| 30 | + b'2025-05-13T07:25:14.132Z [apify] WARNING some warning\n', |
| 31 | + b'2025-05-13T07:26:14.132Z [apify] DEBUG c\n', |
32 | 32 | b'2025-05-13T0', # Chunked log that got split in the marker
|
33 |
| - b'7:26:14.132Z [apify] DEBUG d' # part 2 |
| 33 | + b'7:26:14.132Z [apify] DEBUG d\n' # part 2 |
34 | 34 | b'2025-05-13T07:26:14.132Z [apify] DEB', # Chunked log that got split outside of marker
|
35 |
| - b'UG e', # part 2 |
| 35 | + b'UG e\n', # part 2 |
| 36 | + # Already redirected message |
| 37 | + b'2025-05-16T12:08:50.123Z [apify.redirect-logger-4U1oAnKau6jpzjUuA] -> 2025-05-16T12:08:49.840Z ACTOR: Pulling\n', |
36 | 38 | )
|
| 39 | +_CHUNKED_MESSAGES_COUNT = 3 |
37 | 40 |
|
38 | 41 | _EXPECTED_MESSAGES_AND_LEVELS = (
|
39 | 42 | ('2025-05-13T07:24:12.588Z ACTOR: Pulling Docker image of build.', logging.INFO),
|
|
45 | 48 | ('2025-05-13T07:26:14.132Z [apify] DEBUG c', logging.DEBUG),
|
46 | 49 | ('2025-05-13T07:26:14.132Z [apify] DEBUG d', logging.DEBUG),
|
47 | 50 | ('2025-05-13T07:26:14.132Z [apify] DEBUG e', logging.DEBUG),
|
| 51 | + ( |
| 52 | + '2025-05-16T12:08:50.123Z [apify.redirect-logger-4U1oAnKau6jpzjUuA] -> 2025-05-16T12:08:49.840Z ACTOR: Pulling', |
| 53 | + logging.INFO, |
| 54 | + ), |
48 | 55 | )
|
49 | 56 |
|
50 | 57 |
|
@@ -127,7 +134,8 @@ def propagate_stream_logs() -> None:
|
127 | 134 |
|
128 | 135 |
|
129 | 136 | @pytest.mark.parametrize(
|
130 |
| - ('log_from_start', 'expected_log_count'), [(True, len(_EXPECTED_MESSAGES_AND_LEVELS)), (False, 6)] |
| 137 | + ('log_from_start', 'expected_log_count'), |
| 138 | + [(True, len(_EXPECTED_MESSAGES_AND_LEVELS)), (False, len(_EXPECTED_MESSAGES_AND_LEVELS) - _CHUNKED_MESSAGES_COUNT)], |
131 | 139 | )
|
132 | 140 | @respx.mock
|
133 | 141 | async def test_redirected_logs_async(
|
@@ -162,7 +170,8 @@ async def test_redirected_logs_async(
|
162 | 170 |
|
163 | 171 |
|
164 | 172 | @pytest.mark.parametrize(
|
165 |
| - ('log_from_start', 'expected_log_count'), [(True, len(_EXPECTED_MESSAGES_AND_LEVELS)), (False, 6)] |
| 173 | + ('log_from_start', 'expected_log_count'), |
| 174 | + [(True, len(_EXPECTED_MESSAGES_AND_LEVELS)), (False, len(_EXPECTED_MESSAGES_AND_LEVELS) - _CHUNKED_MESSAGES_COUNT)], |
166 | 175 | )
|
167 | 176 | @respx.mock
|
168 | 177 | def test_redirected_logs_sync(
|
|
0 commit comments