]> git.proxmox.com Git - mirror_ovs.git/blob - tests/ovsdb-replication.at
ofp-print: Abbreviate lists of fields in table features output.
[mirror_ovs.git] / tests / ovsdb-replication.at
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 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 }
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",
59 "row": {"number": 1, "name": "one"}}]]],
60 [[["mydb",
61 {"op": "insert",
62 "table": "a",
63 "row": {"number": 1, "name": "one"}}]]]],
64 [[8,10c8,9
65 < _uuid name number
66 < ------------------------------------ ---- ------
67 < <0> one 1
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"]],
87 "row": {"number": 2, "name": "two"}}]]],
88 [[["mydb",
89 {"op": "insert",
90 "table": "a",
91 "row": {"number": 1, "name": "one"}}]]]],
92 [[8,10c8,9
93 < _uuid name number
94 < ------------------------------------ ---- ------
95 < <0> two 2
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 < ------------------------------------ ---- ------
119 < <0> two 2
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 < ------------------------------------ ----- ------
148 < <0> three 3
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",
167 "row": {"number": 1, "name": "one"}}]]],
168 [[["mydb",
169 {"op": "insert",
170 "table": "a",
171 "row": {"number": 1, "name": "one"}}]]]],
172 [[7,9c7,8
173 < _uuid name number
174 < ------------------------------------ ---- ------
175 < <0> one 1
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"]],
199 "row": {"number": 2, "name": "two"}}]]],
200 [[["mydb",
201 {"op": "insert",
202 "table": "a",
203 "row": {"number": 1, "name": "one"}}]]]],
204 [[7,9c7,8
205 < _uuid name number
206 < ------------------------------------ ---- ------
207 < <0> two 2
208 ---
209 > _uuid name number
210 > ----- ---- ------]]
211 )
212
213 ])