26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
import fs from 'node:fs';
|
|
import path from 'node:path';
|
|
import { describe, expect, it } from 'vitest';
|
|
|
|
describe('VNC container entrypoint', () => {
|
|
it('starts x11vnc with supported arguments and verifies its port before noVNC', () => {
|
|
const script = fs.readFileSync(path.resolve('docker/entrypoint.sh'), 'utf8');
|
|
|
|
expect(script).not.toContain('-nopw_warn');
|
|
expect(script).toContain('kill -0 "${X11VNC_PID}"');
|
|
expect(script).toContain('/dev/tcp/127.0.0.1/${VNC_PORT}');
|
|
expect(script.indexOf('VNC server is ready')).toBeLessThan(
|
|
script.indexOf('starting noVNC'),
|
|
);
|
|
});
|
|
|
|
it('removes only stale Chromium singleton artifacts before launching the bot', () => {
|
|
const script = fs.readFileSync(path.resolve('docker/entrypoint.sh'), 'utf8');
|
|
|
|
expect(script).toContain('"${BROWSER_SESSION_DIR}/SingletonLock"');
|
|
expect(script).toContain('"${BROWSER_SESSION_DIR}/SingletonSocket"');
|
|
expect(script).toContain('"${BROWSER_SESSION_DIR}/SingletonCookie"');
|
|
expect(script.indexOf('SingletonLock')).toBeLessThan(script.indexOf('launching bot'));
|
|
});
|
|
});
|