17 "<" PCMK_XE_CIB " " PCMK_XA_ADMIN_EPOCH "=\"0\"" \
18 " " PCMK_XA_EPOCH "=\"0\"" \
19 " " PCMK_XA_NUM_UPDATES "=\"0\">" \
20 "<" PCMK_XE_CONFIGURATION ">" \
21 "<" PCMK_XE_CRM_CONFIG "/>" \
22 "<" PCMK_XE_NODES ">" \
23 "<" PCMK_XE_NODE " " PCMK_XA_ID "=\"1\"" \
24 " " PCMK_XA_UNAME "=\"node-1\"/>" \
25 "</" PCMK_XE_NODES ">" \
26 "<" PCMK_XE_RESOURCES "/>" \
27 "<" PCMK_XE_CONSTRAINTS "/>" \
28 "</" PCMK_XE_CONFIGURATION ">" \
29 "<" PCMK_XE_STATUS "/>" \
33assert_in_patchset(
const char *source_s,
const char *target_s,
34 const char *element,
bool reference)
38 xmlNode *patchset = NULL;
56null_patchset_asserts(
void **state)
64 "<" PCMK_XE_CIB " " PCMK_XA_ADMIN_EPOCH "=\"0\"" \
65 " " PCMK_XA_EPOCH "=\"0\"" \
66 " " PCMK_XA_NUM_UPDATES "=\"0\">" \
67 "<" PCMK_XE_CONFIGURATION ">" \
68 "<" PCMK_XE_CRM_CONFIG "/>" \
69 "<" PCMK_XE_NODES ">" \
70 "<" PCMK_XE_NODE " " PCMK_XA_ID "=\"1\"" \
71 " " PCMK_XA_UNAME "=\"node-1\"/>" \
72 "</" PCMK_XE_NODES ">" \
73 "<" PCMK_XE_RESOURCES "/>" \
74 "<" PCMK_XE_CONSTRAINTS "/>" \
75 "<" PCMK_XE_ALERTS "/>" \
76 "</" PCMK_XE_CONFIGURATION ">" \
77 "<" PCMK_XE_STATUS "/>" \
81create_op(
void **state)
95delete_op(
void **state)
109#define MODIFY_ADD_CIB \
110 "<" PCMK_XE_CIB " " PCMK_XA_ADMIN_EPOCH "=\"0\"" \
111 " " PCMK_XA_EPOCH "=\"0\"" \
112 " " PCMK_XA_NUM_UPDATES "=\"0\"" \
113 " " PCMK_XA_CRM_FEATURE_SET "=\"3.19.7\">" \
114 "<" PCMK_XE_CONFIGURATION ">" \
115 "<" PCMK_XE_CRM_CONFIG "/>" \
116 "<" PCMK_XE_NODES ">" \
117 "<" PCMK_XE_NODE " " PCMK_XA_ID "=\"1\"" \
118 " " PCMK_XA_UNAME "=\"node-1\"/>" \
119 "</" PCMK_XE_NODES ">" \
120 "<" PCMK_XE_RESOURCES "/>" \
121 "<" PCMK_XE_CONSTRAINTS "/>" \
122 "</" PCMK_XE_CONFIGURATION ">" \
123 "<" PCMK_XE_STATUS "/>" \
127#define MODIFY_UPDATE_CIB \
128 "<" PCMK_XE_CIB " " PCMK_XA_ADMIN_EPOCH "=\"0\"" \
129 " " PCMK_XA_EPOCH "=\"0\"" \
130 " " PCMK_XA_NUM_UPDATES "=\"1\">" \
131 "<" PCMK_XE_CONFIGURATION ">" \
132 "<" PCMK_XE_CRM_CONFIG "/>" \
133 "<" PCMK_XE_NODES ">" \
134 "<" PCMK_XE_NODE " " PCMK_XA_ID "=\"1\"" \
135 " " PCMK_XA_UNAME "=\"node-1\"/>" \
136 "</" PCMK_XE_NODES ">" \
137 "<" PCMK_XE_RESOURCES "/>" \
138 "<" PCMK_XE_CONSTRAINTS "/>" \
139 "</" PCMK_XE_CONFIGURATION ">" \
140 "<" PCMK_XE_STATUS "/>" \
144#define MODIFY_ADD_NODE_CIB \
145 "<" PCMK_XE_CIB " " PCMK_XA_ADMIN_EPOCH "=\"0\"" \
146 " " PCMK_XA_EPOCH "=\"0\"" \
147 " " PCMK_XA_NUM_UPDATES "=\"0\">" \
148 "<" PCMK_XE_CONFIGURATION ">" \
149 "<" PCMK_XE_CRM_CONFIG "/>" \
150 "<" PCMK_XE_NODES ">" \
151 "<" PCMK_XE_NODE " " PCMK_XA_ID "=\"1\"" \
152 " " PCMK_XA_UNAME "=\"node-1\"" \
153 " " PCMK_XA_TYPE "=\"member\"/>" \
154 "</" PCMK_XE_NODES ">" \
155 "<" PCMK_XE_RESOURCES "/>" \
156 "<" PCMK_XE_CONSTRAINTS "/>" \
157 "</" PCMK_XE_CONFIGURATION ">" \
158 "<" PCMK_XE_STATUS "/>" \
162#define MODIFY_UPDATE_NODE_CIB \
163 "<" PCMK_XE_CIB " " PCMK_XA_ADMIN_EPOCH "=\"0\"" \
164 " " PCMK_XA_EPOCH "=\"0\"" \
165 " " PCMK_XA_NUM_UPDATES "=\"0\">" \
166 "<" PCMK_XE_CONFIGURATION ">" \
167 "<" PCMK_XE_CRM_CONFIG "/>" \
168 "<" PCMK_XE_NODES ">" \
169 "<" PCMK_XE_NODE " " PCMK_XA_ID "=\"1\"" \
170 " " PCMK_XA_UNAME "=\"node-2\"/>" \
171 "</" PCMK_XE_NODES ">" \
172 "<" PCMK_XE_RESOURCES "/>" \
173 "<" PCMK_XE_CONSTRAINTS "/>" \
174 "</" PCMK_XE_CONFIGURATION ">" \
175 "<" PCMK_XE_STATUS "/>" \
179modify_op(
void **state)
211 "<" PCMK_XE_CIB " " PCMK_XA_ADMIN_EPOCH "=\"0\"" \
212 " " PCMK_XA_EPOCH "=\"0\"" \
213 " " PCMK_XA_NUM_UPDATES "=\"0\">" \
214 "<" PCMK_XE_CONFIGURATION ">" \
215 "<" PCMK_XE_CRM_CONFIG "/>" \
216 "<" PCMK_XE_NODES "/>" \
217 "<" PCMK_XE_CONSTRAINTS "/>" \
218 "<" PCMK_XE_RESOURCES "/>" \
219 "</" PCMK_XE_CONFIGURATION ">" \
220 "<" PCMK_XE_STATUS "/>" \
239 cmocka_unit_test(null_patchset_asserts),
240 cmocka_unit_test(create_op),
241 cmocka_unit_test(delete_op),
242 cmocka_unit_test(modify_op),
243 cmocka_unit_test(move_op))
#define MODIFY_UPDATE_NODE_CIB
#define MODIFY_ADD_NODE_CIB
#define MODIFY_UPDATE_CIB
#define pcmk__assert_asserts(stmt)
int pcmk__xml_test_teardown_group(void **state)
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)
int pcmk__xml_test_setup_group(void **state)
Wrappers for and extensions to libxml2.
xmlNode * xml_create_patchset(int format, xmlNode *source, xmlNode *target, bool *config, bool manage_version)
bool pcmk__cib_element_in_patchset(const xmlNode *patchset, const char *element)
void pcmk__xml_doc_set_flags(xmlDoc *doc, uint32_t flags)
@ pcmk__xf_ignore_attr_pos
Ignore attribute moves within an element (set for document only)
void pcmk__xml_free(xmlNode *xml)
void pcmk__xml_mark_changes(xmlNode *old_xml, xmlNode *new_xml)
xmlNode * pcmk__xml_parse(const char *input)
#define PCMK_XE_CONSTRAINTS
#define PCMK_XE_RESOURCES
#define PCMK_XE_CONFIGURATION