Skip to content

Commit d7cda76

Browse files
Add tests for version consistency
1 parent 434eeb5 commit d7cda76

File tree

6 files changed

+55
-4
lines changed

6 files changed

+55
-4
lines changed

index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,4 +268,4 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
268268

269269
// Start the server
270270
const transport = new StdioServerTransport();
271-
await server.connect(transport);
271+
server.connect(transport);

tests/integration/mcp-client.test.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ describe('MCP Client Integration', () => {
105105
expect(response).toHaveProperty('tools');
106106
expect(Array.isArray(response.tools)).toBe(true);
107107
expect(response.tools.length).toBeGreaterThan(0);
108-
108+
109109
// Check for essential tools
110110
const toolNames = response.tools.map(tool => tool.name);
111111
console.log('Available tools:', toolNames);
@@ -194,4 +194,16 @@ describe('MCP Client Integration', () => {
194194
expect(deleteResult.isError).toBeFalsy();
195195
console.log('Deleted project');
196196
});
197-
});
197+
198+
it('should have accurate version', async () => {
199+
console.log('Testing server version...');
200+
const response = await client.getServerVersion();
201+
expect(response).toBeDefined();
202+
expect(response).toHaveProperty('version');
203+
// Should match package.json version
204+
const packageJson = JSON.parse(
205+
await fs.readFile(new URL('../../package.json', import.meta.url), 'utf8')
206+
);
207+
expect(response?.version).toBe(packageJson.version);
208+
});
209+
});

tests/setup.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,10 @@ export {
1313
afterEach,
1414
beforeAll,
1515
afterAll
16-
};
16+
};
17+
18+
// Add global teardown
19+
afterAll(async () => {
20+
// Allow time for any open handles to close
21+
await new Promise(resolve => setTimeout(resolve, 500));
22+
});
File renamed without changes.

tests/version-consistency.test.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { readFile } from 'fs/promises';
2+
import { fileURLToPath } from 'url';
3+
import path from 'path';
4+
5+
// Get the directory name equivalent in ESM
6+
const __filename = fileURLToPath(import.meta.url);
7+
const __dirname = path.dirname(__filename);
8+
9+
describe('Package Version Consistency', () => {
10+
test('package.json and package-lock.json versions match', async () => {
11+
try {
12+
// Read files from the project root
13+
const packageJson = JSON.parse(
14+
await readFile(path.resolve(__dirname, '../package.json'), 'utf8')
15+
);
16+
17+
const packageLockJson = JSON.parse(
18+
await readFile(path.resolve(__dirname, '../package-lock.json'), 'utf8')
19+
);
20+
21+
// Get the package version from both files
22+
const packageVersion = packageJson.version;
23+
const packageLockVersion = packageLockJson.version;
24+
25+
// Assert that both versions match
26+
expect(packageLockVersion).toBe(packageVersion);
27+
} catch (error) {
28+
// Ensure errors are properly caught and reported
29+
console.error('Error during version comparison:', error);
30+
throw error;
31+
}
32+
});
33+
});

0 commit comments

Comments
 (0)