CardDavFilterTest.kt (couche web)CardDavFilter.handledByCardDavFilter() — la logique de décision du filtre servlet. Plus compact que le test de la couche domaine CardDavFilterTest (#1861), il se concentre sur les URI well-known, les méthodes DAV et les cas négatifs. Vérifie que seules les requêtes OPTIONS/PROPFIND/REPORT sur les chemins connus sont interceptées, tandis que les requêtes GET et les chemins inconnus passent à travers.
Ceci est un second CardDavFilterTest, situé dans le package org.projectforge.web (couche web). Il teste la même méthode statique CardDavFilter.handledByCardDavFilter() mais avec un angle différent : les préoccupations de routage de la couche web et le point de découverte .well-known.
Contrairement à la liste plate de cas de test de #1861, ce test organise les assertions à l'aide d'une hiérarchie de méthodes auxiliaires :
checkRequest(uri, method, expected) — Crée une requête simulée et vérifie la décision du filtrecheckMethod(method) — Teste une méthode sur plusieurs URI (chemin générique, "users", "/carddav/users/")| Test | URI | Méthode | Attendu | Justification |
|---|---|---|---|---|
| Découverte well-known | /.well-known/carddav | PROPFIND | true | Découverte de service RFC 6764 — les clients sondent d'abord ce chemin |
| Utilisateurs CardDAV | /carddav/users/ | PROPFIND | true | Chemin standard de la collection d'utilisateurs CardDAV |
| Application Wicket | /wa/... | PROPFIND | false | Chemin de l'application Wicket — ne doit PAS être intercepté |
| GET générique | .... | GET | false | GET sur un chemin inconnu — pas du CardDAV |
| GET utilisateurs | /users | GET | false | GET sans en-têtes DAV sur le chemin utilisateurs — probablement une requête d'application web |
| Vérification méthode : générique | .... | OPTIONS/PROPFIND/REPORT | false | Les méthodes DAV sur des URI inconnues passent à travers |
| Vérification méthode : utilisateurs | users | OPTIONS/PROPFIND/REPORT | true | Les méthodes DAV sur le chemin "users" sont interceptées |
| Vérification méthode : carddav | /carddav/users/ | OPTIONS/PROPFIND/REPORT | true | Chemin CardDAV complet avec méthodes DAV |
| Aspect | #1861 (domaine) | #1869 (web) |
|---|---|---|
| Package | org.projectforge.carddav | org.projectforge.web |
| URI well-known | Teste OPTIONS + GET | Teste PROPFIND uniquement |
| Chemin Wicket | Non testé | Teste /wa/... (application Wicket) |
| Itération des méthodes | Vérifications en ligne | checkMethod() paramétré avec arrayOf().forEach |
| Modèles VCF | Test détaillé des noms de fichiers VCF | Non couvert |
| Méthode REPORT | Non testée | Testée (REPORT sur les chemins users/carddav) |
CardDavFilter.handledByCardDavFilter()) mais depuis des contextes de package différents et avec une couverture différente. Cela représente une duplication de test résultant probablement de flux de développement parallèles qui n'ont pas été entièrement consolidés. Le test de la couche domaine (#1861) est plus complet pour les modèles VCF ; le test de la couche web (#1869) ajoute l'exclusion du chemin Wicket et les vérifications de la méthode REPORT.
Même modèle que #1861 : crée Mockito.mock(HttpServletRequest::class.java), simule method et requestURI, vérifie la valeur de retour booléenne.
868d6abb7 2025 -> 2026 63081666f En-têtes des fichiers source : 2024 -> 2025. 40e554cbe WIP : Carddav 2ad0cfe66 WIP : Carddav ad8b47d1f WIP : CardDavWIP : CardDav 7f2c255ae WIP : CardDav