The mock services are a second implementation of the SAS backend, and the only thing comparing them was a human reading two files. This adds the harness that compares their output instead. A golden is a projection of a SAS response, never a copy: project.js keeps a fixed member list per scenario, drops the whole envelope (hostname, site id, user, home paths, job ids, _PROGRAM), substitutes the identifiers the diff needs (<LIBREF>, <PATH>, <EMAIL>, <STAGING_ID>, <DATETIME>), and redacts secrets by key name. The recorder then refuses to publish if any identifier class survives, or if any literal the envelope just discarded still appears in the projection - which is what catches a hostname echoed inside an error message. record.js records from a live estate into .captures/ (gitignored) and writes only the projection to golden/. check.js replays a golden against a mock estate built by the test harness and prints field-level differences; it needs no server and no credentials. parity-golden.test.js re-runs the identifier scan over every committed golden, so a hand-edited file cannot slip through either. Phase 0 ships one scenario, public/startupservice. The replay is advisory and already reports twelve differences worth a look (admin group casing, the registration counters, timezone representation, the sasdatasets order, blank versus empty Excel map descriptions); the corpus, the merge gate and the nightly drift job follow. Stacked on the mocks context in the parent branch: it seeds the mock estate with seededEstate(), which that branch adds.
29 lines
532 B
Plaintext
29 lines
532 B
Plaintext
coverage/
|
|
dist/
|
|
node_modules/
|
|
client/.angular/cache/
|
|
**/*npm-debug.log.*
|
|
**/*yarn-error.log.*
|
|
.idea/
|
|
.DS_Store
|
|
client/src/environments/version.ts
|
|
client/cypress/screenshots
|
|
client/cypress/results
|
|
client/cypress/videos
|
|
client/documentation
|
|
client/**/sheet-crypto.tgz
|
|
client/.nx
|
|
client/libraries/sheet-crypto.tgz
|
|
client/lighthouse-reports
|
|
cypress.env.json
|
|
sasjsbuild
|
|
sasjsresults
|
|
.env*
|
|
.sasjsrc
|
|
*~
|
|
.lighthouseci
|
|
audit.log
|
|
tmp/
|
|
# raw parity captures - only the projection in parity/golden is committed
|
|
sas/mocks/test/parity/.captures/
|