forked from fritzy/thoonk.py
/
interop
77 lines (66 loc) · 1.55 KB
/
interop
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Thoonk Interop Testing Script
=============================
Thoonk is intended to be language agnostic, allowing for
an ecosystem of various systems communicating over a set
of common pubsub channels. Ensuring that multiple Thoonk
implementations work together is paramount for that goal.
Feeds:
-- Using interop-test-feed
A: Publish item
-- 'test item', id '1'
B: Check item
A: Edit item
-- 'edited item', id '1'
B: Check item
A: Retract item
-- id '1'
B: Check items
A: Set config to max_length 5
Publish 5 items
-- 'item-1', id '1'
-- 'item-2', id '2'
-- 'item-3', id '3'
-- 'item-4', id '4'
-- 'item-5', id '5'
B: Check for 5 items
A: Publish item
-- 'item-6', id '6'
B: Check for 5 items
A: Edit item
-- 'edited item-4', id '4'
B: Check for 4 items (item dropped)
Lists:
A: Publish 5 items
B: Check items
Publish event
A: Publish item to before #3
B: Check items
A: Publish item to after #3
B: Check items
A: Retract item
B: Check items
Retract event
Queues:
A: Publish 5 items
B: Pull 2 items, check order
Publish events
Retract 1 item
A: Pull 2 items, check order
Jobs:
A: Publish 4 jobs
B: Pull job
Finish job 1
A: Get results for job 1
B: Pull job
Cancel job 2
Pull job
Check job 2
Retract job 2
A: Stall job 3
B: Pull job
Check job 4
Finish job 4
A: Retry job 3
B: Pull job
Check job 3
Finish job 3