Skip to main content
Glama
anchor.test.js1.35 kB
'use strict' const assert = require('node:assert/strict') const { test } = require('node:test') const { RefResolver } = require('../index.js') test('should get a sub schema by sub schema anchor', () => { const refResolver = new RefResolver() const schemaId = 'schemaId' const subSchemaAnchor = '#subSchemaId' const schema = { $id: schemaId, definitions: { subSchema: { $id: subSchemaAnchor, type: 'object', properties: { foo: { type: 'string' } } } } } refResolver.addSchema(schema) const resolvedSchema = refResolver.getSchema(schemaId, subSchemaAnchor) assert.equal(resolvedSchema, schema.definitions.subSchema) }) test('should fail to find a schema using an anchor instead of schema id', () => { const refResolver = new RefResolver() const schemaId = 'schemaId' const subSchemaAnchor = '#subSchemaId' const schema = { $id: schemaId, definitions: { subSchema: { $id: subSchemaAnchor, type: 'object', properties: { foo: { type: 'string' } } } } } refResolver.addSchema(schema) try { refResolver.getSchema(subSchemaAnchor) } catch (err) { assert.equal( err.message, 'Cannot resolve ref "#subSchemaId#". Schema with id "#subSchemaId" is not found.' ) } })

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/krtw00/search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server