Files
RedditBot/tests/vnc-entrypoint.test.ts
T

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'));
});
});