Skip to content

Conversation

@GtanSndil
Copy link
Contributor

No description provided.

@GtanSndil GtanSndil marked this pull request as ready for review January 12, 2026 14:21
@GtanSndil GtanSndil marked this pull request as draft January 13, 2026 16:00
@GtanSndil GtanSndil marked this pull request as ready for review January 15, 2026 07:57
Copy link
Member

@FBibonne FBibonne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • dans le code actuel, il faut revoir la méthode fr.insee.rmes.magma.diffusion.utils.RapportQualiteDTO#transformDTOenRapportQualite : a minima l'isoler dans un service et écrire un test.
    => fait
  • Dans TestContainerTest : pour pourquoi le container.stop() est commenté ?
    => Parce qu'il y a withReuse(true) donc c'est contradictoire
  • monter la version de testcontainers en 1.21.4
    => fait
  • ConceptDTO : supprimer la méthode getNearbyConceptList et limport de l'annotation @NotNull
    => fait

@FBibonne
Copy link
Member

FBibonne commented Jan 20, 2026

Pour les tests containers, il n'y a pas de fichier testcontainers.properties pour activer la fonctionnalité de réutilisation donc le withReuse(true) ne sert à rien (https://java.testcontainers.org/features/reuse/). C'est certainement une bonne idée de garder le même container tout le long des tests et de recharger les données avant chaque nouvelle classe de tests. DOnc on peut supprimer la méthode avec le container.stop()
Par contre, il faudra bien arrêter le container à la fin des tests. Voir comment on peut faire ça (java.lang.Runtime.addShutdownHook ?)

=> j'ai bien un fichier testcontainers.properties sous C/Users/{idep} avec TESTCONTAINERS_REUSE_ENABLE=true
Le Reuse fonctinne car dans la log, j'ai un message du type :
Reusing container with ID: d0dfa....
Reusing existing container (d0dfa....) and not creating a new one
et c'est bien toujours la même URL de graphDB qui est utilisée d'une classe de test à l'autre
D'après Claude : le container avec reuse est arrêté uniquement quand :

  • La JVM se termine complètement (tu fermes IntelliJ, ou ton processus Java se termine) : le souci est qu'on ne sait pas vraiment quand la JVM s'arrête (pas forcément quand on ferme Intellij, toujours accès à http://localhost:40917/ utilisé par les tests)
  • Le mécanisme de reuse s'appuie sur Ryuk (un conteneur spécial) qui nettoie les conteneurs réutilisables quand la JVM se termine. Ryuk nettoie les containers (après 10 minutes d'inactivité par défaut) : 10 min après l'arrêt de la JVM peut-être mais en tout cas toujours accès à http://localhost:40917/ utilisé par les tests 20 min avant donc peut-être pas satisfaisant
  • Tu le stoppes manuellement : docker stop d0dfa... ou docker rm -f d0dfa... (podman pour nous et c'est ok évidemment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants