Add new tests for shell bridge and broker to handle structured failures and invalid session handling

- Add tests for shell bridge to validate structured error reporting on spawn failures.

- Add broker tests to ensure proper rejection of malformed browser shell upgrades without leaking sensitive tokens.

- Update `.env.example` with `EDGE_PUBLIC_BROKER_URL` for public access configuration.
This commit is contained in:
Jeppe Bundgaard
2026-04-28 09:00:12 +02:00
parent e93d3f30d2
commit 2aded0812a
10 changed files with 2699 additions and 13 deletions
@@ -11868,3 +11868,255 @@
[Thu Apr 23 19:30:02 2026] 127.0.0.1:38996 Closing
[Thu Apr 23 19:30:10 2026] 127.0.0.1:59878 Accepted
[Thu Apr 23 19:30:16 2026] 127.0.0.1:59878 Closing
[Mon Apr 27 15:43:00 2026] PHP 8.2.15 Development Server (http://127.0.0.1:39017) started
[Mon Apr 27 15:43:00 2026] 127.0.0.1:43538 Accepted
[Mon Apr 27 15:43:02 2026] 127.0.0.1:43538 Closing
[Mon Apr 27 15:43:02 2026] 127.0.0.1:59780 Accepted
[Mon Apr 27 15:43:09 2026] 127.0.0.1:59780 Closing
[Mon Apr 27 15:43:09 2026] 127.0.0.1:59790 Accepted
[Mon Apr 27 15:43:21 2026] 127.0.0.1:59790 Closing
[Mon Apr 27 15:43:21 2026] 127.0.0.1:55448 Accepted
[Mon Apr 27 15:43:37 2026] 127.0.0.1:55448 Closing
[Mon Apr 27 15:43:37 2026] 127.0.0.1:39854 Accepted
[Mon Apr 27 15:43:49 2026] 127.0.0.1:39854 Closing
[Mon Apr 27 15:43:49 2026] 127.0.0.1:40450 Accepted
[Mon Apr 27 15:44:00 2026] 127.0.0.1:40450 Closing
[Mon Apr 27 15:44:00 2026] 127.0.0.1:37108 Accepted
[Mon Apr 27 15:44:04 2026] 127.0.0.1:37108 Closing
[Mon Apr 27 15:44:04 2026] 127.0.0.1:51378 Accepted
[Mon Apr 27 15:44:20 2026] 127.0.0.1:51378 Closing
[Mon Apr 27 15:44:20 2026] 127.0.0.1:57924 Accepted
[Mon Apr 27 15:44:26 2026] 127.0.0.1:57924 Closing
[Mon Apr 27 15:44:26 2026] 127.0.0.1:36924 Accepted
[Mon Apr 27 15:44:33 2026] 127.0.0.1:36924 Closing
[Mon Apr 27 15:44:33 2026] 127.0.0.1:41488 Accepted
[Mon Apr 27 15:44:50 2026] 127.0.0.1:41488 Closing
[Mon Apr 27 15:44:50 2026] 127.0.0.1:42138 Accepted
[Mon Apr 27 15:45:06 2026] 127.0.0.1:42138 Closing
[Mon Apr 27 15:45:06 2026] 127.0.0.1:56450 Accepted
[Mon Apr 27 15:45:24 2026] 127.0.0.1:56450 Closing
[Mon Apr 27 15:45:31 2026] 127.0.0.1:50392 Accepted
[Mon Apr 27 15:45:45 2026] 127.0.0.1:50392 Closing
[Mon Apr 27 15:45:51 2026] 127.0.0.1:44926 Accepted
[Mon Apr 27 15:46:21 2026] 127.0.0.1:44926 Closing
[Mon Apr 27 15:46:21 2026] 127.0.0.1:34068 Accepted
[Mon Apr 27 15:46:29 2026] PHP 8.2.15 Development Server (http://127.0.0.1:39779) started
[Mon Apr 27 15:46:29 2026] 127.0.0.1:36812 Accepted
[Mon Apr 27 15:46:30 2026] 127.0.0.1:34068 Closing
[Mon Apr 27 15:46:30 2026] 127.0.0.1:45262 Accepted
[Mon Apr 27 15:46:31 2026] 127.0.0.1:36812 Closing
[Mon Apr 27 15:46:31 2026] 127.0.0.1:53156 Accepted
[Mon Apr 27 15:46:39 2026] 127.0.0.1:45262 Closing
[Mon Apr 27 15:46:39 2026] 127.0.0.1:45266 Accepted
[Mon Apr 27 15:46:44 2026] 127.0.0.1:53156 Closing
[Mon Apr 27 15:46:52 2026] 127.0.0.1:45266 Closing
[Mon Apr 27 15:46:52 2026] 127.0.0.1:37766 Accepted
[Mon Apr 27 15:47:10 2026] PHP 8.2.15 Development Server (http://127.0.0.1:39511) started
[Mon Apr 27 15:47:11 2026] 127.0.0.1:41892 Accepted
[Mon Apr 27 15:47:14 2026] 127.0.0.1:41892 Closing
[Mon Apr 27 15:47:14 2026] 127.0.0.1:41904 Accepted
[Mon Apr 27 15:47:17 2026] 127.0.0.1:37766 Closing
[Mon Apr 27 15:47:17 2026] 127.0.0.1:36058 Accepted
[Mon Apr 27 15:47:19 2026] 127.0.0.1:41904 Closing
[Mon Apr 27 15:47:19 2026] 127.0.0.1:36924 Accepted
[Mon Apr 27 15:47:26 2026] 127.0.0.1:36058 Closing
[Mon Apr 27 15:47:26 2026] 127.0.0.1:51896 Accepted
[Mon Apr 27 15:47:31 2026] 127.0.0.1:36924 Closing
[Mon Apr 27 15:47:31 2026] 127.0.0.1:34276 Accepted
[Mon Apr 27 15:47:46 2026] 127.0.0.1:34276 Closing
[Mon Apr 27 15:47:46 2026] 127.0.0.1:37246 Accepted
[Mon Apr 27 15:47:57 2026] 127.0.0.1:51896 Closing
[Mon Apr 27 15:47:59 2026] 127.0.0.1:37246 Closing
[Mon Apr 27 15:47:59 2026] 127.0.0.1:36472 Accepted
[Mon Apr 27 15:48:03 2026] 127.0.0.1:33350 Accepted
[Mon Apr 27 15:48:07 2026] 127.0.0.1:36472 Closing
[Mon Apr 27 15:48:07 2026] 127.0.0.1:56178 Accepted
[Mon Apr 27 15:48:07 2026] 127.0.0.1:33350 Closing
[Mon Apr 27 15:48:10 2026] 127.0.0.1:40096 Accepted
[Mon Apr 27 15:48:13 2026] 127.0.0.1:56178 Closing
[Mon Apr 27 15:48:13 2026] 127.0.0.1:55944 Accepted
[Mon Apr 27 15:48:19 2026] 127.0.0.1:40096 Closing
[Mon Apr 27 15:48:19 2026] 127.0.0.1:40104 Accepted
[Mon Apr 27 15:48:28 2026] 127.0.0.1:40104 Closing
[Mon Apr 27 15:48:28 2026] 127.0.0.1:55654 Accepted
[Mon Apr 27 15:48:30 2026] 127.0.0.1:55944 Closing
[Mon Apr 27 15:48:30 2026] 127.0.0.1:41444 Accepted
[Mon Apr 27 15:48:33 2026] 127.0.0.1:55654 Closing
[Mon Apr 27 15:48:33 2026] 127.0.0.1:54932 Accepted
[Mon Apr 27 15:48:36 2026] 127.0.0.1:41444 Closing
[Mon Apr 27 15:48:36 2026] 127.0.0.1:41450 Accepted
[Mon Apr 27 15:48:39 2026] 127.0.0.1:54932 Closing
[Mon Apr 27 15:48:39 2026] 127.0.0.1:54942 Accepted
[Mon Apr 27 15:48:46 2026] 127.0.0.1:41450 Closing
[Mon Apr 27 15:48:46 2026] 127.0.0.1:42874 Accepted
[Mon Apr 27 15:48:46 2026] 127.0.0.1:54942 Closing
[Mon Apr 27 15:48:46 2026] 127.0.0.1:49554 Accepted
[Mon Apr 27 15:49:03 2026] 127.0.0.1:49554 Closing
[Mon Apr 27 15:49:03 2026] 127.0.0.1:51798 Accepted
[Mon Apr 27 15:49:04 2026] 127.0.0.1:42874 Closing
[Mon Apr 27 15:49:04 2026] 127.0.0.1:56176 Accepted
[Mon Apr 27 15:49:11 2026] 127.0.0.1:51798 Closing
[Mon Apr 27 15:49:11 2026] 127.0.0.1:47548 Accepted
[Mon Apr 27 15:49:22 2026] 127.0.0.1:56176 Closing
[Mon Apr 27 15:49:22 2026] 127.0.0.1:52542 Accepted
[Mon Apr 27 15:49:24 2026] 127.0.0.1:47548 Closing
[Mon Apr 27 15:49:24 2026] 127.0.0.1:39848 Accepted
[Mon Apr 27 15:49:36 2026] 127.0.0.1:39848 Closing
[Mon Apr 27 15:49:43 2026] 127.0.0.1:60636 Accepted
[Mon Apr 27 15:49:43 2026] 127.0.0.1:52542 Closing
[Mon Apr 27 15:49:50 2026] 127.0.0.1:43864 Accepted
[Mon Apr 27 15:50:03 2026] 127.0.0.1:43864 Closing
[Mon Apr 27 15:50:07 2026] 127.0.0.1:60636 Closing
[Mon Apr 27 15:50:07 2026] 127.0.0.1:48092 Accepted
[Mon Apr 27 15:50:11 2026] 127.0.0.1:38378 Accepted
[Mon Apr 27 15:50:26 2026] 127.0.0.1:48092 Closing
[Mon Apr 27 15:50:26 2026] 127.0.0.1:51390 Accepted
[Mon Apr 27 15:50:41 2026] 127.0.0.1:38378 Closing
[Mon Apr 27 15:50:49 2026] 127.0.0.1:38158 Accepted
[Mon Apr 27 15:50:54 2026] 127.0.0.1:51390 Closing
[Mon Apr 27 15:50:54 2026] 127.0.0.1:33842 Accepted
[Mon Apr 27 15:50:56 2026] 127.0.0.1:38158 Closing
[Mon Apr 27 15:51:00 2026] 127.0.0.1:36832 Accepted
[Mon Apr 27 15:51:13 2026] 127.0.0.1:36832 Closing
[Mon Apr 27 15:51:13 2026] 127.0.0.1:39172 Accepted
[Mon Apr 27 15:51:19 2026] 127.0.0.1:33842 Closing
[Mon Apr 27 15:51:19 2026] 127.0.0.1:47144 Accepted
[Mon Apr 27 15:51:25 2026] 127.0.0.1:39172 Closing
[Mon Apr 27 15:51:25 2026] 127.0.0.1:33908 Accepted
[Mon Apr 27 15:51:32 2026] 127.0.0.1:47144 Closing
[Mon Apr 27 15:51:32 2026] 127.0.0.1:35586 Accepted
[Mon Apr 27 15:51:39 2026] 127.0.0.1:33908 Closing
[Mon Apr 27 15:51:39 2026] 127.0.0.1:49634 Accepted
[Mon Apr 27 15:51:49 2026] 127.0.0.1:49634 Closing
[Mon Apr 27 15:51:49 2026] 127.0.0.1:35846 Accepted
[Mon Apr 27 15:52:02 2026] 127.0.0.1:35846 Closing
[Mon Apr 27 15:52:02 2026] 127.0.0.1:40002 Accepted
[Mon Apr 27 15:52:03 2026] 127.0.0.1:35586 Closing
[Mon Apr 27 15:52:09 2026] 127.0.0.1:38974 Accepted
[Mon Apr 27 15:52:22 2026] 127.0.0.1:40002 Closing
[Mon Apr 27 15:52:22 2026] 127.0.0.1:39160 Accepted
[Mon Apr 27 15:52:22 2026] 127.0.0.1:38974 Closing
[Mon Apr 27 15:52:23 2026] 127.0.0.1:50508 Accepted
[Mon Apr 27 15:52:31 2026] 127.0.0.1:50508 Closing
[Mon Apr 27 15:52:31 2026] 127.0.0.1:34868 Accepted
[Mon Apr 27 15:52:33 2026] 127.0.0.1:39160 Closing
[Mon Apr 27 15:52:33 2026] 127.0.0.1:51124 Accepted
[Mon Apr 27 15:52:45 2026] 127.0.0.1:34868 Closing
[Mon Apr 27 15:52:51 2026] 127.0.0.1:51124 Closing
[Mon Apr 27 15:52:51 2026] 127.0.0.1:38142 Accepted
[Mon Apr 27 15:52:58 2026] 127.0.0.1:40286 Accepted
[Mon Apr 27 15:53:08 2026] 127.0.0.1:38142 Closing
[Mon Apr 27 15:53:15 2026] 127.0.0.1:47064 Accepted
[Mon Apr 27 15:53:43 2026] 127.0.0.1:47064 Closing
[Mon Apr 27 15:53:43 2026] 127.0.0.1:40368 Accepted
[Mon Apr 27 15:54:10 2026] 127.0.0.1:40286 Closing
[Mon Apr 27 15:54:12 2026] 127.0.0.1:40368 Closing
[Mon Apr 27 15:54:12 2026] 127.0.0.1:59302 Accepted
[Mon Apr 27 15:54:44 2026] 127.0.0.1:59302 Closing
[Mon Apr 27 15:54:51 2026] 127.0.0.1:55188 Accepted
[Mon Apr 27 15:55:05 2026] 127.0.0.1:55188 Closing
[Mon Apr 27 15:55:06 2026] 127.0.0.1:54998 Accepted
[Mon Apr 27 15:55:14 2026] 127.0.0.1:54998 Closing
[Mon Apr 27 15:55:14 2026] 127.0.0.1:55388 Accepted
[Mon Apr 27 15:55:27 2026] 127.0.0.1:55388 Closing
[Mon Apr 27 15:55:38 2026] 127.0.0.1:58096 Accepted
[Mon Apr 27 15:56:40 2026] 127.0.0.1:58096 Closing
[Mon Apr 27 15:57:41 2026] PHP 8.2.15 Development Server (http://127.0.0.1:43345) started
[Mon Apr 27 15:57:41 2026] PHP 8.2.15 Development Server (http://127.0.0.1:45337) started
[Mon Apr 27 15:57:41 2026] 127.0.0.1:54434 Accepted
[Mon Apr 27 15:57:41 2026] 127.0.0.1:42766 Accepted
[Mon Apr 27 15:57:46 2026] 127.0.0.1:42766 Closing
[Mon Apr 27 15:57:46 2026] 127.0.0.1:54434 Closing
[Mon Apr 27 15:57:46 2026] 127.0.0.1:42782 Accepted
[Mon Apr 27 15:57:46 2026] 127.0.0.1:54438 Accepted
[Mon Apr 27 15:57:54 2026] 127.0.0.1:54438 Closing
[Mon Apr 27 15:57:54 2026] 127.0.0.1:43210 Accepted
[Mon Apr 27 15:58:08 2026] 127.0.0.1:43210 Closing
[Mon Apr 27 15:58:08 2026] 127.0.0.1:37286 Accepted
[Mon Apr 27 15:58:10 2026] 127.0.0.1:42782 Closing
[Mon Apr 27 15:58:10 2026] 127.0.0.1:57164 Accepted
[Mon Apr 27 15:58:25 2026] 127.0.0.1:37286 Closing
[Mon Apr 27 15:58:25 2026] 127.0.0.1:33692 Accepted
[Mon Apr 27 15:58:31 2026] 127.0.0.1:57164 Closing
[Mon Apr 27 15:58:31 2026] 127.0.0.1:41728 Accepted
[Mon Apr 27 15:58:41 2026] 127.0.0.1:33692 Closing
[Mon Apr 27 15:58:41 2026] 127.0.0.1:44756 Accepted
[Mon Apr 27 15:58:52 2026] 127.0.0.1:44756 Closing
[Mon Apr 27 15:58:52 2026] 127.0.0.1:41988 Accepted
[Mon Apr 27 15:58:59 2026] 127.0.0.1:41988 Closing
[Mon Apr 27 15:58:59 2026] 127.0.0.1:34238 Accepted
[Mon Apr 27 15:59:01 2026] 127.0.0.1:41728 Closing
[Mon Apr 27 15:59:01 2026] 127.0.0.1:41632 Accepted
[Mon Apr 27 15:59:10 2026] 127.0.0.1:41632 Closing
[Mon Apr 27 15:59:10 2026] 127.0.0.1:56798 Accepted
[Mon Apr 27 15:59:17 2026] 127.0.0.1:34238 Closing
[Mon Apr 27 15:59:17 2026] 127.0.0.1:51968 Accepted
[Mon Apr 27 15:59:24 2026] 127.0.0.1:51968 Closing
[Mon Apr 27 15:59:24 2026] 127.0.0.1:38554 Accepted
[Mon Apr 27 15:59:28 2026] 127.0.0.1:56798 Closing
[Mon Apr 27 15:59:28 2026] 127.0.0.1:37742 Accepted
[Mon Apr 27 15:59:33 2026] 127.0.0.1:38554 Closing
[Mon Apr 27 15:59:33 2026] 127.0.0.1:60924 Accepted
[Mon Apr 27 15:59:52 2026] 127.0.0.1:60924 Closing
[Mon Apr 27 15:59:52 2026] 127.0.0.1:43252 Accepted
[Mon Apr 27 15:59:55 2026] 127.0.0.1:37742 Closing
[Mon Apr 27 15:59:55 2026] 127.0.0.1:43598 Accepted
[Mon Apr 27 16:00:08 2026] 127.0.0.1:43598 Closing
[Mon Apr 27 16:00:08 2026] 127.0.0.1:45400 Accepted
[Mon Apr 27 16:00:15 2026] 127.0.0.1:43252 Closing
[Mon Apr 27 16:00:15 2026] 127.0.0.1:33680 Accepted
[Mon Apr 27 16:00:28 2026] 127.0.0.1:45400 Closing
[Mon Apr 27 16:00:28 2026] 127.0.0.1:58188 Accepted
[Mon Apr 27 16:00:38 2026] 127.0.0.1:33680 Closing
[Mon Apr 27 16:00:43 2026] 127.0.0.1:58188 Closing
[Mon Apr 27 16:00:43 2026] 127.0.0.1:52096 Accepted
[Mon Apr 27 16:01:17 2026] 127.0.0.1:52096 Closing
[Mon Apr 27 16:02:10 2026] PHP 8.2.15 Development Server (http://127.0.0.1:37323) started
[Mon Apr 27 16:02:10 2026] 127.0.0.1:35510 Accepted
[Mon Apr 27 16:02:14 2026] 127.0.0.1:35510 Closing
[Mon Apr 27 16:02:14 2026] 127.0.0.1:35512 Accepted
[Mon Apr 27 16:02:34 2026] 127.0.0.1:35512 Closing
[Mon Apr 27 16:02:35 2026] 127.0.0.1:50544 Accepted
[Mon Apr 27 16:02:54 2026] 127.0.0.1:50544 Closing
[Mon Apr 27 16:02:54 2026] 127.0.0.1:34284 Accepted
[Mon Apr 27 16:03:23 2026] 127.0.0.1:34284 Closing
[Mon Apr 27 16:03:23 2026] 127.0.0.1:58504 Accepted
[Mon Apr 27 16:03:35 2026] 127.0.0.1:58504 Closing
[Mon Apr 27 16:03:35 2026] 127.0.0.1:57200 Accepted
[Mon Apr 27 16:03:55 2026] 127.0.0.1:57200 Closing
[Mon Apr 27 16:03:56 2026] 127.0.0.1:37528 Accepted
[Mon Apr 27 16:04:24 2026] 127.0.0.1:37528 Closing
[Mon Apr 27 16:04:24 2026] 127.0.0.1:41972 Accepted
[Mon Apr 27 16:04:48 2026] 127.0.0.1:41972 Closing
[Mon Apr 27 16:04:48 2026] 127.0.0.1:40764 Accepted
[Mon Apr 27 16:05:10 2026] 127.0.0.1:40764 Closing
[Mon Apr 27 16:05:10 2026] 127.0.0.1:51052 Accepted
[Mon Apr 27 16:05:25 2026] 127.0.0.1:51052 Closing
[Mon Apr 27 16:05:25 2026] 127.0.0.1:49526 Accepted
[Mon Apr 27 16:05:58 2026] 127.0.0.1:49526 Closing
[Mon Apr 27 16:05:58 2026] 127.0.0.1:54380 Accepted
[Mon Apr 27 16:06:10 2026] 127.0.0.1:54380 Closing
[Mon Apr 27 16:06:10 2026] 127.0.0.1:38446 Accepted
[Mon Apr 27 16:06:33 2026] 127.0.0.1:38446 Closing
[Mon Apr 27 16:07:01 2026] PHP 8.2.15 Development Server (http://127.0.0.1:46263) started
[Mon Apr 27 16:07:01 2026] PHP 8.2.15 Development Server (http://127.0.0.1:44107) started
[Mon Apr 27 16:07:01 2026] 127.0.0.1:57266 Accepted
[Mon Apr 27 16:07:01 2026] 127.0.0.1:47356 Accepted
[Mon Apr 27 16:07:05 2026] 127.0.0.1:57266 Closing
[Mon Apr 27 16:07:05 2026] 127.0.0.1:57282 Accepted
[Mon Apr 27 16:07:05 2026] 127.0.0.1:47356 Closing
[Mon Apr 27 16:07:05 2026] 127.0.0.1:47362 Accepted
[Mon Apr 27 16:07:21 2026] 127.0.0.1:47362 Closing
[Mon Apr 27 16:07:37 2026] 127.0.0.1:57282 Closing
[Mon Apr 27 16:07:38 2026] 127.0.0.1:41372 Accepted
[Mon Apr 27 16:07:53 2026] 127.0.0.1:41372 Closing
[Mon Apr 27 16:07:53 2026] 127.0.0.1:39536 Accepted
[Mon Apr 27 16:08:09 2026] 127.0.0.1:39536 Closing
[Mon Apr 27 16:08:09 2026] 127.0.0.1:33514 Accepted
[Mon Apr 27 16:08:28 2026] 127.0.0.1:33514 Closing
[Mon Apr 27 16:08:28 2026] 127.0.0.1:59450 Accepted
[Mon Apr 27 16:08:58 2026] 127.0.0.1:59450 Closing
[Mon Apr 27 16:08:58 2026] 127.0.0.1:40070 Accepted
[Mon Apr 27 16:09:11 2026] 127.0.0.1:40070 Closing
[Mon Apr 27 16:09:12 2026] 127.0.0.1:41964 Accepted
[Mon Apr 27 16:09:54 2026] 127.0.0.1:41964 Closing