Tags : Assertj, Awaitility, Java, Jetty, SimpleWeb4j, websocket

On a vu comment implémenter des websockets avec SimpleWeb4j dans un précédant article, nous allons maintenant voir comment tester de manière automatisée la partie serveur websocket.


Librairies tierces

Pour garder un code relativement propre, je vais utiliser trois librairies :


Je veux faire quoi comme test?

Je cherche à tester le code du billet précédant qui, pour rappel, était un système de chat. Le serveur de websocket reçoit donc des messages qu'il redistribue à tous les clients connectés.

Scénario de test :

  • Ouverture d'une session 1.
  • Envoi d'un message par la session 1 (message 1).
  • Ouverture d'une session 2.
  • Envoi d'un message par la session 2 (message 2).
  • Envoi d'un message par la session 1 (message 3).
  • Fermeture de la session 1.
  • Envoi d'un message par la session 2 (message 4).
  • Fermeture de la session 2.

Vérifications à faire :

  • La session 1 a reçu 3 messages (les messages 1 à 3)
  • La session 2 a reçu 3 messages (les messages 2 à 4)


Code de test

Assez parler, place au code. J'espère que les commentaires sont suffisants, si ce n'est pas le cas, n'hésitez pas à le dire j'en ajouterais.