WincheServiceContract class abstract final

Drives a WincheService implementation through the full identity lifecycle and reports whether it honours the contract core relies on.

Core guarantees the sequencing; it cannot guarantee that a service actually swaps when told to, or that it nudges instead of rebuilding on a token rotation. Those are the behaviours every Winche service is supposed to share, and this is what makes that true rather than aspirational.

test('WincheDatabase honours the service contract', () async {
  final report = await WincheServiceContract.check(
    create: (app) => WincheDatabase.forTesting(app),
    sessionHandle: (service) => (service as WincheDatabase).store,
  );
  expect(report.isSuccess, isTrue, reason: report.toString());
});

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

check({required WincheService create(WincheApp app), Object? sessionHandle(WincheService service)?, WincheOptions? options}) Future<WincheContractReport>
Runs every check against a service built by create.