]> git.proxmox.com Git - mirror_ovs.git/blame - tests/ovsdb-replication.at
ofproto-dpif: Expose datapath capability to ovsdb.
[mirror_ovs.git] / tests / ovsdb-replication.at
CommitLineData
7a9d65d2
MC
1AT_BANNER([OVSDB -- replication])
2
3m4_divert_push([PREPARE_TESTS])
4[
5replication_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 }
20EOF
21}
cec7005b
NS
22replication_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 }
43EOF
44}
7a9d65d2
MC
45]
46m4_divert_pop([PREPARE_TESTS])
47
48m4_define([REPLICATION_EXAMPLES], [
49
50OVSDB_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
73OVSDB_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
101OVSDB_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
125OVSDB_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
154OVSDB_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
181OVSDB_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])