mindspace: version runtime contracts and audit packages
This commit is contained in:
@@ -5,6 +5,11 @@ import {
|
||||
createMindSpaceServerAdapter,
|
||||
resolveMindSpaceServerAdapterKind,
|
||||
} from './mindspace-server-adapter.mjs';
|
||||
import {
|
||||
MINDSPACE_SERVER_ADAPTER_BINDINGS,
|
||||
MINDSPACE_SERVER_ADAPTER_CONTRACT_VERSION,
|
||||
MINDSPACE_SERVER_ADAPTER_REQUIRED_CAPABILITIES,
|
||||
} from './mindspace-server-adapter-contract.mjs';
|
||||
|
||||
test('resolveMindSpaceServerAdapterKind defaults to local and rejects unknown kinds', () => {
|
||||
assert.equal(resolveMindSpaceServerAdapterKind({}), 'local');
|
||||
@@ -39,19 +44,32 @@ test('createMindSpaceServerAdapter returns a contract-complete local adapter by
|
||||
assert.equal(assertMindSpaceServerAdapterContract(adapter), adapter);
|
||||
});
|
||||
|
||||
test('createMindSpaceServerAdapter exposes a remote stub that fails fast when selected', () => {
|
||||
test('createMindSpaceServerAdapter exposes a remote stub that validates contract when selected', async () => {
|
||||
const adapter = createMindSpaceServerAdapter({
|
||||
env: {
|
||||
MINDSPACE_SERVER_ADAPTER: 'remote',
|
||||
MINDSPACE_REMOTE_BASE_URL: 'https://mindspace.example.com',
|
||||
},
|
||||
fetchFn: async () => ({
|
||||
ok: true,
|
||||
status: 200,
|
||||
async text() {
|
||||
return JSON.stringify({
|
||||
contractVersion:
|
||||
MINDSPACE_SERVER_ADAPTER_CONTRACT_VERSION,
|
||||
bindings: MINDSPACE_SERVER_ADAPTER_BINDINGS,
|
||||
requiredCapabilities:
|
||||
MINDSPACE_SERVER_ADAPTER_REQUIRED_CAPABILITIES,
|
||||
});
|
||||
},
|
||||
}),
|
||||
logger: { log() {}, warn() {}, error() {} },
|
||||
});
|
||||
|
||||
assert.equal(adapter.kind, 'remote');
|
||||
assert.equal(adapter.implementationStatus, 'scaffold');
|
||||
assert.equal(assertMindSpaceServerAdapterContract(adapter), adapter);
|
||||
assert.equal(adapter.assertReady(), true);
|
||||
assert.equal(await adapter.assertReady(), true);
|
||||
assert.deepEqual(adapter.startBackgroundJobs(), {
|
||||
publicationCleanup: null,
|
||||
agentWorker: null,
|
||||
|
||||
Reference in New Issue
Block a user