---
id: TST-PFM-OPS-110
title: Application availability
kind: unit
product_area: platform
module: operations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/licensing/tests/unit/availability/application-availability.spec.ts
implements:
  - ATS-PFM-OPS-011-03
  - ATS-PFM-OPS-014-01
  - ATS-PFM-OPS-014-02
  - ATS-PFM-OPS-014-03
  - ATS-PFM-OPS-014-04
  - ATS-PFM-OPS-014-05
  - ATS-PFM-OPS-014-06
  - ATS-PFM-OPS-011-17
  - ATS-PFM-OPS-014-13
  - ATS-PFM-OPS-014-14
  - ATS-PFM-OPS-014-15
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
estimate_basis: Scheduling estimate only; no duration is measured during this documentation pass.
isolation: 'Process-local inputs, registries and test adapters.'
evidence:
  - >-
    services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts 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/unit/availability/application-availability.spec.ts#is in
    force inside its window
  - >-
    services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts#is not
    in force before it starts
  - >-
    services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts#is not
    in force after it ends, which is how a grant expires without anything running to expire it
  - >-
    services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts#is in
    force at the instant it starts, so a replacement leaves no gap
  - >-
    services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts#is not
    in force at the instant it ends, so a replacement starting there leaves no overlap
  - >-
    services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts#is in
    force with no end date at all
  - >-
    services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts#is not
    in force once revoked, however open its window still is
  - >-
    services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts#is
    current on a day inside it
---

# Application availability

## Verification Boundary

This suite exercises application licensing through its declared function or structural boundary. Its implementation is present at the pinned source revision, and this register records no execution result.

## What This Suite Proves

The checks evaluate controlled licence windows, effective exceptions and operational inputs, including exact time boundaries and the separate HQ rule. 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 production logic under assertion is real. Boundary cases control the clock.

## Must Not Be Doubled

The production function, registry or builder under assertion remains real.
