Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/wapython
Path: blob/main/python/python-wasm/src/test/posix/netif.test.ts
1067 views
1
import { syncPython} from "../../node";
2
3
test("getting the first network interface works", async () => {
4
const { exec, repr } = await syncPython();
5
exec("import socket");
6
const name = eval(repr("socket.if_indextoname(1)"));
7
expect(typeof name).toBe("string");
8
expect(name.length).toBeGreaterThan(0);
9
});
10
11
test("going back and forth between interface and name works", async () => {
12
const { exec, repr } = await syncPython();
13
exec("import socket");
14
const name = eval(repr("socket.if_indextoname(1)"));
15
expect(eval(repr(`socket.if_nametoindex('${name}')`))).toBe(1);
16
});
17
18
test("going back and forth for all interfaces works", async () => {
19
const { exec, repr } = await syncPython();
20
exec("import json, socket");
21
const ni = JSON.parse(eval(repr("json.dumps(socket.if_nameindex())")));
22
for (const [index, name] of ni) {
23
expect(eval(repr(`socket.if_indextoname(${index})`))).toBe(name);
24
expect(eval(repr(`socket.if_nametoindex("${name}")`))).toBe(index);
25
}
26
});
27
28