This repository has been archived on 2026-03-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
docs/src/frontend/servers/y-provider/__tests__/convert.test.ts

67 lines
1.9 KiB
TypeScript
Raw Normal View History

import request from 'supertest';
const port = 5556;
const origin = 'http://localhost:3000';
jest.mock('../src/env', () => {
return {
PORT: port,
COLLABORATION_SERVER_ORIGIN: origin,
Y_PROVIDER_API_KEY: 'yprovider-api-key',
};
});
import { initServer } from '../src/servers/appServer';
console.error = jest.fn();
const { app, server } = initServer();
describe('Server Tests', () => {
afterAll(() => {
server.close();
});
test('POST /api/convert with incorrect API key should return 403', async () => {
const response = await request(app as any)
.post('/api/convert')
.set('Origin', origin)
.set('Authorization', 'wrong-api-key');
expect(response.status).toBe(403);
expect(response.body.error).toBe('Forbidden: Invalid API Key');
});
test('POST /api/convert with a Bearer token', async () => {
const response = await request(app as any)
.post('/api/convert')
.set('Origin', origin)
.set('Authorization', 'Bearer test-secret-api-key');
// Warning: Changing the authorization header to Bearer token format will break backend compatibility with this microservice.
expect(response.status).toBe(403);
});
test('POST /api/convert with missing body param content', async () => {
const response = await request(app as any)
.post('/api/convert')
.set('Origin', origin)
.set('Authorization', 'yprovider-api-key');
expect(response.status).toBe(400);
expect(response.body.error).toBe('Invalid request: missing content');
});
test('POST /api/convert with body param content being an empty string', async () => {
const response = await request(app as any)
.post('/api/convert')
.set('Origin', origin)
.set('Authorization', 'yprovider-api-key')
.send({
content: '',
});
expect(response.status).toBe(400);
expect(response.body.error).toBe('Invalid request: missing content');
});
});