*** Settings *** Documentation WS Ressource REST 'dossier_instructions'. # On inclut les mots-clefs Resource resources/resources.robot # On ouvre/ferme le navigateur au début/à la fin du Test Suite. Suite Setup For Suite Setup Suite Teardown For Suite Teardown *** Test Cases *** Constitution du jeu de données [Documentation] Constitue le jeu de données. # Depuis la page d'accueil admin admin # &{args_petitionnaire} = Create Dictionary ... particulier_civilite=Monsieur ... particulier_nom=LOUIS ... particulier_prenom=Daniel ... om_collectivite=MARSEILLE ... particulier_date_naissance=20/10/1982 ... particulier_commune_naissance=Puyricard ... particulier_departement_naissance=13 ... particulier_pays_naissance=France ... numero=20 ... voie=rue du 14 juillet ... complement=Bat A2 ... lieu_dit=Lambda ... localite=Marseille ... code_postal=13013 ... bp=13099 ... cedex=13010 ... pays=France ... division_territoriale=DH3 ... telephone_fixe=0406042266 ... telephone_mobile=0622334123 ... indicatif=33 ... courriel=d.louis@wanadoo.fr ... fax=0406042270 @{ref_cad} = Create List 810 A 20 A 22 &{args_demande} = Create Dictionary ... dossier_autorisation_type_detaille=Permis de construire pour une maison individuelle et / ou ses annexes ... demande_type=Dépôt Initial ... om_collectivite=MARSEILLE ... terrain_adresse_voie_numero=10 ... terrain_adresse_lieu_dit=Les Baïsses ... terrain_adresse_code_postal=13333 ... terrain_adresse_voie=rue du 14 juillet ... terrain_adresse_localite=Marseille ... terrain_adresse_bp=13380 ... terrain_adresse_cedex=13366 ... terrain_superficie=22 ... terrain_references_cadastrales=${ref_cad} # ${di} ${demandeur_id} = Ajouter la nouvelle demande et récupérer le numéro de pétitionnaire ${args_demande} ${args_petitionnaire} ${di_id} = Sans espace ${di} Set Suite Variable ${di} Set Suite Variable ${di_id} Set Suite Variable ${demandeur_id} Ajouter une instruction au DI ${di} ARRÊTÉ DE REFUS Click On Back Button In Subform Click On Link ARRÊTÉ DE REFUS Click On SubForm Portlet Action instruction finaliser Click On SubForm Portlet Action instruction modifier_suivi Input Datepicker date_retour_rar ${date_ddmmyyyy} Click On Submit Button In Subform &{donnees_techniques_values} = Create Dictionary ... co_tot_log_nb=52 ... am_lot_max_nb=100 ... am_empl_nb=23 ... co_cstr_exist=t ... co_uti_pers=t ... co_uti_vente=t ... co_uti_loc=t # Données techniques du dossiers pour le tableau des surfaces &{donnees_techniques_surfaces_values} = Create Dictionary ... su_avt_shon1=10 ... su_avt_shon2=10 ... su_avt_shon3=10 ... su_avt_shon4=10 ... su_avt_shon5=10 ... su_avt_shon6=10 ... su_avt_shon7=10 ... su_avt_shon8=10 ... su_avt_shon9=10 ... su_cstr_shon1=10 ... su_cstr_shon2=10 ... su_cstr_shon3=10 ... su_cstr_shon4=10 ... su_cstr_shon5=10 ... su_cstr_shon6=10 ... su_cstr_shon7=10 ... su_cstr_shon8=10 ... su_cstr_shon9=10 Saisir les données techniques du DI ${di} ${donnees_techniques_values} Modifier les données techniques pour le calcul des surfaces ${di} ${donnees_techniques_surfaces_values} REST [Documentation] Ce TestCase vérifie la partie REST du WS ... - les méthodes non disponibles doivent retourner un code 400, ... - vérifie le retour complet du web service dossier_instructions ... - les clés suivantes sont obligatoires dans le tableau JSON : type, date, emetteur, dossier_instruction, contenu. Si une des clés n'est pas présente ou si il y a une clé supplémentaire dans les données d'entrées, le WS doit retourner un code 400. ## Seule la méthode PUT doit être disponible sur cette ressource ${json} = Set Variable { "message": ""} Vérifier le code retour du web service et vérifier que son message est Post dossier_instructions ${json} 400 La méthode POST n'est pas disponible sur cette ressource. Vérifier le code retour du web service et vérifier que son message est Delete dossier_instructions/123 null 400 La méthode DELETE n'est pas disponible sur cette ressource. # Récupération du JSON depuis un fichier, et remplacement des champs variables ${json_return} = Get File binary_files/tests_services/web_service_dossier_instruction.json ${da_id} = Get Substring ${di_id} 0 -2 ${json_return} = STR_REPLACE "dossier_instruction": "", "dossier_instruction": "${di_id}", ${json_return} ${json_return} = STR_REPLACE "dossier_autorisation": "", "dossier_autorisation": "${da_id}", ${json_return} ${json_return} = STR_REPLACE "demandeur": "", "demandeur": "${demandeur_id}", ${json_return} ${date_jour} = Date du jour au format yyyy-mm-dd ${json_return} = STR_REPLACE "date_depot_initial": "", "date_depot_initial": "${date_jour}", ${json_return} ${json_return} = STR_REPLACE "date_decision": "", "date_decision": "${date_jour}", ${json_return} Depuis le contexte du dossier d'instruction ${di} ${date_limite_dd/mm/yyy} = Get text date_limite ${date_limite_yyyy-mm-dd} = Convertir une date du format dd/mm/yyyy au format yyyy-mm-dd ${date_limite_dd/mm/yyy} ${json_return} = STR_REPLACE "date_limite_instruction": "", "date_limite_instruction": "${date_limite_yyyy-mm-dd}", ${json_return} Vérifier le code retour et la réponse JSON du web service Get dossier_instructions/${di_id} null 200 ${json_return} ## L'identifiant est obligatoire # On ne fourni pas de numéro de dossier d'instruction ${json} = Set Variable { "message": "complet", "date": "${DATE_FORMAT_dd/mm/yyyy}"} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions ${json} 400 Aucun identifiant fourni pour la ressource. Vérifier le code retour du web service et vérifier que son message est Get dossier_instructions null 400 Aucun identifiant fourni pour la ressource. ## Deux clés sont obligatoires # sans la clé 'date' ${json} = Set Variable { "message": ""} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/123 ${json} 400 La structure des données reçues n'est pas correcte. # sans la clé 'message' ${json} = Set Variable { "date": ""} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/123 ${json} 400 La structure des données reçues n'est pas correcte. ## Aucune clé supplémentaire autorisée # avec une clé supplémentaire ${json} = Set Variable { "message": "", "date": "", "plop": ""} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/123 ${json} 400 La structure des données reçues n'est pas correcte. Métier [Documentation] Ce TestCase vérifie la partie Métier du WS ... - ... ## # On essaye de mettre à jour un dossier qui n'existe pas ${json} = Set Variable { "message": "complet", "date": "${DATE_FORMAT_dd/mm/yyyy}"} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/LOREM ${json} 400 Ce dossier n'existe pas # On essaye de mettre à jour un dossier qui existe mais n'est pas un AT ${json} = Set Variable { "message": "complet", "date": "${DATE_FORMAT_dd/mm/yyyy}"} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/${di_id} ${json} 400 Ce dossier n'est pas un dossier de type AT # On essaye de mettre à jour un dossier AT en cours d'instruction ${json} = Set Variable { "message": "complet", "date": "${DATE_FORMAT_dd/mm/yyyy}"} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/AT0130551300001P0 ${json} 200 Mise à jour des données realisées avec succès # On essaye de mettre à jour un dossier sans message ${json} = Set Variable { "message": "", "date": "${DATE_FORMAT_dd/mm/yyyy}"} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/AT0130551300001P0 ${json} 400 Aucun message fourni # On essaye de mettre à jour un dossier avec un message qui existe pas ${json} = Set Variable { "message": "test", "date": "${DATE_FORMAT_dd/mm/yyyy}"} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/AT0130551300001P0 ${json} 400 Message fourni incorrect # On essaye de mettre à jour un dossier sans date ${json} = Set Variable { "message": "complet", "date": null } Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/AT0130551300001P0 ${json} 400 Aucune date fournie # On essaye de mettre à jour un dossier avec une date mal formatée ${json} = Set Variable { "message": "complet", "date": "23/2014"} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/AT0130551300001P0 ${json} 400 Date fournie au mauvais format # On essaye de mettre à jour un dossier AT pour le cloturer ${json} = Set Variable { "message": "clos", "date": "${DATE_FORMAT_dd/mm/yyyy}"} Vérifier le code retour du web service et vérifier que son message est Put dossier_instructions/AT0130551300001P0 ${json} 200 Mise à jour des données realisées avec succès