TP HTTP - Question 2 - junit & source

Conception de logiciels Intranet : patrons et canevas

Modérateurs : Douin, graffion

tdulac
Messages : 2
Inscription : 18 mars 2018 17:14

TP HTTP - Question 2 - junit & source

Message par tdulac » 20 mai 2018 19:47

Bonjour,
Classe de test "TestsALireEtAValider" s'exécute sans problème.
Lorsque je veux valider avec junit j'obtient cette erreur :
There was 1 failure:
1) test_notifyObservers(question2):
la réponse de l'observateur doit contenir le paramètre source=http://adresse_IP:port/ ???

En local, la consigne semble respectée :

En pointant le navigateur sur :
http://localhost:8001/addObserver/?url= ... 02/update/
true
En pointant le navigateur sur :
http://localhost:8001/notifyObservers/? ... e&mois=mai
true : 1 notified
Dans la console de l'observer :

Code : Tout sélectionner

Request: GET /update/?mois=mai&jour=dimanche&source=http://0:0:0:0:0:0:0:1:8001/ HTTP/1.1
En pointant le navigateur sur :
http://localhost:8002/lastUpdate/
{paramUrl=/update/?mois=mai&jour=dimanche&source=http://0:0:0:0:0:0:0:1:8001/, mois=mai, jour=dimanche, source=http://0:0:0:0:0:0:0:1:8001/}
Le paramètre source est bien envoyé, il est bien reçu est retranscrit dans le lastUpdate...
Du coup, je ne vois pas dans quelle direction chercher.
Que fait réellement le test qui lève cette erreur ?

Pourtant, j'ai pu que 4 personnes ont validé l'ensemble des tests sur ce TP, ce ne doit donc pas être un pb de junit...

Bref, si quelqu'un a une idée.
Bonne soirée

Thomas

tdulac
Messages : 2
Inscription : 18 mars 2018 17:14

Re: TP HTTP - Question 2 - junit & source

Message par tdulac » 27 mai 2018 13:18

Trouvé !
L'adresse ip que je renseignais pour le paramètre source
0:0:0:0:0:0:0:1 est l'équivalent de 127.0.0.1 en ipv6, en bref localhost
Obtenu avec socket.getLocalAddress()

Communiquer cette adresse aux Observer n'est pas malin :
les observers vont croire que la notification vient de la même machine,
même s'ils sont une autre.

Avec socket.getLocalAdress().getLocalHost(), j'obtiens l'adresse ip sur le réseau.
Les observers pourront identifier la machine du réseau qui les a notifié.
A condition de ne passer passer à travers internet...

Le test en ligne semblait attendre cette réponse.

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité