add test_dav_copy_webdav dav-2 tip

Tue, 10 Feb 2026 20:41:15 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Tue, 10 Feb 2026 20:41:15 +0100
branch
dav-2
changeset 911
73f5a1a6dcf1
parent 910
bedd3aabcd36

add test_dav_copy_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	Mon Feb 09 19:10:37 2026 +0100
+++ b/test/main.c	Tue Feb 10 20:41:15 2026 +0100
@@ -94,6 +94,7 @@
         cx_test_register(suite_webdav, test_dav_store_load_webdav);
         cx_test_register(suite_webdav, test_dav_store_properties_webdav);
         cx_test_register(suite_webdav, test_dav_delete_webdav);
+        cx_test_register(suite_webdav, test_dav_copy_webdav);
     }
     
     CxTestSuite* suite_webdav_enc = cx_test_suite_new("libidav webdav encryption");
@@ -108,6 +109,7 @@
         cx_test_register(suite_webdav_enc, test_dav_store_load_webdav);
         cx_test_register(suite_webdav_enc, test_dav_store_properties_webdav);
         cx_test_register(suite_webdav_enc, test_dav_delete_webdav);
+        cx_test_register(suite_webdav_enc, test_dav_copy_webdav);
     }
     
     cx_test_run_stdout(suite);
--- a/test/webdav_resource.c	Mon Feb 09 19:10:37 2026 +0100
+++ b/test/webdav_resource.c	Tue Feb 10 20:41:15 2026 +0100
@@ -270,3 +270,27 @@
         dav_session_destroy(sn);
     }
 }
+
+CX_TEST(test_dav_copy_webdav) {
+    CX_TEST_DO {
+        DavSession *sn = get_test_webdav_session();
+        
+        DavResource *res1 = dav_resource_new(sn, "/test_dav_copy_webdav.txt");
+        CX_TEST_ASSERT(!dav_create(res1));
+        
+        cxstring content = cx_str("Copy Test Data");
+        dav_set_content_data(res1, content.ptr, content.length);
+        CX_TEST_ASSERT(!dav_store(res1));
+        
+        DavResource *res2 = dav_resource_new(sn, "/test_dav_copy_webdav_dest.txt");
+        CX_TEST_ASSERT(!dav_exists(res2));
+        
+        CX_TEST_ASSERT(!dav_copy(res1, res2->path));
+        CX_TEST_ASSERT(dav_exists(res2));
+        CX_TEST_ASSERT(!dav_load(res2));
+        // contentlength could be greater if encryption is enabled
+        CX_TEST_ASSERT(res2->contentlength >= content.length);
+        
+        dav_session_destroy(sn);
+    }
+}
--- a/test/webdav_resource.h	Mon Feb 09 19:10:37 2026 +0100
+++ b/test/webdav_resource.h	Tue Feb 10 20:41:15 2026 +0100
@@ -46,6 +46,7 @@
 CX_TEST(test_dav_store_load_webdav);
 CX_TEST(test_dav_store_properties_webdav);
 CX_TEST(test_dav_delete_webdav);
+CX_TEST(test_dav_copy_webdav);
 
 
 #ifdef __cplusplus

mercurial