Skip to content

Backfill HAR tests for the privacy, bestpractice and info rules#172

Merged
soulgalore merged 1 commit into
mainfrom
backfill-har-tests
May 17, 2026
Merged

Backfill HAR tests for the privacy, bestpractice and info rules#172
soulgalore merged 1 commit into
mainfrom
backfill-har-tests

Conversation

@soulgalore
Copy link
Copy Markdown
Member

Eleven of fourteen HAR privacy rules were shipping without a safety net,
plus the HAR-level avoidRenderBlocking and the third-party rules in
bestpractice / info. The header-based rules (cross-origin-*-policy,
NEL, Reporting-Endpoints, Permissions-Policy, X-Content-Type-Options)
each get a negative case against an existing fixture and a positive
case built by cloning the fixture and pushing the target header on the
document response — the same pattern technologyTest already used inline.
The reCAPTCHA and mixed-content rules clone a fixture and inject a
matching asset to exercise the positive path.

bestpractice / info. The header-based rules (cross-origin-*-policy,
NEL, Reporting-Endpoints, Permissions-Policy, X-Content-Type-Options)
each get a negative case against an existing fixture and a positive
case built by cloning the fixture and pushing the target header on the
document response — the same pattern technologyTest already used inline.
The reCAPTCHA and mixed-content rules clone a fixture and inject a
matching asset to exercise the positive path.

The third-party rules (privacy/thirdPartyPrivacy, bestpractice/thirdParty,
info/thirdParty) lean on the existing http://www.nytimes.com.har fixture with
the firstParty option set so pagexray classifies the off-domain assets
correctly — that fixture has real surveillance-categorised tracking and
exercises the score=0 branch end-to-end.

A small firstAdviceForHar(har, options) helper was added to
test/help/har.js so the clone-and-run pattern doesn't need to be copied
around the new tests.

Co-authored-by: Claude noreply@anthropic.com

  Eleven of fourteen HAR privacy rules were shipping without a safety net,
  plus the HAR-level avoidRenderBlocking and the third-party rules in
  bestpractice / info. The header-based rules (cross-origin-*-policy,
  NEL, Reporting-Endpoints, Permissions-Policy, X-Content-Type-Options)
  each get a negative case against an existing fixture and a positive
  case built by cloning the fixture and pushing the target header on the
  document response — the same pattern technologyTest already used inline.
  The reCAPTCHA and mixed-content rules clone a fixture and inject a
  matching asset to exercise the positive path.

  bestpractice / info. The header-based rules (cross-origin-*-policy,
  NEL, Reporting-Endpoints, Permissions-Policy, X-Content-Type-Options)
  each get a negative case against an existing fixture and a positive
  case built by cloning the fixture and pushing the target header on the
  document response — the same pattern technologyTest already used inline.
  The reCAPTCHA and mixed-content rules clone a fixture and inject a
  matching asset to exercise the positive path.

  The third-party rules (privacy/thirdPartyPrivacy, bestpractice/thirdParty,
  info/thirdParty) lean on the existing http://www.nytimes.com.har fixture with
  the firstParty option set so pagexray classifies the off-domain assets
  correctly — that fixture has real surveillance-categorised tracking and
  exercises the score=0 branch end-to-end.

  A small firstAdviceForHar(har, options) helper was added to
  test/help/har.js so the clone-and-run pattern doesn't need to be copied
  around the new tests.

  Co-authored-by: Claude noreply@anthropic.com
@soulgalore soulgalore merged commit 6d5990e into main May 17, 2026
3 checks passed
@soulgalore soulgalore deleted the backfill-har-tests branch May 17, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant