Keep the strict scenarios in step with main's photos and satellite groups

Main's flight photos ask Planespotters for every tracked aircraft, which
the strict network policy counted as a violation; the harness now answers
those lookups with no photos, as the other QA scripts already do. Main
also reads five more TLE groups (resource, weather, planet, SAR and
science): the satellite fixture serves them, and the space switch expects
all twelve groups and derives its catalog sizes from the fixture.
This commit is contained in:
German Khokhlov committed 2026-11-10 15:01:39 +04:00
1 parent 9c2a2d6951
commit bd4f9eaee4
4 files changed
+51 -10

No files matched your search

+15
View File
@@ -29,6 +29,20 @@ import {
import { createMissLoader, tileCacheFile } from './qa/tileCache.mjs';
import { closeBrowser, diagnoseExit, exitAfterFlush } from './qa/browser.mjs';
import { DAYTIME, shiftTime } from './qa/time.mjs';
import {
PLANESPOTTERS_EMPTY_BODY,
PLANESPOTTERS_ORIGIN,
} from './qa-photo-stub.mjs';
// Tracking a civil flight asks Planespotters for its photo; strict runs
// answer every lookup with no photos instead of leaving the machine.
const PHOTO_ROUTE = Object.freeze({
pattern: `${PLANESPOTTERS_ORIGIN}/*`,
respond: () => ({
contentType: 'application/json',
body: PLANESPOTTERS_EMPTY_BODY,
}),
});
export const ENGINES = Object.freeze(['cesium', 'navara']);
/** What the Globe Engine picker offers: the engines and Navara HD. */
@@ -104,6 +118,7 @@ export async function installStrictNetwork(
},
) {
const preview = new URL(origin);
routes = [...routes, PHOTO_ROUTE];
fixtures = [...fixtures, ...routes.map((route) => route.pattern)];
const urlPatterns = strictBlockPatterns(origin, { fixtures, tileHosts });
const answers = routes.map((route) => ({