CardDavControllerTest.ktCardDavXmlUtils.appendMultiStatusStart() и appendMultiStatusEnd() — построители XML-конвертов для WebDAV multistatus-ответов. Расположен в пакете org.projectforge.web (тесты веб-слоя), ссылается на утилиты carddav из доменного слоя.Этот тест находится в пакете org.projectforge.web — слой Wicket/веб — и тестирует утилиты генерации XML, импортированные из org.projectforge.carddav. Это представляет собой кросс-слойный тест: веб-контроллер использует доменные утилиты CardDAV для генерации XML-ответов для HTTP-клиентов.
Добавляет открытие WebDAV XML-документа multistatus в StringBuilder. С withXmlDeclaration=true (по умолчанию) создаёт:
<?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/">
Без объявления (false): опускает строку XML-декларации — полезно, когда multistatus является частью большего XML-документа или когда объявление обрабатывается отдельно.
Добавляет закрывающий тег </d:multistatus>. Чрезвычайно прост, но тестируется для полноты и стабильности API.
| Префикс | URI | Стандарт |
|---|---|---|
| d | DAV: | RFC 4918 (ядро WebDAV) |
| card | urn:ietf:params:xml:ns:carddav | RFC 6352 (CardDAV) |
| cs | http://calendarserver.org/ns/ | Расширения Apple CalendarServer |
| me | http://me.com/_namespace/ | Пользовательское пространство имён Micromata |
Тест содержит закомментированный код, который должен был тестировать CardDavXmlWriter.appendPropfindContact() — метод для генерации записей ответа PROPFIND для отдельных контактов. Это предполагает, что генерация ответа PROPFIND для контактов всё ещё находилась в разработке или ожидала завершения на момент написания теста. Объекты User("kai") и Contact(42L, "Kai", "Reinhard", Date(1234567890)) создаются, но утверждение закомментировано.
//Assertions.assertEquals(response, sb.toString()) ссылается на неопределённую переменную response — этот тест неполон и представляет собой снимок незавершённой работы, сохранённый для документации.Расположение в projectforge-carddav/src/test/kotlin/org/projectforge/web/ с пакетом org.projectforge.web примечательно — он тестирует использование веб-слоем доменных утилит CardDAV. Тестовая директория зеркалирует структуру пакетов продакшена, что указывает на то, что веб-контроллер тестировался отдельно от доменной логики.
868d6abb7 2025 -> 2026 63081666f Заголовки исходных файлов: 2024-> 2025. 0d7a81f91 WIP: Carddav 744d238de WIP: Carddav c4062ed97 WIP: Carddav 2ad0cfe66 WIP: Carddav b5d8f83c1 WIP: Carddav 953455ae5 WIP: Carddav