Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ulixee
GitHub Repository: ulixee/secret-agent
Path: blob/main/plugins/default-browser-emulator/test/publicIp.test.ts
1029 views
1
import { Helpers } from '@secret-agent/testing';
2
import CorePlugins from '@secret-agent/core/lib/CorePlugins';
3
import { IBoundLog } from '@secret-agent/interfaces/ILog';
4
import Log from '@secret-agent/commons/Logger';
5
import RequestSession from '@secret-agent/mitm/handlers/RequestSession';
6
import MitmServer from '@secret-agent/mitm/lib/MitmProxy';
7
import lookupPublicIp, { IpLookupServices } from '../lib/helpers/lookupPublicIp';
8
import BrowserEmulator from '../index';
9
10
const { log } = Log(module);
11
const browserEmulatorId = BrowserEmulator.id;
12
const selectBrowserMeta = BrowserEmulator.selectBrowserMeta();
13
14
afterAll(Helpers.afterAll);
15
afterEach(Helpers.afterEach);
16
17
test('can resolve a v4 address', async () => {
18
await expect(lookupPublicIp()).resolves.toBeTruthy();
19
});
20
21
test('can resolve an ip address with a mitm socket', async () => {
22
const mitmServer = await MitmServer.start();
23
Helpers.needsClosing.push(mitmServer);
24
25
const plugins = new CorePlugins({ browserEmulatorId, selectBrowserMeta }, log as IBoundLog);
26
const session = new RequestSession(`1`, plugins);
27
mitmServer.registerSession(session, false);
28
Helpers.needsClosing.push(session);
29
30
await expect(lookupPublicIp(IpLookupServices.aws, session.requestAgent)).resolves.toBeTruthy();
31
});
32
33