Projet

Général

Profil

Bug #51569

greco, ajout de tests de non-régression

Ajouté par Nicolas Roche il y a environ 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
02 mars 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Sur les endpoints utilisés : ping, status, answer et create.


Fichiers


Demandes liées

Lié à Passerelle - Development #51733: Nouvelle version du connecteur GRECOFermé05 mars 2021

Actions

Révisions associées

Révision c137e7be (diff)
Ajouté par Nicolas Roche il y a environ 3 ans

greco: add tests (#51569)

Historique

#1

Mis à jour par Nicolas Roche il y a environ 3 ans

0001 ajoute des tests sur ping, create et status.

Mais je n'arrive pas à produire de test pour le endpoint answer.

Le connecteur me permet de copier/coller le message SOAP reçu :
(et il s'agit du même contenu que celui retourné par le endpoint status).

$ passerelle-manage shell
from passerelle.contrib.greco.models import Greco
greco = Greco.objects.get()
client = greco.get_client()
params = {'idgreco': '538999', 'iddemande': 'AAAAAARF'}
resp = client.service.getMail(params)

Mais si je renvoie cette réponse SOAP dans le test, alors suds n'arrive pas à construire sa réponse :

suds.TypeNotFound: Type not found: 'commentaireReponse'

Le wsdl des tests est le même que celui de la recette que j'utilise ci-dessus pour construire le tests.
Je pose ici 0002 au cas où quelqu'un ait une idée pour me dépanner.

#2

Mis à jour par Frédéric Péters il y a environ 3 ans

Mais heu dans la branche il y a déjà un test_greco_status_ko qui passe. (?)

#3

Mis à jour par Frédéric Péters il y a environ 3 ans

Ah ok non ici c'est un test_greco_answer_ko; mais 0002 ne s'applique pas.

Application de  greco: TEST QUI NE PASSE PAS (#51569)
le patch a échoué à 0001 greco: TEST QUI NE PASSE PAS (#51569)
Quand vous avez résolu ce problème, lancez "git am --continue".
Si vous préférez plutôt sauter ce patch, lancez "git am --skip".
Pour restaurer la branche originale et arrêter de patcher, lancez "git am --abort".
error: le patch a échoué : tests/test_greco.py:56
error: tests/test_greco.py : le patch ne s'applique pas
#4

Mis à jour par Frédéric Péters il y a environ 3 ans

Je ne comprends pas le sens de tout ça, pourquoi ce 0002 est structuré pour taper directement dans suds plutôt qu'appeler l'endpoint; ou pourquoi dedans ce assert ANSWER_KO.content == STATUS_KO.content, pas pigé non plus.

#5

Mis à jour par Frédéric Péters il y a environ 3 ans

(et il s'agit du même contenu que celui retourné par le endpoint status).

Mais non (et c'est peut-être de là que vient toute la confusion), un retour c'est par exemple :

 b'<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><getMailResponse xmlns="http://mairies.services.external.coheris.com"><getMailReturn><iddemande>SSHTMWCP</iddemande><idgreco>538432</idgreco><motifsrejet>Aucune r&#xE9;ponse trouv&#xE9;e</motifsrejet><etat xsi:nil="true"/><message><bcc xsi:nil="true"/><cc xsi:nil="true"/><content xsi:nil="true"/><date xsi:nil="true"/><subject xsi:nil="true"/><to xsi:nil="true"/></message></getMailReturn></getMailResponse></soapenv:Body></soapenv:Envelope>' 

(premier résultat en tapant https://passerelle.guichet-recette.grandlyon.com/manage/greco/greco/logs/?log_level=&q=getmail)

#6

Mis à jour par Nicolas Roche il y a environ 3 ans

Oui grosse confusion, merci Fred.
(je n'arrivais pas à mettre la main sur ce message alors que ce matin il est partout sur mon écran).

#7

Mis à jour par Nicolas Roche il y a environ 3 ans

#8

Mis à jour par Nicolas Roche il y a environ 3 ans

  • Statut changé de Solution proposée à En cours

(à compéter suivant #51736)

#9

Mis à jour par Nicolas Roche il y a environ 3 ans

(je sais qu'en principe il n'y a pas besoin de demander pour pousser des tests, mais comme je débarque sur ce connecteur je préfère demander au cas où).

#10

Mis à jour par Nicolas Roche il y a environ 3 ans

  • Statut changé de En cours à Solution proposée
#11

Mis à jour par Frédéric Péters il y a environ 3 ans

  • Statut changé de Solution proposée à Solution validée
#12

Mis à jour par Frédéric Péters il y a environ 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit c137e7be686af7c342c4a8e01c71fdec773ae90c
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Tue Mar 2 12:56:43 2021 +0100

    greco: add tests (#51569)
#13

Mis à jour par Frédéric Péters il y a environ 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF