# HG changeset patch # User Olaf Wintermann # Date 1770752475 -3600 # Node ID 73f5a1a6dcf18373576cf219c09355c7a1de26dc # Parent bedd3aabcd363b3228566908cf56011ec5a7e717 add test_dav_copy_webdav diff -r bedd3aabcd36 -r 73f5a1a6dcf1 test/main.c --- 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); diff -r bedd3aabcd36 -r 73f5a1a6dcf1 test/webdav_resource.c --- 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); + } +} diff -r bedd3aabcd36 -r 73f5a1a6dcf1 test/webdav_resource.h --- 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