]>
Commit | Line | Data |
---|---|---|
7a9d65d2 MC |
1 | AT_BANNER([OVSDB -- replication]) |
2 | ||
3 | m4_divert_push([PREPARE_TESTS]) | |
4 | [ | |
5 | replication_schema () { | |
6 | cat <<'EOF' | |
7 | {"name": "mydb", | |
8 | "tables": { | |
9 | "a": { | |
10 | "columns": { | |
11 | "number": {"type": "integer"}, | |
12 | "name": {"type": "string"}}, | |
13 | "indexes": [["number"]]}, | |
14 | "b": { | |
15 | "columns": { | |
16 | "number": {"type": "integer"}, | |
17 | "name": {"type": "string"}}, | |
18 | "indexes": [["number"]]}} | |
19 | } | |
20 | EOF | |
21 | } | |
22 | ] | |
23 | m4_divert_pop([PREPARE_TESTS]) | |
24 | ||
25 | m4_define([REPLICATION_EXAMPLES], [ | |
26 | ||
27 | OVSDB_CHECK_REPLICATION([insert monitored table, insert excluded table], | |
28 | [replication_schema], | |
29 | [[[["mydb", | |
30 | {"op": "insert", | |
31 | "table": "a", | |
32 | "row": {"number": 0, "name": "zero"}}]]], | |
33 | [[["mydb", | |
34 | {"op": "insert", | |
35 | "table": "b", | |
5dd81c22 AZ |
36 | "row": {"number": 1, "name": "one"}}]]], |
37 | [[["mydb", | |
38 | {"op": "insert", | |
39 | "table": "a", | |
7a9d65d2 | 40 | "row": {"number": 1, "name": "one"}}]]]], |
5dd81c22 | 41 | [[8,10c8,9 |
7a9d65d2 MC |
42 | < _uuid name number |
43 | < ------------------------------------ ---- ------ | |
44 | < <0> one 1 @&t@ | |
45 | --- | |
46 | > _uuid name number | |
47 | > ----- ---- ------]] | |
48 | ) | |
49 | ||
50 | OVSDB_CHECK_REPLICATION([insert monitored table, update excluded table], | |
51 | [replication_schema], | |
52 | [[[["mydb", | |
53 | {"op": "insert", | |
54 | "table": "a", | |
55 | "row": {"number": 0, "name": "zero"}}]]], | |
56 | [[["mydb", | |
57 | {"op": "insert", | |
58 | "table": "b", | |
59 | "row": {"number": 1, "name": "one"}}]]], | |
60 | [[["mydb", | |
61 | {"op": "update", | |
62 | "table": "b", | |
63 | "where":[["name","==","one"]], | |
5dd81c22 AZ |
64 | "row": {"number": 2, "name": "two"}}]]], |
65 | [[["mydb", | |
66 | {"op": "insert", | |
67 | "table": "a", | |
68 | "row": {"number": 1, "name": "one"}}]]]], | |
69 | [[8,10c8,9 | |
7a9d65d2 MC |
70 | < _uuid name number |
71 | < ------------------------------------ ---- ------ | |
72 | < <0> two 2 @&t@ | |
73 | --- | |
74 | > _uuid name number | |
75 | > ----- ---- ------]] | |
76 | ) | |
77 | ||
78 | OVSDB_CHECK_REPLICATION([update monitored table, insert excluded table], | |
79 | [replication_schema], | |
80 | [[[["mydb", | |
81 | {"op": "insert", | |
82 | "table": "a", | |
83 | "row": {"number": 0, "name": "zero"}}]]], | |
84 | [[["mydb", | |
85 | {"op": "update", | |
86 | "table": "a", | |
87 | "where":[["name","==","zero"]], | |
88 | "row": {"number": 1, "name": "one"}}]]], | |
89 | [[["mydb", | |
90 | {"op": "insert", | |
91 | "table": "b", | |
92 | "row": {"number": 2, "name": "two"}}]]]], | |
93 | [[7,9c7,8 | |
94 | < _uuid name number | |
95 | < ------------------------------------ ---- ------ | |
96 | < <0> two 2 @&t@ | |
97 | --- | |
98 | > _uuid name number | |
99 | > ----- ---- ------]] | |
100 | ) | |
101 | ||
102 | OVSDB_CHECK_REPLICATION([update monitored table, update excluded table], | |
103 | [replication_schema], | |
104 | [[[["mydb", | |
105 | {"op": "insert", | |
106 | "table": "a", | |
107 | "row": {"number": 0, "name": "zero"}}]]], | |
108 | [[["mydb", | |
109 | {"op": "update", | |
110 | "table": "a", | |
111 | "where":[["name","==","zero"]], | |
112 | "row": {"number": 1, "name": "one"}}]]], | |
113 | [[["mydb", | |
114 | {"op": "insert", | |
115 | "table": "b", | |
116 | "row": {"number": 2, "name": "two"}}]]], | |
117 | [[["mydb", | |
118 | {"op": "update", | |
119 | "table": "b", | |
120 | "where":[["name","==","two"]], | |
121 | "row": {"number": 3, "name": "three"}}]]]], | |
122 | [[7,9c7,8 | |
123 | < _uuid name number | |
124 | < ------------------------------------ ----- ------ | |
125 | < <0> three 3 @&t@ | |
126 | --- | |
127 | > _uuid name number | |
128 | > ----- ---- ------]] | |
129 | ) | |
130 | ||
131 | OVSDB_CHECK_REPLICATION([delete monitored table, insert excluded table], | |
132 | [replication_schema], | |
133 | [[[["mydb", | |
134 | {"op": "insert", | |
135 | "table": "a", | |
136 | "row": {"number": 0, "name": "zero"}}]]], | |
137 | [[["mydb", | |
138 | {"op": "delete", | |
139 | "table": "a", | |
140 | "where":[["name","==","zero"]]}]]], | |
141 | [[["mydb", | |
142 | {"op": "insert", | |
143 | "table": "b", | |
5dd81c22 AZ |
144 | "row": {"number": 1, "name": "one"}}]]], |
145 | [[["mydb", | |
146 | {"op": "insert", | |
147 | "table": "a", | |
7a9d65d2 | 148 | "row": {"number": 1, "name": "one"}}]]]], |
5dd81c22 | 149 | [[7,9c7,8 |
7a9d65d2 MC |
150 | < _uuid name number |
151 | < ------------------------------------ ---- ------ | |
152 | < <0> one 1 @&t@ | |
153 | --- | |
154 | > _uuid name number | |
155 | > ----- ---- ------]] | |
156 | ) | |
157 | ||
158 | OVSDB_CHECK_REPLICATION([delete monitored table, update excluded table], | |
159 | [replication_schema], | |
160 | [[[["mydb", | |
161 | {"op": "insert", | |
162 | "table": "a", | |
163 | "row": {"number": 0, "name": "zero"}}]]], | |
164 | [[["mydb", | |
165 | {"op": "delete", | |
166 | "table": "a", | |
167 | "where":[["name","==","zero"]]}]]], | |
168 | [[["mydb", | |
169 | {"op": "insert", | |
170 | "table": "b", | |
171 | "row": {"number": 1, "name": "one"}}]]], | |
172 | [[["mydb", | |
173 | {"op": "update", | |
174 | "table": "b", | |
175 | "where":[["name","==","one"]], | |
5dd81c22 AZ |
176 | "row": {"number": 2, "name": "two"}}]]], |
177 | [[["mydb", | |
178 | {"op": "insert", | |
179 | "table": "a", | |
180 | "row": {"number": 1, "name": "one"}}]]]], | |
181 | [[7,9c7,8 | |
7a9d65d2 MC |
182 | < _uuid name number |
183 | < ------------------------------------ ---- ------ | |
184 | < <0> two 2 @&t@ | |
185 | --- | |
186 | > _uuid name number | |
187 | > ----- ---- ------]] | |
188 | ) | |
189 | ||
190 | ]) |