16#include <libxml/xpath.h>
20static char *cib_path = NULL;
23setup_test(
void **state)
27 if (cib_path == NULL) {
35teardown_test(
void **state)
43bad_arguments(
void **state)
60unknown_ticket(
void **state)
79verify_results(xmlNode *xml,
const char *ticket_id,
const char *attr_name,
80 const char *attr_value)
83 xmlXPathObject *xpath_obj = NULL;
91 assert_int_equal(pcmk__xpath_num_results(xpath_obj), 1);
94 assert_non_null(node);
96 xmlXPathFreeObject(xpath_obj);
105 assert_int_equal(pcmk__xpath_num_results(xpath_obj), 1);
108 assert_non_null(node);
112 xmlXPathFreeObject(xpath_obj);
116attribute_exists(
void **state)
123 verify_results(xml,
"ticketA",
"owner",
"1");
129default_no_ticket(
void **state)
136 verify_results(xml,
"ticketX",
"ABC",
"DEFAULT");
142default_no_attribute(
void **state)
149 verify_results(xml,
"ticketA",
"ABC",
"DEFAULT");
155 cmocka_unit_test_setup_teardown(bad_arguments, setup_test, teardown_test),
156 cmocka_unit_test_setup_teardown(unknown_ticket, setup_test, teardown_test),
157 cmocka_unit_test_setup_teardown(attribute_exists, setup_test, teardown_test),
158 cmocka_unit_test_setup_teardown(default_no_ticket, setup_test, teardown_test),
159 cmocka_unit_test_setup_teardown(default_no_attribute, setup_test, teardown_test))
int pcmk_ticket_get_attr(xmlNodePtr *xml, const char *ticket_id, const char *attr_name, const char *attr_default)
Return the value of a ticket's attribute.
void pcmk__cib_test_cleanup(char *out_path)
int pcmk__xml_test_teardown_group(void **state)
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)
int pcmk__xml_test_setup_group(void **state)
void pcmk__assert_validates(xmlNode *xml)
char * pcmk__cib_test_copy_cib(const char *in_file)
Wrappers for and extensions to libxml2.
const char * crm_element_value(const xmlNode *data, const char *name)
Retrieve the value of an XML attribute.
void pcmk__xml_free(xmlNode *xml)
#define PCMK_XE_ATTRIBUTE
#define PCMK_XE_PACEMAKER_RESULT
xmlXPathObject * pcmk__xpath_search(xmlDoc *doc, const char *path)
xmlNode * pcmk__xpath_result(xmlXPathObject *xpath_obj, int index)