add test_dav_store_properties_webdav dav-2 tip

Sun, 08 Feb 2026 16:45:36 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 08 Feb 2026 16:45:36 +0100
branch
dav-2
changeset 909
fb79c5c6bd7f
parent 908
69a2c7fe642c

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

mercurial