]>
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 | } | |
cec7005b NS |
22 | replication_schema_v2 () { |
23 | cat <<'EOF' | |
24 | {"name": "mydb", | |
25 | "tables": { | |
26 | "a": { | |
27 | "columns": { | |
28 | "number": {"type": "integer"}, | |
29 | "name": {"type": "string"}}, | |
30 | "indexes": [["number"]]}, | |
31 | "b": { | |
32 | "columns": { | |
33 | "number": {"type": "integer"}, | |
34 | "name": {"type": "string"}, | |
35 | "foo" : {"type": "string"}}, | |
36 | "indexes": [["number"]]}, | |
37 | "c": { | |
38 | "columns": { | |
39 | "number": {"type": "integer"}, | |
40 | "name": {"type": "string"}}, | |
41 | "indexes": [["number"]]}} | |
42 | } | |
43 | EOF | |
44 | } | |
7a9d65d2 MC |
45 | ] |
46 | m4_divert_pop([PREPARE_TESTS]) | |
47 | ||
48 | m4_define([REPLICATION_EXAMPLES], [ | |
49 | ||
50 | OVSDB_CHECK_REPLICATION([insert monitored table, insert 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", | |
5dd81c22 AZ |
59 | "row": {"number": 1, "name": "one"}}]]], |
60 | [[["mydb", | |
61 | {"op": "insert", | |
62 | "table": "a", | |
7a9d65d2 | 63 | "row": {"number": 1, "name": "one"}}]]]], |
5dd81c22 | 64 | [[8,10c8,9 |
7a9d65d2 MC |
65 | < _uuid name number |
66 | < ------------------------------------ ---- ------ | |
e51d0a1d | 67 | < <0> one 1 |
7a9d65d2 MC |
68 | --- |
69 | > _uuid name number | |
70 | > ----- ---- ------]] | |
71 | ) | |
72 | ||
73 | OVSDB_CHECK_REPLICATION([insert monitored table, update excluded table], | |
74 | [replication_schema], | |
75 | [[[["mydb", | |
76 | {"op": "insert", | |
77 | "table": "a", | |
78 | "row": {"number": 0, "name": "zero"}}]]], | |
79 | [[["mydb", | |
80 | {"op": "insert", | |
81 | "table": "b", | |
82 | "row": {"number": 1, "name": "one"}}]]], | |
83 | [[["mydb", | |
84 | {"op": "update", | |
85 | "table": "b", | |
86 | "where":[["name","==","one"]], | |
5dd81c22 AZ |
87 | "row": {"number": 2, "name": "two"}}]]], |
88 | [[["mydb", | |
89 | {"op": "insert", | |
90 | "table": "a", | |
91 | "row": {"number": 1, "name": "one"}}]]]], | |
92 | [[8,10c8,9 | |
7a9d65d2 MC |
93 | < _uuid name number |
94 | < ------------------------------------ ---- ------ | |
e51d0a1d | 95 | < <0> two 2 |
7a9d65d2 MC |
96 | --- |
97 | > _uuid name number | |
98 | > ----- ---- ------]] | |
99 | ) | |
100 | ||
101 | OVSDB_CHECK_REPLICATION([update monitored table, insert excluded table], | |
102 | [replication_schema], | |
103 | [[[["mydb", | |
104 | {"op": "insert", | |
105 | "table": "a", | |
106 | "row": {"number": 0, "name": "zero"}}]]], | |
107 | [[["mydb", | |
108 | {"op": "update", | |
109 | "table": "a", | |
110 | "where":[["name","==","zero"]], | |
111 | "row": {"number": 1, "name": "one"}}]]], | |
112 | [[["mydb", | |
113 | {"op": "insert", | |
114 | "table": "b", | |
115 | "row": {"number": 2, "name": "two"}}]]]], | |
116 | [[7,9c7,8 | |
117 | < _uuid name number | |
118 | < ------------------------------------ ---- ------ | |
e51d0a1d | 119 | < <0> two 2 |
7a9d65d2 MC |
120 | --- |
121 | > _uuid name number | |
122 | > ----- ---- ------]] | |
123 | ) | |
124 | ||
125 | OVSDB_CHECK_REPLICATION([update monitored table, update excluded table], | |
126 | [replication_schema], | |
127 | [[[["mydb", | |
128 | {"op": "insert", | |
129 | "table": "a", | |
130 | "row": {"number": 0, "name": "zero"}}]]], | |
131 | [[["mydb", | |
132 | {"op": "update", | |
133 | "table": "a", | |
134 | "where":[["name","==","zero"]], | |
135 | "row": {"number": 1, "name": "one"}}]]], | |
136 | [[["mydb", | |
137 | {"op": "insert", | |
138 | "table": "b", | |
139 | "row": {"number": 2, "name": "two"}}]]], | |
140 | [[["mydb", | |
141 | {"op": "update", | |
142 | "table": "b", | |
143 | "where":[["name","==","two"]], | |
144 | "row": {"number": 3, "name": "three"}}]]]], | |
145 | [[7,9c7,8 | |
146 | < _uuid name number | |
147 | < ------------------------------------ ----- ------ | |
e51d0a1d | 148 | < <0> three 3 |
7a9d65d2 MC |
149 | --- |
150 | > _uuid name number | |
151 | > ----- ---- ------]] | |
152 | ) | |
153 | ||
154 | OVSDB_CHECK_REPLICATION([delete monitored table, insert excluded table], | |
155 | [replication_schema], | |
156 | [[[["mydb", | |
157 | {"op": "insert", | |
158 | "table": "a", | |
159 | "row": {"number": 0, "name": "zero"}}]]], | |
160 | [[["mydb", | |
161 | {"op": "delete", | |
162 | "table": "a", | |
163 | "where":[["name","==","zero"]]}]]], | |
164 | [[["mydb", | |
165 | {"op": "insert", | |
166 | "table": "b", | |
5dd81c22 AZ |
167 | "row": {"number": 1, "name": "one"}}]]], |
168 | [[["mydb", | |
169 | {"op": "insert", | |
170 | "table": "a", | |
7a9d65d2 | 171 | "row": {"number": 1, "name": "one"}}]]]], |
5dd81c22 | 172 | [[7,9c7,8 |
7a9d65d2 MC |
173 | < _uuid name number |
174 | < ------------------------------------ ---- ------ | |
e51d0a1d | 175 | < <0> one 1 |
7a9d65d2 MC |
176 | --- |
177 | > _uuid name number | |
178 | > ----- ---- ------]] | |
179 | ) | |
180 | ||
181 | OVSDB_CHECK_REPLICATION([delete monitored table, update excluded table], | |
182 | [replication_schema], | |
183 | [[[["mydb", | |
184 | {"op": "insert", | |
185 | "table": "a", | |
186 | "row": {"number": 0, "name": "zero"}}]]], | |
187 | [[["mydb", | |
188 | {"op": "delete", | |
189 | "table": "a", | |
190 | "where":[["name","==","zero"]]}]]], | |
191 | [[["mydb", | |
192 | {"op": "insert", | |
193 | "table": "b", | |
194 | "row": {"number": 1, "name": "one"}}]]], | |
195 | [[["mydb", | |
196 | {"op": "update", | |
197 | "table": "b", | |
198 | "where":[["name","==","one"]], | |
5dd81c22 AZ |
199 | "row": {"number": 2, "name": "two"}}]]], |
200 | [[["mydb", | |
201 | {"op": "insert", | |
202 | "table": "a", | |
203 | "row": {"number": 1, "name": "one"}}]]]], | |
204 | [[7,9c7,8 | |
7a9d65d2 MC |
205 | < _uuid name number |
206 | < ------------------------------------ ---- ------ | |
e51d0a1d | 207 | < <0> two 2 |
7a9d65d2 MC |
208 | --- |
209 | > _uuid name number | |
210 | > ----- ---- ------]] | |
211 | ) | |
212 | ||
213 | ]) |