feat(test): Automate smoke tests for JS Client [DXJ-293] (#282)

This commit is contained in:
Pavel
2023-03-07 20:07:52 +04:00
committed by GitHub
parent 3fbeb0df8e
commit 10d7eaed80
40 changed files with 830 additions and 169 deletions

View File

@ -0,0 +1,37 @@
import handler from 'serve-handler';
import { createServer } from 'http';
import type { Server } from 'http';
import { dirname, join } from 'path';
import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));
const CDN_PUBLIC_PATH = join(__dirname, '../../../client/js-client.web.standalone/dist/');
export const startCdn = (port: number) => startContentServer(port, CDN_PUBLIC_PATH);
export const startContentServer = (port: number, publicDir: string): Promise<Server> => {
const server = createServer((request, response) => {
return handler(request, response, {
public: publicDir,
});
});
return new Promise<Server>((resolve) => {
const result = server.listen(port, () => {
console.log(`server started on port ${port}`);
console.log(`public dir ${publicDir}`);
resolve(result);
});
});
};
export const stopServer = (app: Server): Promise<void> => {
return new Promise<void>((resolve) => {
app.close(() => {
console.log('server stopped');
resolve();
});
});
};