CardDavControllerTest.ktCardDavXmlUtils.appendMultiStatusStart() and appendMultiStatusEnd() — the XML envelope builders for WebDAV multistatus responses. Located in the org.projectforge.web package (web layer tests), referencing carddav utilities from the domain layer.This test resides in the org.projectforge.web package — the Wicket/web layer — and tests XML generation utilities imported from org.projectforge.carddav. This represents a cross-layer test: the web controller uses the CardDAV domain utilities to generate XML responses for HTTP clients.
Appends the opening of a WebDAV multistatus XML document to a StringBuilder. With withXmlDeclaration=true (default), produces:
<?xml version="1.0" encoding="UTF-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:card="urn:ietf:params:xml:ns:carddav"
xmlns:cs="http://calendarserver.org/ns/" xmlns:me="http://me.com/_namespace/">
Without declaration (false): omits the XML declaration line — useful when the multistatus is part of a larger XML document or when the declaration is handled elsewhere.
Appends the closing </d:multistatus> tag. Extremely simple but tested for completeness and API stability.
| Prefix | URI | Standard |
|---|---|---|
| d | DAV: | RFC 4918 (WebDAV core) |
| card | urn:ietf:params:xml:ns:carddav | RFC 6352 (CardDAV) |
| cs | http://calendarserver.org/ns/ | Apple CalendarServer extensions |
| me | http://me.com/_namespace/ | Custom Micromata namespace |
The test contains commented-out code that would test CardDavXmlWriter.appendPropfindContact() — a method for generating PROPFIND response entries for individual contacts. This suggests the contact PROPFIND response generation was still under development or pending when this test was written. The User("kai") and Contact(42L, "Kai", "Reinhard", Date(1234567890)) objects are constructed but the assertion is commented out.
//Assertions.assertEquals(response, sb.toString()) references an undefined variable response — this test is incomplete and represents a snapshot of work in progress, preserved for documentation value.Location at projectforge-carddav/src/test/kotlin/org/projectforge/web/ with package org.projectforge.web is notable — it tests the web layer's use of domain-layer CardDAV utilities. The test directory mirrors the production package structure, indicating the web controller was being tested separately from the domain logic.
868d6abb7 2025 -> 2026 63081666f Source file headers: 2024-> 2025. 0d7a81f91 WIP: Carddav 744d238de WIP: Carddav c4062ed97 WIP: Carddav 2ad0cfe66 WIP: Carddav b5d8f83c1 WIP: Carddav 953455ae5 WIP: Carddav