annotate examples/serve_inline_graph_test.py @ 12:ba73d8ba81dc default tip

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