Sun, 08 Feb 2026 16:45:36 +0100
add test_dav_store_properties_webdav
| test/main.c | file | annotate | diff | comparison | revisions | |
| test/webdav_resource.c | file | annotate | diff | comparison | revisions | |
| test/webdav_resource.h | file | annotate | diff | comparison | revisions |
--- a/test/main.c Fri Jan 30 17:50:20 2026 +0100 +++ b/test/main.c Sun Feb 08 16:45:36 2026 +0100 @@ -92,6 +92,7 @@ cx_test_register(suite_webdav, test_dav_store_content_webdav); cx_test_register(suite_webdav, test_dav_store_stream_webdav); cx_test_register(suite_webdav, test_dav_store_load_webdav); + cx_test_register(suite_webdav, test_dav_store_properties_webdav); } CxTestSuite* suite_webdav_enc = cx_test_suite_new("libidav webdav encryption"); @@ -104,6 +105,7 @@ cx_test_register(suite_webdav_enc, test_dav_store_content_webdav); cx_test_register(suite_webdav_enc, test_dav_store_stream_webdav); cx_test_register(suite_webdav_enc, test_dav_store_load_webdav); + cx_test_register(suite_webdav_enc, test_dav_store_properties_webdav); } cx_test_run_stdout(suite);
--- a/test/webdav_resource.c Fri Jan 30 17:50:20 2026 +0100 +++ b/test/webdav_resource.c Sun Feb 08 16:45:36 2026 +0100 @@ -218,3 +218,37 @@ cxBufferFree(buf3); } } + +CX_TEST(test_dav_store_properties_webdav) { + CX_TEST_DO { + DavSession *sn = get_test_webdav_session(); + + DavResource *res1 = dav_resource_new(sn, "/test_store_properties1.txt"); + int ret = dav_create(res1); + CX_TEST_ASSERT(!ret); + + char *name1 = "testprop1"; + char *name2 = "testprop2"; + char *value1 = "test value 1"; + char *value2 = "hello value 2"; + dav_set_string_property_ns(res1, DAV_TEST_NS, name1, value1); + dav_set_string_property_ns(res1, DAV_TEST_NS, name2, value2); + + ret = dav_store(res1); + CX_TEST_ASSERT(!ret); + + DavResource *res2 = dav_resource_new(sn, res1->path); + ret = dav_load(res2); + CX_TEST_ASSERT(!ret); + + char *strprop1 = dav_get_string_property_ns(res2, DAV_TEST_NS, name1); + char *strprop2 = dav_get_string_property_ns(res2, DAV_TEST_NS, name2); + + CX_TEST_ASSERT(strprop1); + CX_TEST_ASSERT(strprop2); + CX_TEST_ASSERT(!strcmp(strprop1, value1)); + CX_TEST_ASSERT(!strcmp(strprop2, value2)); + + dav_session_destroy(sn); + } +}
--- a/test/webdav_resource.h Fri Jan 30 17:50:20 2026 +0100 +++ b/test/webdav_resource.h Sun Feb 08 16:45:36 2026 +0100 @@ -35,6 +35,8 @@ extern "C" { #endif +#define DAV_TEST_NS "http://davutils.org/testns" + CX_TEST(test_dav_load_webdav); CX_TEST(test_dav_load_content_webdav); CX_TEST(test_dav_exists_webdav); @@ -42,6 +44,7 @@ CX_TEST(test_dav_store_content_webdav); CX_TEST(test_dav_store_stream_webdav); CX_TEST(test_dav_store_load_webdav); +CX_TEST(test_dav_store_properties_webdav); #ifdef __cplusplus