---
id: TST-PFM-OPS-080
title: Hubspot licensing
kind: api-lifecycle
product_area: platform
module: operations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js
implements:
  - ATS-PFM-OPS-012-11
  - ATS-PFM-OPS-012-12
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
estimate_basis: Scheduling estimate only; no duration is measured during this documentation pass.
isolation: >-
  The prepared local test database and suite-owned identifiers; existing hooks control rollback or
  cleanup.
evidence:
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js at
    ad3f6a6582843008ed0f5a17b131878d15829af1: existing suite body, setup, assertions and cleanup.
binding_note: Bindings apply only to the listed specification scenarios.
assertion_sources:
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js#serves a staff member
    holding hq.licensing.read on the company read
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js#serves that same staff
    member the sync health
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js#refuses a staff member
    holding another HQ key but not this one, with 403
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js#refuses an administrator
    of a customer on the company read, because a system route takes platform scope alone
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js#refuses an administrator
    of a customer on the sync, so the wall is not only on reads
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js#refuses a staff member
    holding only hq.licensing.read on the sync, with 403
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js#refuses an anonymous
    caller on each of the three, with 401
  - >-
    services-platform:modules/licensing/tests/e2e/hubspot-licensing.e2e.spec.js#writes nothing after
    refusing the sync
---

# Hubspot licensing

## Verification Boundary

This suite exercises application licensing through the local API dispatcher. Its implementation is present at the pinned source revision, and this register records no execution result.

## What This Suite Proves

The checks dispatch company and health reads, management-only synchronization and signed webhook deliveries with controlled commercial and queue dependencies. The scenario bindings name the attributed outcomes.

## What It Does Not Prove

Local execution does not establish deployed infrastructure, live commercial-provider configuration or authorization-cache completion. Registration and an implemented suite do not establish a passing result.

## Real Dependencies and Test Doubles

The prepared PostgreSQL database and production operations under test are real. Commercial-provider responses use the suite’s scripted inputs where declared. Queue publication uses a recording publisher. Signed request contexts use a run-owned signing key.

## Must Not Be Doubled

The dispatcher, route evaluation and handler effects under assertion remain real.
