mirror of
https://github.com/fluencelabs/fluence-js.git
synced 2025-06-27 06:41:32 +00:00
feat(test): Automate smoke tests for JS Client [DXJ-293] (#282)
This commit is contained in:
37
packages/@tests/test-utils/src/index.ts
Normal file
37
packages/@tests/test-utils/src/index.ts
Normal 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();
|
||||
});
|
||||
});
|
||||
};
|
Reference in New Issue
Block a user