netdev-provider: Apply batch object to netdev provider.
[cascardo/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 ]
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",
36        "row": {"number": 1, "name": "one"}}]]]],
37   [[7,9c7,8
38 < _uuid                                name number
39 < ------------------------------------ ---- ------
40 < <0> one  1     @&t@
41 ---
42 > _uuid name number
43 > ----- ---- ------]]
44 )
45
46 OVSDB_CHECK_REPLICATION([insert monitored table, update excluded table],
47   [replication_schema],
48   [[[["mydb",
49       {"op": "insert",
50        "table": "a",
51        "row": {"number": 0, "name": "zero"}}]]],
52   [[["mydb",
53       {"op": "insert",
54        "table": "b",
55        "row": {"number": 1, "name": "one"}}]]],
56   [[["mydb",
57       {"op": "update",
58        "table": "b",
59        "where":[["name","==","one"]],
60        "row": {"number": 2, "name": "two"}}]]]],
61   [[7,9c7,8
62 < _uuid                                name number
63 < ------------------------------------ ---- ------
64 < <0> two  2     @&t@
65 ---
66 > _uuid name number
67 > ----- ---- ------]]
68 )
69
70 OVSDB_CHECK_REPLICATION([update monitored table, insert excluded table],
71   [replication_schema],
72   [[[["mydb",
73       {"op": "insert",
74        "table": "a",
75        "row": {"number": 0, "name": "zero"}}]]],
76   [[["mydb",
77       {"op": "update",
78        "table": "a",
79        "where":[["name","==","zero"]],
80        "row": {"number": 1, "name": "one"}}]]],
81   [[["mydb",
82       {"op": "insert",
83        "table": "b",
84        "row": {"number": 2, "name": "two"}}]]]],
85   [[7,9c7,8
86 < _uuid                                name number
87 < ------------------------------------ ---- ------
88 < <0> two  2     @&t@
89 ---
90 > _uuid name number
91 > ----- ---- ------]]
92 )
93
94 OVSDB_CHECK_REPLICATION([update monitored table, update excluded table],
95   [replication_schema],
96   [[[["mydb",
97       {"op": "insert",
98        "table": "a",
99        "row": {"number": 0, "name": "zero"}}]]],
100   [[["mydb",
101       {"op": "update",
102        "table": "a",
103        "where":[["name","==","zero"]],
104        "row": {"number": 1, "name": "one"}}]]],
105   [[["mydb",
106       {"op": "insert",
107        "table": "b",
108        "row": {"number": 2, "name": "two"}}]]],
109   [[["mydb",
110       {"op": "update",
111        "table": "b",
112        "where":[["name","==","two"]],
113        "row": {"number": 3, "name": "three"}}]]]],
114   [[7,9c7,8
115 < _uuid                                name  number
116 < ------------------------------------ ----- ------
117 < <0> three 3     @&t@
118 ---
119 > _uuid name number
120 > ----- ---- ------]]
121 )
122
123 OVSDB_CHECK_REPLICATION([delete monitored table, insert excluded table],
124   [replication_schema],
125   [[[["mydb",
126       {"op": "insert",
127        "table": "a",
128        "row": {"number": 0, "name": "zero"}}]]],
129   [[["mydb",
130       {"op": "delete",
131        "table": "a",
132        "where":[["name","==","zero"]]}]]],
133   [[["mydb",
134       {"op": "insert",
135        "table": "b",
136        "row": {"number": 1, "name": "one"}}]]]],
137   [[6,8c6,7
138 < _uuid                                name number
139 < ------------------------------------ ---- ------
140 < <0> one  1     @&t@
141 ---
142 > _uuid name number
143 > ----- ---- ------]]
144 )
145
146 OVSDB_CHECK_REPLICATION([delete monitored table, update excluded table],
147   [replication_schema],
148   [[[["mydb",
149       {"op": "insert",
150        "table": "a",
151        "row": {"number": 0, "name": "zero"}}]]],
152   [[["mydb",
153       {"op": "delete",
154        "table": "a",
155        "where":[["name","==","zero"]]}]]],
156   [[["mydb",
157       {"op": "insert",
158        "table": "b",
159        "row": {"number": 1, "name": "one"}}]]],
160   [[["mydb",
161       {"op": "update",
162        "table": "b",
163        "where":[["name","==","one"]],
164        "row": {"number": 2, "name": "two"}}]]]],
165   [[6,8c6,7
166 < _uuid                                name number
167 < ------------------------------------ ---- ------
168 < <0> two  2     @&t@
169 ---
170 > _uuid name number
171 > ----- ---- ------]]
172 )
173
174 ])