@jgardner04/ghost-mcp-server 1.11.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/__tests__/mcp_server.test.js +10 -4
- package/src/__tests__/mcp_server_improved.test.js +192 -149
- package/src/__tests__/mcp_server_pages.test.js +72 -68
- package/src/errors/__tests__/index.test.js +70 -0
- package/src/errors/index.js +10 -0
- package/src/mcp_server.js +9 -19
- package/src/mcp_server_improved.js +684 -472
- package/src/schemas/__tests__/common.test.js +84 -0
- package/src/schemas/common.js +50 -3
- package/src/services/__tests__/ghostServiceImproved.members.test.js +12 -61
- package/src/services/__tests__/postService.test.js +7 -99
- package/src/services/ghostServiceImproved.js +10 -21
- package/src/services/postService.js +4 -30
- package/src/utils/__tests__/tempFileManager.test.js +316 -0
- package/src/utils/__tests__/validation.test.js +163 -0
- package/src/utils/tempFileManager.js +113 -0
- package/src/utils/validation.js +28 -0
package/package.json
CHANGED
|
@@ -83,15 +83,21 @@ vi.mock('axios', () => ({
|
|
|
83
83
|
}));
|
|
84
84
|
|
|
85
85
|
// Mock fs
|
|
86
|
-
const mockUnlink = vi.fn((path, cb) => cb(null));
|
|
87
86
|
const mockCreateWriteStream = vi.fn();
|
|
88
87
|
vi.mock('fs', () => ({
|
|
89
88
|
default: {
|
|
90
|
-
unlink: (...args) => mockUnlink(...args),
|
|
91
89
|
createWriteStream: (...args) => mockCreateWriteStream(...args),
|
|
92
90
|
},
|
|
93
91
|
}));
|
|
94
92
|
|
|
93
|
+
// Mock tempFileManager
|
|
94
|
+
const mockTrackTempFile = vi.fn();
|
|
95
|
+
const mockCleanupTempFiles = vi.fn().mockResolvedValue(undefined);
|
|
96
|
+
vi.mock('../utils/tempFileManager.js', () => ({
|
|
97
|
+
trackTempFile: (...args) => mockTrackTempFile(...args),
|
|
98
|
+
cleanupTempFiles: (...args) => mockCleanupTempFiles(...args),
|
|
99
|
+
}));
|
|
100
|
+
|
|
95
101
|
// Mock os
|
|
96
102
|
vi.mock('os', () => ({
|
|
97
103
|
default: { tmpdir: vi.fn().mockReturnValue('/tmp') },
|
|
@@ -251,7 +257,7 @@ describe('mcp_server', () => {
|
|
|
251
257
|
const input = { imageUrl: 'https://example.com/image.jpg' };
|
|
252
258
|
await toolImplementations.ghost_upload_image(input);
|
|
253
259
|
|
|
254
|
-
expect(
|
|
260
|
+
expect(mockCleanupTempFiles).toHaveBeenCalled();
|
|
255
261
|
});
|
|
256
262
|
|
|
257
263
|
it('should cleanup temporary files on error', async () => {
|
|
@@ -260,7 +266,7 @@ describe('mcp_server', () => {
|
|
|
260
266
|
const input = { imageUrl: 'https://example.com/image.jpg' };
|
|
261
267
|
await expect(toolImplementations.ghost_upload_image(input)).rejects.toThrow();
|
|
262
268
|
|
|
263
|
-
expect(
|
|
269
|
+
expect(mockCleanupTempFiles).toHaveBeenCalled();
|
|
264
270
|
});
|
|
265
271
|
|
|
266
272
|
it('should handle download errors', async () => {
|