CardDavControllerTest.ktCardDavXmlUtils.appendMultiStatusStart() und appendMultiStatusEnd() — die XML-Envelope-Builder für WebDAV-Multistatus-Antworten. Befindet sich im Paket org.projectforge.web (Tests der Webschicht) und referenziert CardDAV-Hilfsprogramme aus der Domänenschicht.Dieser Test befindet sich im Paket org.projectforge.web — der Wicket/Web-Schicht — und testet XML-Generierungs-Hilfsprogramme, die aus org.projectforge.carddav importiert wurden. Dies stellt einen schichtübergreifenden Test dar: Der Web-Controller verwendet die CardDAV-Domänen-Hilfsprogramme, um XML-Antworten für HTTP-Clients zu generieren.
Fügt den Beginn eines WebDAV multistatus XML-Dokuments an einen StringBuilder an. Mit withXmlDeclaration=true (Standard) erzeugt es:
<?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/">
Ohne Deklaration (false): Lässt die XML-Deklarationszeile weg — nützlich, wenn der Multistatus Teil eines größeren XML-Dokuments ist oder die Deklaration anderweitig behandelt wird.
Fügt das schließende </d:multistatus>-Tag an. Äußerst einfach, aber aus Gründen der Vollständigkeit und API-Stabilität getestet.
| Präfix | URI | Standard |
|---|---|---|
| d | DAV: | RFC 4918 (WebDAV Kern) |
| card | urn:ietf:params:xml:ns:carddav | RFC 6352 (CardDAV) |
| cs | http://calendarserver.org/ns/ | Apple CalendarServer Erweiterungen |
| me | http://me.com/_namespace/ | Benutzerdefinierter Micromata-Namespace |
Der Test enthält auskommentierten Code, der CardDavXmlWriter.appendPropfindContact() testen würde — eine Methode zur Generierung von PROPFIND-Antwort-Einträgen für einzelne Kontakte. Dies deutet darauf hin, dass die PROPFIND-Antwortgenerierung für Kontakte zum Zeitpunkt der Erstellung dieses Tests noch in der Entwicklung oder ausstehend war. Die Objekte User("kai") und Contact(42L, "Kai", "Reinhard", Date(1234567890)) werden konstruiert, aber die Assertion ist auskommentiert.
//Assertions.assertEquals(response, sb.toString()) verweist auf eine undefinierte Variable response — dieser Test ist unvollständig und stellt eine Momentaufnahme der laufenden Arbeit dar, die aus Dokumentationsgründen aufbewahrt wird.Der Speicherort unter projectforge-carddav/src/test/kotlin/org/projectforge/web/ mit dem Paket org.projectforge.web ist bemerkenswert — er testet die Verwendung von CardDAV-Hilfsprogrammen der Domänenschicht durch die Webschicht. Das Testverzeichnis spiegelt die Produktionspaketstruktur wider, was darauf hindeutet, dass der Web-Controller getrennt von der Domänenlogik getestet wurde.
868d6abb7 2025 -> 2026 63081666f Quelltext-Dateiköpfe: 2024 -> 2025. 0d7a81f91 WIP: Carddav 744d238de WIP: Carddav c4062ed97 WIP: Carddav 2ad0cfe66 WIP: Carddav b5d8f83c1 WIP: Carddav 953455ae5 WIP: Carddav