blob: ac2c545fd1c7c7b1a18e3c7428ea0b7ab096647e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
from packaging import version
from unit.applications.lang.node import ApplicationNode
from unit.applications.websockets import ApplicationWebsocket
prerequisites = {
'modules': {'node': lambda v: version.parse(v) >= version.parse('14.16.0')}
}
client = ApplicationNode(es_modules=True)
ws = ApplicationWebsocket()
def assert_basic_application():
resp = client.get()
assert resp['headers']['Content-Type'] == 'text/plain', 'basic header'
assert resp['body'] == 'Hello World\n', 'basic body'
def test_node_es_modules_loader_http():
client.load('loader/es_modules_http', name="app.mjs")
assert_basic_application()
def test_node_es_modules_loader_http_indirect():
client.load('loader/es_modules_http_indirect', name="app.js")
assert_basic_application()
def test_node_es_modules_loader_websockets():
client.load('loader/es_modules_websocket', name="app.mjs")
message = 'blah'
_, sock, _ = ws.upgrade()
ws.frame_write(sock, ws.OP_TEXT, message)
frame = ws.frame_read(sock)
assert message == frame['data'].decode('utf-8'), 'mirror'
ws.frame_write(sock, ws.OP_TEXT, message)
frame = ws.frame_read(sock)
assert message == frame['data'].decode('utf-8'), 'mirror 2'
sock.close()
|