annotate examples/serve_inline_graph_test.py @ 11:0bc06da6bf74

start ferry1 patch protocol
author drewp@bigasterisk.com
date Mon, 18 Mar 2024 16:42:21 -0700
parents 52e1bb1532f2
children ba73d8ba81dc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
1 from pathlib import Path
11
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
2 import logging
10
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
3 import pytest
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
4
11
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
5 from examples._run_server_child import RunHttpServerChildProcess, assert_event_stream_starts_with
10
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
6
11
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
7 log = logging.getLogger('test')
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
8 logging.basicConfig(level=logging.INFO)
10
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
9 server_path = Path('examples/serve_inline_graph.py')
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
10
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
11
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
12 @pytest.mark.asyncio
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
13 async def test_server_returns_n3():
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
14 async with RunHttpServerChildProcess(server_path) as http_server:
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
15 response = await http_server.get('http://localhost:8005/g1')
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
16 assert (await response.text()
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
17 ) == '''@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
18
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
19 <http://example.com/process> {
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
20 <http://example.com/greeting> rdfs:label "hello world" .
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
21 }
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
22
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
23 '''
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
24
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
25
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
26 @pytest.mark.asyncio
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
27 async def test_server_returns_trig():
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
28 async with RunHttpServerChildProcess(server_path) as http_server:
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
29 response = await http_server.get(
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
30 'http://localhost:8005/g1',
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
31 headers={'accept': "application/n-quads"})
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
32 assert (
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
33 await response.text()
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
34 ) == '''<http://example.com/greeting> <http://www.w3.org/2000/01/rdf-schema#label> "hello world" <http://example.com/process> .
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
35
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
36 '''
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
37
52e1bb1532f2 serve_inline_graph
drewp@bigasterisk.com
parents:
diff changeset
38
11
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
39 @pytest.mark.asyncio
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
40 async def test_server_returns_startup_events():
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
41 async with RunHttpServerChildProcess(server_path) as http_server:
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
42 await assert_event_stream_starts_with(
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
43 http_server,
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
44 'http://localhost:8005/g1/events',
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
45 expected_events=[
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
46 ('clear', 'ferry1'),
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
47 ('patch',
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
48 '-\n+\n["http://example.com/greeting", "http://www.w3.org/2000/01/rdf-schema#label", "hello world", "http://www.w3.org/2001/XMLSchema#string", "", "http://example.com/process"]'
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
49 ),
0bc06da6bf74 start ferry1 patch protocol
drewp@bigasterisk.com
parents: 10
diff changeset
50 ])