# HG changeset patch # User Olaf Wintermann # Date 1770565536 -3600 # Node ID fb79c5c6bd7fceec38dba031c4c30e8e9e5a6a59 # Parent 69a2c7fe642c5d398f35f11f37f172805b18d335 add test_dav_store_properties_webdav diff -r 69a2c7fe642c -r fb79c5c6bd7f test/main.c --- 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); diff -r 69a2c7fe642c -r fb79c5c6bd7f test/webdav_resource.c --- 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); + } +} diff -r 69a2c7fe642c -r fb79c5c6bd7f test/webdav_resource.h --- 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