--- 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); + } +}