1#
2# Setup_Schema
3#
4-->macro Setup_Schema
5stmtadmin create_collection	{"schema":"xtest", "name":"xdoc"};
6recvresult;
7varlet %RESULT_PATCH_STRING% {"a": "foo", "_id": 1};
8varlet %RESULT_PATCH_NULL% {"a": "foo", "_id": 1};
9varlet %RESULT_PATCH_ARRAY% {"a": "foo", "_id": 1};
10varlet %RESULT_PATCH_ID% {"a": "foo", "_id": 1};
11varlet %OBJECT% Collection1;
12varlet %OBJECT_COLUMN% ;
13-->endmacro
14
15
16#
17# Document_UpdatePatch_Find
18#
19-->macro Document_UpdatePatch_Find	%ERROR%	%DOC%	%PATCH%	%EXPECT%
20echo # Verification of JSON patch [%DOC% patch %PATCH% = %EXPECT%];
21quiet;
22noquery_result;
23callmacro Crud_insert	Collection1	'xdoc'	Row_octet	'%DOC%';
24callmacro Crud_update	Collection1	'xdoc'	Op_octets
25		MERGE_PATCH	'%PATCH%';
26callmacro Crud_find	Collection1	'xdoc';
27callmacro Crud_delete	Collection1 'xdoc';
28recvresult;
29expecterror %ERROR%;
30recvresult;
31recvtovar %RESULT%;
32recvresult;
33noquiet;
34query_result;
35assert_eq %EXPECT%	%RESULT%;
36echo;
37-->endmacro
38
39
40#
41# Document_UpdatePatchObj_Find
42#
43-->macro Document_UpdatePatchObj_Find	%ERROR%	%DOC%	%OBJ%	%EXPECT%
44echo # Verification of JSON patch [%DOC% patch PROTOBUF_EXPR = %EXPECT%];
45quiet;
46noquery_result;
47callmacro Crud_insert	Collection1	'xdoc'	Row_octet	'%DOC%';
48callmacro Crud_update	Collection1	'xdoc'	Op_object
49		MERGE_PATCH	%OBJ%;
50callmacro Crud_find	Collection1	'xdoc';
51callmacro Crud_delete	Collection1 'xdoc';
52recvresult;
53expecterror %ERROR%;
54recvresult;
55recvtovar %RESULT%;
56recvresult;
57noquiet;
58query_result;
59assert_eq %EXPECT%	%RESULT%;
60echo;
61-->endmacro
62
63
64#
65# Document_OnlyTable_UpdatePatch_Find
66#
67-->macro Document_OnlyTable_UpdatePatch_Find	%ERROR%	%DOC%	%PATCH%	%EXPECT%
68echo # Test not applicable:;
69echo # doc:%DOC%  patch:%PATCH% result:%EXPECT%;
70echo # document can't be an array;
71-->endmacro
72
73
74#
75# DocumentNull_OnlyTable_UpdatePatch_Find
76#
77-->macro DocumentNull_OnlyTable_UpdatePatch_Find	%ERROR%	%DOC%	%PATCH%	%EXPECT%
78echo # Test not applicable:;
79echo # doc:%DOC%  patch:%PATCH% result:%EXPECT%;
80echo # document can't be an array;
81-->endmacro
82
83