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.