|
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