mdel: order xml elements (#35145)
And handle a possible attribute in the root element.
This commit is contained in:
parent
ff87ebb7c2
commit
e65e5fc711
|
@ -249,59 +249,87 @@ class Data(MDELBase):
|
|||
|
||||
@property
|
||||
def xml(self):
|
||||
elements = {}
|
||||
elements = []
|
||||
|
||||
for key, value in self.data.items():
|
||||
# ignore non mapped keys
|
||||
if self.mapping.get(key, None):
|
||||
elements[self.mapping[key]] = value
|
||||
for key, path in self.mapping:
|
||||
if key in self.data:
|
||||
elements.append((path, self.data[key]))
|
||||
|
||||
root = ElementFactory(self.root_element)
|
||||
root = ElementFactory(self.root_element, **self.root_attributes)
|
||||
|
||||
for key, value in elements.items():
|
||||
path = key.split('_')
|
||||
root.append(json_to_xml(path, value, root), allow_new=False)
|
||||
for path, value in elements:
|
||||
path_splitted = path.split('_')
|
||||
root.append(json_to_xml(path_splitted, value, root), allow_new=False)
|
||||
|
||||
return root
|
||||
|
||||
|
||||
class ILEData(Data):
|
||||
|
||||
mapping = {
|
||||
'nom_famille': 'Inscription_Electeur_Noms_NomFamille',
|
||||
'nom_usage': 'Inscription_Electeur_Noms_NomUsage',
|
||||
'prenoms': 'Inscription_Electeur_Prenoms_Prenom',
|
||||
'date_naissance': 'Inscription_Electeur_DateDeNaissance',
|
||||
'lieunaiss_localite': 'Inscription_Electeur_LieuDeNaissance_Localite',
|
||||
'lieunaiss_division_territoriale': 'Inscription_Electeur_LieuDeNaissance_DivisionTerritoriale',
|
||||
'lieunaiss_code_postal': 'Inscription_Electeur_LieuDeNaissance_CodePostal',
|
||||
'lieunaiss_pays_raw': 'Inscription_Electeur_LieuDeNaissance_Pays',
|
||||
'sexe_raw': 'Inscription_Electeur_Sexe',
|
||||
'nationalite_raw': 'Inscription_Electeur_Nationalite',
|
||||
'adresse_num_voie': 'Inscription_Electeur_AdresseDeLElecteur_NumeroVoie',
|
||||
'adresse_type_voie': 'Inscription_Electeur_AdresseDeLElecteur_TypeVoie',
|
||||
'adresse_nom_voie': 'Inscription_Electeur_AdresseDeLElecteur_NomVoie',
|
||||
'adresse_complement': 'Inscription_Electeur_AdresseDeLElecteur_Complement',
|
||||
'adresse_code_postal': 'Inscription_Electeur_AdresseDeLElecteur_CodePostal',
|
||||
'adresse_localite': 'Inscription_Electeur_AdresseDeLElecteur_Localite',
|
||||
'adresse_division_territoriale': 'Inscription_Electeur_AdresseDeLElecteur_DivisionTerritoriale',
|
||||
'contact_uri': 'Inscription_Electeur_MethodeDeContact_URI',
|
||||
'contact_code': 'Inscription_Electeur_MethodeDeContact_CanalCode',
|
||||
'inscription_liste_type_raw': 'Inscription_TypeDeListe',
|
||||
'inscription_localite': 'CommuneDInscription_Localite',
|
||||
'inscription_division_territoriale': 'CommuneDInscription_DivisionTeritoriale',
|
||||
'insription_code_insee': 'CommuneDInscription_CodeInsee',
|
||||
'inscription_date': 'DateDInscription',
|
||||
'inscription_type': 'TypeDInscription',
|
||||
'anterieur_situation_raw': 'SituationElectoraleAnterieure_SituationDeLElecteur',
|
||||
'anterieur_consulat': 'SituationElectoraleAnterieure_ConsulatDePrecedenteInscription_AmbassadeOuPosteConsulaire',
|
||||
'anterieur_consulat_pays_raw': 'SituationElectoraleAnterieure_ConsulatDePrecedenteInscription_Pays',
|
||||
'anterieur_localite': 'SituationElectoraleAnterieure_CommuneDePrecedenteInscription_Localite',
|
||||
'anterieur_division_territoriale': 'SituationElectoraleAnterieure_CommuneDePrecedenteInscription_DivisionTerritoriale',
|
||||
'anterieur_ue_localite': 'SituationElectoraleAnterieure_PaysUeDerniereInscription_Localite',
|
||||
'anterieur_ue_division_territoriale': 'SituationElectoraleAnterieure_PaysUeDerniereInscription_DivisionTerritoriale',
|
||||
'anterieur_ue_localite_pays_raw': 'SituationElectoraleAnterieure_PaysUeDerniereInscription_Pays'
|
||||
}
|
||||
mapping = [
|
||||
('nom_famille', 'Inscription_Electeur_Noms_NomFamille'),
|
||||
('nom_usage', 'Inscription_Electeur_Noms_NomUsage'),
|
||||
('prenoms', 'Inscription_Electeur_Prenoms_Prenom'),
|
||||
('date_naissance', 'Inscription_Electeur_DateDeNaissance'),
|
||||
('lieunaiss_localite', 'Inscription_Electeur_LieuDeNaissance_Localite'),
|
||||
(
|
||||
'lieunaiss_division_territoriale',
|
||||
'Inscription_Electeur_LieuDeNaissance_DivisionTerritoriale'
|
||||
),
|
||||
('lieunaiss_code_postal', 'Inscription_Electeur_LieuDeNaissance_CodePostal'),
|
||||
('lieunaiss_pays_raw', 'Inscription_Electeur_LieuDeNaissance_Pays'),
|
||||
('sexe_raw', 'Inscription_Electeur_Sexe'),
|
||||
('nationalite_raw', 'Inscription_Electeur_Nationalite'),
|
||||
('adresse_complement', 'Inscription_Electeur_AdresseDeLElecteur_Complement'),
|
||||
('adresse_num_voie', 'Inscription_Electeur_AdresseDeLElecteur_NumeroVoie'),
|
||||
('adresse_type_voie', 'Inscription_Electeur_AdresseDeLElecteur_TypeVoie'),
|
||||
('adresse_nom_voie', 'Inscription_Electeur_AdresseDeLElecteur_NomVoie'),
|
||||
('adresse_code_postal', 'Inscription_Electeur_AdresseDeLElecteur_CodePostal'),
|
||||
('adresse_localite', 'Inscription_Electeur_AdresseDeLElecteur_Localite'),
|
||||
(
|
||||
'adresse_division_territoriale',
|
||||
'Inscription_Electeur_AdresseDeLElecteur_DivisionTerritoriale'
|
||||
),
|
||||
('contact_code', 'Inscription_Electeur_MethodeDeContact_CanalCode'),
|
||||
('contact_uri', 'Inscription_Electeur_MethodeDeContact_URI'),
|
||||
('inscription_liste_type_raw', 'Inscription_TypeDeListe'),
|
||||
('inscription_localite', 'Inscription_CommuneDInscription_Localite'),
|
||||
(
|
||||
'inscription_division_territoriale',
|
||||
'Inscription_CommuneDInscription_DivisionTerritoriale'),
|
||||
('inscription_code_insee', 'Inscription_CommuneDInscription_CodeInsee'),
|
||||
('inscription_date', 'DateDInscription'),
|
||||
('inscription_type', 'TypeDInscription'),
|
||||
('anterieur_situation_raw', 'SituationElectoraleAnterieure_SituationDeLElecteur'),
|
||||
(
|
||||
'anterieur_consulat',
|
||||
'SituationElectoraleAnterieure_ConsulatDePrecedenteInscription'
|
||||
'_AmbassadeOuPosteConsulaire'
|
||||
),
|
||||
(
|
||||
'anterieur_consulat_pays_raw',
|
||||
'SituationElectoraleAnterieure_ConsulatDePrecedenteInscription_Pays'
|
||||
),
|
||||
(
|
||||
'anterieur_localite',
|
||||
'SituationElectoraleAnterieure_CommuneDePrecedenteInscription_Localite'
|
||||
),
|
||||
(
|
||||
'anterieur_ue_localite',
|
||||
'SituationElectoraleAnterieure_PaysUeDerniereInscription_Localite'
|
||||
),
|
||||
(
|
||||
'anterieur_division_territoriale',
|
||||
'SituationElectoraleAnterieure_CommuneDePrecedenteInscription_DivisionTerritoriale'
|
||||
),
|
||||
(
|
||||
'anterieur_ue_division_territoriale',
|
||||
'SituationElectoraleAnterieure_PaysUeDerniereInscription_DivisionTerritoriale'
|
||||
),
|
||||
(
|
||||
'anterieur_ue_localite_pays_raw',
|
||||
'SituationElectoraleAnterieure_PaysUeDerniereInscription_Pays'
|
||||
)
|
||||
]
|
||||
|
||||
required = [
|
||||
'nom_famille',
|
||||
|
@ -323,7 +351,7 @@ class ILEData(Data):
|
|||
|
||||
def __init__(self, demand_id, data):
|
||||
self.root_element = 'AvisDInscription'
|
||||
|
||||
self.root_attributes = {}
|
||||
# only possible value : vol as 'Inscription Volontaire'
|
||||
data['inscription_type'] = 'vol'
|
||||
|
||||
|
@ -332,59 +360,59 @@ class ILEData(Data):
|
|||
|
||||
class AECData(Data):
|
||||
|
||||
mapping = {
|
||||
'aec_nature': 'DemandeActe_NatureActe_Libelle',
|
||||
'aec_nature_raw': 'DemandeActe_NatureActe_Code',
|
||||
'aec_type': 'DemandeActe_TypeActe_Libelle',
|
||||
'aec_type_raw': 'DemandeActe_TypeActe_Code',
|
||||
'code_insee': 'DemandeActe_LieuActe_CodeINSEE',
|
||||
'code_postal': 'DemandeActe_LieuActe_CodePostal',
|
||||
'demandeur_adresse_adresse': 'DemandeActe_Demandeur_AdresseEtrangere_Adresse',
|
||||
'demandeur_adresse_batiment': 'DemandeActe_Demandeur_AdresseFrancaise_Batiment',
|
||||
'demandeur_adresse_boite_postal': 'DemandeActe_Demandeur_AdresseFrancaise_BoitePostale',
|
||||
'demandeur_adresse_code_postal': 'DemandeActe_Demandeur_AdresseFrancaise_CodePostal',
|
||||
'demandeur_adresse_etage': 'DemandeActe_Demandeur_AdresseFrancaise_Etage',
|
||||
'demandeur_adresse_ville': 'DemandeActe_Demandeur_AdresseFrancaise_Ville',
|
||||
'demandeur_adresse_etrangere': 'DemandeActe_Demandeur_AdresseEtrangere_Adresse',
|
||||
'demandeur_adresse_etrangere_pays_raw': 'DemandeActe_Demandeur_AdresseEtrangere_Pays',
|
||||
'demandeur_adresse_voie': 'DemandeActe_Demandeur_AdresseFrancaise_Voie',
|
||||
'demandeur_civilite': 'DemandeActe_Demandeur_Civilite',
|
||||
'demandeur_email': 'DemandeActe_Demandeur_Courriel',
|
||||
'demandeur_nom': 'DemandeActe_Demandeur_Nom',
|
||||
'demandeur_prenom': 'DemandeActe_Demandeur_Prenom',
|
||||
'demandeur_telephone': 'DemandeActe_Demandeur_Telephone',
|
||||
'nombre_exemplaires': 'DemandeActe_NombreExemplaires',
|
||||
'motif_demande': 'DemandeActe_MotifDemande_Libelle',
|
||||
'motif_demande_raw': 'DemandeActe_MotifDemande_Commentaire',
|
||||
'qualite_demandeur': 'DemandeActe_Demandeur_QualiteDemandeur_Libelle',
|
||||
'qualite_demandeur_raw': 'DemandeActe_Demandeur_QualiteDemandeur_Code',
|
||||
'date_acte': 'DemandeActe_DateActe',
|
||||
'titulaire_civilite': 'DemandeActe_Titulaire_Civilite',
|
||||
'titulaire_mere_nom': 'DemandeActe_Titulaire_Filiation_Mere_Nom',
|
||||
'titulaire_mere_prenoms': 'DemandeActe_Titulaire_Filiation_Mere_Prenoms',
|
||||
'titulaire_naiss_date': 'DemandeActe_Titulaire_DateDeNaissance',
|
||||
'titulaire_naiss_departement_raw': 'DemandeActe_Titulaire_DepartementDeNaissance',
|
||||
'titulaire_nationalite_raw': 'DemandeActe_Titulaire_Nationalite',
|
||||
'titulaire_naiss_pays_raw': 'DemandeActe_Titulaire_PaysDeNaissance',
|
||||
'titulaire_naiss_ville': 'DemandeActe_Titulaire_LieuDeNaissance',
|
||||
'titulaire_nom': 'DemandeActe_Titulaire_NomNaissance',
|
||||
'titulaire_pere_nom': 'DemandeActe_Titulaire_Filiation_Pere_Nom',
|
||||
'titulaire_pere_prenoms': 'DemandeActe_Titulaire_Filiation_Pere_Prenoms',
|
||||
'titulaire_prenoms': 'DemandeActe_Titulaire_Prenoms',
|
||||
'titulaire2_civilite': 'DemandeActe_Titulaire2_Civilite',
|
||||
'titulaire2_mere_nom': 'DemandeActe_Titulaire2_Filiation_Mere_Nom',
|
||||
'titulaire2_mere_prenoms': 'DemandeActe_Titulaire2_Filiation_Mere_Prenoms',
|
||||
'titulaire2_naiss_date': 'DemandeActe_Titulaire2_DateDeNaissance',
|
||||
'titulaire2_naiss_departement_raw': 'DemandeActe_Titulaire2_DepartementDeNaissance',
|
||||
'titulaire2_nationalite_raw': 'DemandeActe_Titulaire2_Nationalite',
|
||||
'titulaire2_naiss_pays_raw': 'DemandeActe_Titulaire2_PaysDeNaissance',
|
||||
'titulaire2_naiss_ville': 'DemandeActe_Titulaire2_LieuDeNaissance',
|
||||
'titulaire2_nom': 'DemandeActe_Titulaire2_NomNaissance',
|
||||
'titulaire2_pere_nom': 'DemandeActe_Titulaire2_Filiation_Pere_Nom',
|
||||
'titulaire2_pere_prenoms': 'DemandeActe_Titulaire2_Filiation_Pere_Prenoms',
|
||||
'titulaire2_prenoms': 'DemandeActe_Titulaire2_Prenoms',
|
||||
'ville': 'DemandeActe_LieuActe_Ville'
|
||||
}
|
||||
mapping = [
|
||||
('aec_type_raw', 'DemandeActe_TypeActe_Code'),
|
||||
('aec_type', 'DemandeActe_TypeActe_Libelle'),
|
||||
('aec_nature_raw', 'DemandeActe_NatureActe_Code'),
|
||||
('aec_nature', 'DemandeActe_NatureActe_Libelle'),
|
||||
('date_acte', 'DemandeActe_DateActe'),
|
||||
('code_postal', 'DemandeActe_LieuActe_CodePostal'),
|
||||
('ville', 'DemandeActe_LieuActe_Ville'),
|
||||
('code_insee', 'DemandeActe_LieuActe_CodeINSEE'),
|
||||
('nombre_exemplaires', 'DemandeActe_NombreExemplaires'),
|
||||
('motif_demande', 'DemandeActe_MotifDemande_Libelle'),
|
||||
('motif_demande_raw', 'DemandeActe_MotifDemande_Commentaire'),
|
||||
('qualite_demandeur_raw', 'DemandeActe_Demandeur_QualiteDemandeur_Code'),
|
||||
('qualite_demandeur', 'DemandeActe_Demandeur_QualiteDemandeur_Libelle'),
|
||||
('demandeur_civilite', 'DemandeActe_Demandeur_Civilite'),
|
||||
('demandeur_nom', 'DemandeActe_Demandeur_Nom'),
|
||||
('demandeur_prenom', 'DemandeActe_Demandeur_Prenom'),
|
||||
('demandeur_adresse_etage', 'DemandeActe_Demandeur_AdresseFrancaise_Etage'),
|
||||
('demandeur_adresse_batiment', 'DemandeActe_Demandeur_AdresseFrancaise_Batiment'),
|
||||
('demandeur_adresse_voie', 'DemandeActe_Demandeur_AdresseFrancaise_Voie'),
|
||||
('demandeur_adresse_boite_postal', 'DemandeActe_Demandeur_AdresseFrancaise_BoitePostale'),
|
||||
('demandeur_adresse_code_postal', 'DemandeActe_Demandeur_AdresseFrancaise_CodePostal'),
|
||||
('demandeur_adresse_ville', 'DemandeActe_Demandeur_AdresseFrancaise_Ville'),
|
||||
('demandeur_adresse_adresse', 'DemandeActe_Demandeur_AdresseEtrangere_Adresse'),
|
||||
('demandeur_adresse_etrangere', 'DemandeActe_Demandeur_AdresseEtrangere_Adresse'),
|
||||
('demandeur_adresse_etrangere_pays_raw', 'DemandeActe_Demandeur_AdresseEtrangere_Pays'),
|
||||
('demandeur_email', 'DemandeActe_Demandeur_Courriel'),
|
||||
('demandeur_telephone', 'DemandeActe_Demandeur_Telephone'),
|
||||
('titulaire_civilite', 'DemandeActe_Titulaire_Civilite'),
|
||||
('titulaire_nom', 'DemandeActe_Titulaire_NomNaissance'),
|
||||
('titulaire_prenoms', 'DemandeActe_Titulaire_Prenoms'),
|
||||
('titulaire_pere_nom', 'DemandeActe_Titulaire_Filiation_Pere_Nom'),
|
||||
('titulaire_pere_prenoms', 'DemandeActe_Titulaire_Filiation_Pere_Prenoms'),
|
||||
('titulaire_mere_nom', 'DemandeActe_Titulaire_Filiation_Mere_Nom'),
|
||||
('titulaire_mere_prenoms', 'DemandeActe_Titulaire_Filiation_Mere_Prenoms'),
|
||||
('titulaire_naiss_date', 'DemandeActe_Titulaire_DateDeNaissance'),
|
||||
('titulaire_naiss_ville', 'DemandeActe_Titulaire_LieuDeNaissance'),
|
||||
('titulaire_naiss_departement_raw', 'DemandeActe_Titulaire_DepartementDeNaissance'),
|
||||
('titulaire_naiss_pays_raw', 'DemandeActe_Titulaire_PaysDeNaissance'),
|
||||
('titulaire_nationalite_raw', 'DemandeActe_Titulaire_Nationalite'),
|
||||
('titulaire2_civilite', 'DemandeActe_Titulaire2_Civilite'),
|
||||
('titulaire2_nom', 'DemandeActe_Titulaire2_NomNaissance'),
|
||||
('titulaire2_prenoms', 'DemandeActe_Titulaire2_Prenoms'),
|
||||
('titulaire2_pere_nom', 'DemandeActe_Titulaire2_Filiation_Pere_Nom'),
|
||||
('titulaire2_pere_prenoms', 'DemandeActe_Titulaire2_Filiation_Pere_Prenoms'),
|
||||
('titulaire2_mere_nom', 'DemandeActe_Titulaire2_Filiation_Mere_Nom'),
|
||||
('titulaire2_mere_prenoms', 'DemandeActe_Titulaire2_Filiation_Mere_Prenoms'),
|
||||
('titulaire2_naiss_date', 'DemandeActe_Titulaire2_DateDeNaissance'),
|
||||
('titulaire2_naiss_ville', 'DemandeActe_Titulaire2_LieuDeNaissance'),
|
||||
('titulaire2_naiss_departement_raw', 'DemandeActe_Titulaire2_DepartementDeNaissance'),
|
||||
('titulaire2_naiss_pays_raw', 'DemandeActe_Titulaire2_PaysDeNaissance'),
|
||||
('titulaire2_nationalite_raw', 'DemandeActe_Titulaire2_Nationalite'),
|
||||
]
|
||||
|
||||
required = [
|
||||
'aec_nature',
|
||||
|
@ -413,6 +441,7 @@ class AECData(Data):
|
|||
|
||||
def __init__(self, demand_id, data):
|
||||
self.root_element = 'EnveloppeMetierType'
|
||||
self.root_attributes = {'canal_utilise': '0'}
|
||||
|
||||
super(AECData, self).__init__(demand_id, data)
|
||||
|
||||
|
|
|
@ -0,0 +1,274 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Date de création : 18/03/13
|
||||
Nom de l'organisme : Bull Echirolles
|
||||
Nom de l'auteur : Reynaud Angélique
|
||||
Numéro de version : 0.1
|
||||
Historique des modifications (pour chaque modification :)
|
||||
- Date de mise à jour :26/03/2013
|
||||
- Nom de l'organisme : Bull Echirolles
|
||||
- Nom de l'auteur : Angélique Reynaud
|
||||
- Numéro de version : 1.0
|
||||
- Description : Mis à jour du document suite à l'atelier et aux échanges de mails
|
||||
Ajout des balises : LieuActe , DateActe , AdresseEtrangere dans DemandeurType, Civilite dans DemandeurType et IndividuType , Titulaire2
|
||||
Suppression de LieuActe et DateActe dans IndividuType
|
||||
Declaration des type complexe : LieuActeType, CiviliteType, AdresseEtrangereType
|
||||
|
||||
- Date de mise à jour :15/04/2013
|
||||
- Nom de l'organisme : Bull Echirolles
|
||||
- Nom de l'auteur : Maxime PASQUIER
|
||||
- Numéro de version : 1.A
|
||||
- Description : Mise en conformité du schema avec la norme XSD pour SmartGuide Designer
|
||||
|
||||
- Date de mise à jour :16/04/2013
|
||||
- Nom de l'organisme : Bull Echirolles
|
||||
- Nom de l'auteur : Maxime PASQUIER
|
||||
- Numéro de version : 1.B
|
||||
- Description : Suite au mail du 15/04/13,
|
||||
Ajout des champs ; Date de naissance ; Lieu de naissance ; Département de naissance ; Pays de naissance ; Nationalité
|
||||
pour une demande d'acte de mariage ou de décès pour les personnes concernées.
|
||||
Pas d'éclatement de l'adresse française.
|
||||
|
||||
- Date de mise à jour :28/05/2013
|
||||
- Nom de l'organisme : Bull Echirolles
|
||||
- Nom de l'auteur : Maxime PASQUIER
|
||||
- Numéro de version : 1.C
|
||||
- Description : Suite aux mantis 7560 et 7635
|
||||
Correction du nom de la balise <Nationnalite> en <Nationalite>
|
||||
Ajout des listes de valeur pour les balises <NatureActe>, <MotifDemande> et <QualiteDemandeur>
|
||||
Ajout de l'information minOccurs=0 sur les balises <Telephone>, <Pere>, <Mere>, <LieuDeNaissance>, <DepartementDeNaissance>, <PaysDeNaissance> et <Nationalite>
|
||||
-->
|
||||
|
||||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<xsd:element name="EnveloppeMetierType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Le type des enveloppes metier possible
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:choice>
|
||||
<xsd:element name="DemandeActe" type="DemandeActeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Ceci concerne la demande d'acte d'etat civil global (naissance,
|
||||
mariage, deces)
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="canal_utilise" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:complexType name="DemandeActeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Informations decrivant une demande d'acte
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="TypeActe" type="TypeActeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Type d'acte: NAISSANCE, MARIAGE, DECES
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="NatureActe" type="NatureActeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Nautre de l'acte: COPIE-INTEGRALE, EXTRAIT-AVEC-FILIATION, EXTRAIT-SANS-FILIATION, EXTRAIT-PLURILINGUE
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="DateActe" type="xsd:date" >
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Date de l'acte : date de naissance ou date du mariage ou date du décès
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="LieuActe" type="LieuActeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Lieu de l'acte : lieu de naissance ou lieu de la cérémonie du mariage ou lieu du décès
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="NombreExemplaires">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:integer">
|
||||
<xsd:minInclusive value="1" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="MotifDemande" type="MotifDemandeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Motif de la demande : CarteNationaleIdentite, Passeport, CertificatDeNationaliteFrancaise, Mariage, Pension, ProcedureJudiciaire, PacteCivilDeSolidarite, ActeDeNotaire, Autre
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Demandeur" type="DemandeurType" />
|
||||
<xsd:element name="Titulaire" type="IndividuType"/>
|
||||
<xsd:element name="Titulaire2" type="IndividuType" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
|
||||
<xsd:simpleType name="NomType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Type des elements de nom Etat Civil
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:restriction base="xsd:string" />
|
||||
</xsd:simpleType>
|
||||
|
||||
<xsd:complexType name="ParentType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Information concernant un parent d'un individu
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Nom" type="NomType" minOccurs="0" />
|
||||
<xsd:element name="Prenoms" type="NomType" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="FiliationType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Pere" type="ParentType" minOccurs="0" />
|
||||
<xsd:element name="Mere" type="ParentType" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="AdressePostaleFrancaiseType" mixed="true">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>L'adresse</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Etage" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="Batiment" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="Voie" type="xsd:string" />
|
||||
<xsd:element name="BoitePostale" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="CodePostal" type="xsd:string" />
|
||||
<xsd:element name="Ville" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="QualiteDemandeurType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Code" type="xsd:string" />
|
||||
<xsd:element name="Libelle" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="MotifDemandeType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Libelle" type="xsd:string" />
|
||||
<xsd:element name="Commentaire" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="TypeActeType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Code">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="NAISSANCE" />
|
||||
<xsd:enumeration value="MARIAGE" />
|
||||
<xsd:enumeration value="DECES" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Libelle" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="NatureActeType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Code">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="COPIE-INTEGRALE" />
|
||||
<xsd:enumeration value="EXTRAIT-AVEC-FILIATION" />
|
||||
<xsd:enumeration value="EXTRAIT-SANS-FILIATION" />
|
||||
<xsd:enumeration value="EXTRAIT-PLURILINGUE" />
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:element>
|
||||
<xsd:element name="Libelle" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="IndividuType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Informations caracterisant un individu
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Civilite" type="CiviliteType" />
|
||||
<xsd:element name="NomNaissance" type="NomType" />
|
||||
<xsd:element name="Prenoms" type="NomType" />
|
||||
<xsd:element name="Filiation" type="FiliationType" minOccurs="0" />
|
||||
<xsd:element name="DateDeNaissance" type="xsd:date" />
|
||||
<xsd:element name="LieuDeNaissance" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="DepartementDeNaissance" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="PaysDeNaissance" type="xsd:string" minOccurs="0" />
|
||||
<xsd:element name="Nationalite" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="DemandeurType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Informations caracterisant le demandeur de l'acte
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="QualiteDemandeur" type="QualiteDemandeurType" minOccurs="0">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Motif de la demande : PersonneConcernee, PereMere, Conjoint, Fils, GrandPere, PetitFils, Representant, Heriter, Autre
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:element>
|
||||
<xsd:element name="Civilite" type="CiviliteType" />
|
||||
<xsd:element name="Nom" type="NomType" />
|
||||
<xsd:element name="Prenom" type="NomType" />
|
||||
<xsd:choice>
|
||||
<xsd:element name="AdresseFrancaise" type="AdressePostaleFrancaiseType" />
|
||||
<xsd:element name="AdresseEtrangere" type="AdresseEtrangereType" />
|
||||
</xsd:choice>
|
||||
<xsd:element name="Courriel" type="xsd:string" />
|
||||
<xsd:element name="Telephone" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="LieuActeType">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Informations sur le lieu de l'acte
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="BoitePostale-LieuDit" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="CodePostal" type="xsd:string" />
|
||||
<xsd:element name="Ville" type="xsd:string" />
|
||||
<xsd:element name="CodeINSEE" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="CiviliteType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="MONSIEUR"/>
|
||||
<xsd:enumeration value="MADAME"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="AdresseEtrangereType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Adresse" type="xsd:string" />
|
||||
<xsd:element name="Pays" type="xsd:string" />
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
|
||||
</xsd:schema>
|
|
@ -0,0 +1,218 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by Jean.dupont (EMBRACE) -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="AvisDInscription">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Inscription" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Electeur" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Noms" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="NomFamille">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="NomUsage" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Prenoms" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Prenom" type="xs:string" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DateDeNaissance">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="LieuDeNaissance" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Localite">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="DivisionTerritoriale" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="CodePostal" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="Subdivision" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="Pays">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Sexe">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Nationalite">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="AdresseDeLElecteur" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="PointDeRemise" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="Complement" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="NumeroVoie" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="Extension" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="TypeVoie">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="NomVoie">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="LieuDit" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="CodePostal">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:length value="5"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Localite">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="DivisionTerritoriale" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="MethodeDeContact" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="CanalCode" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="URI" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="TypeDeListe" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="CommuneDInscription" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Localite">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="DivisionTerritoriale">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="CodeInsee">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:length value="5"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DateDInscription" type="xs:string" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Date de réception de la demande en mairie</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="TypeDInscription" type="xs:string" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Décrit le type d'inscription de l'électeur. Ex: vol pour volontaire …</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="SituationElectoraleAnterieure" minOccurs="0">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Décrit la situation antérieure de l'électeur (prem: première inscription, cci: réinscription ...)</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="SituationDeLElecteur">
|
||||
<xs:annotation>
|
||||
<xs:documentation>1ère inscription dans une commune française=prem, changement de commune d'inscription=cci.
|
||||
Les déménagements à l'intérieur d'une même commune ou d'un même arrondissement pour Paris, Lyon et Marseille ne doivent pas être transmis à l'Insee</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="ConsulatDePrecedenteInscription" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="AmbassadeOuPosteConsulaire" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="Pays" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CommuneDePrecedenteInscription" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Localite" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="DivisionTerritoriale" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PaysUeDerniereInscription" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="Localite" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="DivisionTerritoriale" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="Pays" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
File diff suppressed because one or more lines are too long
|
@ -29,7 +29,6 @@
|
|||
"demandeur_adresse_pays_raw": "FRA",
|
||||
"demandeur_adresse_ville": "Nancy",
|
||||
"demandeur_adresse_voie": "Rue de l'Aigle Blanc",
|
||||
"demandeur_adresse_etrangere": "37, Rue de l'Aigle Blanc, 54000 Nancy",
|
||||
"demandeur_civilite": "Madame",
|
||||
"demandeur_civilite_raw": "Madame",
|
||||
"demandeur_email": "chelsea@whatever.com",
|
||||
|
|
|
@ -25,12 +25,13 @@
|
|||
"aec_nature": "Extrait avec filiation",
|
||||
"aec_nature_raw": "EXTRAIT-AVEC-FILIATION",
|
||||
"date_acte": "2008-08-18",
|
||||
"demandeur_adresse_code_postal": "BC V5Y 1V4",
|
||||
"demandeur_adresse_num": "274",
|
||||
"demandeur_adresse_pays": "CANADA",
|
||||
"demandeur_adresse_pays_raw": "CAN",
|
||||
"demandeur_adresse_ville": "Vancouver",
|
||||
"demandeur_adresse_voie": "West 12th Avenue",
|
||||
"demandeur_adresse_code_postal": "94270",
|
||||
"demandeur_adresse_num": "22",
|
||||
"demandeur_adresse_pays": "FRANCE",
|
||||
"demandeur_adresse_pays_raw": "FRA",
|
||||
"demandeur_adresse_ville": "Kremlin Bicetre",
|
||||
"demandeur_adresse_code_postal": "94270",
|
||||
"demandeur_adresse_voie": "rue Danton",
|
||||
"demandeur_civilite": "Madame",
|
||||
"demandeur_civilite_raw": "Madame",
|
||||
"demandeur_email": "chelsea@whatever.com",
|
||||
|
|
|
@ -21,7 +21,9 @@ import os
|
|||
import json
|
||||
import base64
|
||||
import copy
|
||||
|
||||
from xml.etree import ElementTree as etree
|
||||
from lxml import etree as letree
|
||||
|
||||
import pytest
|
||||
|
||||
|
@ -31,6 +33,9 @@ from passerelle.contrib.mdel.utils import parse_date
|
|||
|
||||
import utils
|
||||
|
||||
AEC_XSD = 'ActeEtatCivil-V1.A.xsd'
|
||||
ILE_XSD = 'ILE_v1.1.xsd'
|
||||
|
||||
|
||||
def get_mdel_base_dir():
|
||||
return os.path.join(os.path.dirname(__file__), 'data', 'mdel')
|
||||
|
@ -42,6 +47,15 @@ def get_file_from_test_base_dir(filename):
|
|||
return fd.read()
|
||||
|
||||
|
||||
def validate_schema(doc, xsd):
|
||||
xsd_path = os.path.join(get_mdel_base_dir(), xsd)
|
||||
xsd = letree.parse(xsd_path).getroot()
|
||||
schema = letree.XMLSchema(xsd)
|
||||
parser = letree.XMLParser(schema=schema)
|
||||
letree.parse(doc, parser=parser) # Will raise an exception if schema not respected
|
||||
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def setup(db):
|
||||
return utils.setup_access_rights(MDEL.objects.create(slug='test'))
|
||||
|
@ -123,6 +137,8 @@ def test_create_aec_demand_type(app, setup, aec_payload):
|
|||
assert resp.json['data']['demand_id'] == '15-4-AEC-LA'
|
||||
|
||||
doc = os.path.join(get_resource_base_dir(), 'test', 'inputs', '15-4-AEC-LA--0', '15-4-AEC-LA-doc-.xml')
|
||||
validate_schema(doc, AEC_XSD)
|
||||
|
||||
root = etree.parse(doc).getroot()
|
||||
|
||||
assert root.tag == 'EnveloppeMetierType'
|
||||
|
@ -169,6 +185,8 @@ def test_create_aec_demand_type(app, setup, aec_payload):
|
|||
assert resp.json['data']['demand_id'] == '16-1-AEC-LA'
|
||||
|
||||
doc = os.path.join(get_resource_base_dir(), 'test', 'inputs', '16-1-AEC-LA--0', '16-1-AEC-LA-doc-.xml')
|
||||
validate_schema(doc, AEC_XSD)
|
||||
|
||||
root = etree.parse(doc).getroot()
|
||||
|
||||
assert root.tag == 'EnveloppeMetierType'
|
||||
|
@ -191,8 +209,9 @@ def test_create_aec_demand_type(app, setup, aec_payload):
|
|||
assert root.find('DemandeActe/Demandeur/Telephone').text == '0122334455'
|
||||
assert root.find('DemandeActe/Demandeur/QualiteDemandeur/Code').text == 'Autre'
|
||||
assert root.find('DemandeActe/Demandeur/QualiteDemandeur/Libelle').text == 'Sa soeur'
|
||||
assert root.find('DemandeActe/Demandeur/AdresseEtrangere/Adresse').text == '274 West 12th Avenue, Vancouver, BC V5Y 1V4'
|
||||
assert root.find('DemandeActe/Demandeur/AdresseEtrangere/Pays').text == 'CAN'
|
||||
assert root.find('DemandeActe/Demandeur/AdresseFrancaise/Voie').text == '22 rue Danton'
|
||||
assert root.find('DemandeActe/Demandeur/AdresseFrancaise/CodePostal').text == '94270'
|
||||
assert root.find('DemandeActe/Demandeur/AdresseFrancaise/Ville').text == 'Kremlin Bicetre'
|
||||
|
||||
# Concerned
|
||||
assert root.find('DemandeActe/Titulaire/Civilite').text == 'MONSIEUR'
|
||||
|
@ -220,6 +239,8 @@ def test_create_aec_demand_type(app, setup, aec_payload):
|
|||
assert resp.json['data']['demand_id'] == '17-1-AEC-LA'
|
||||
|
||||
doc = os.path.join(get_resource_base_dir(), 'test', 'inputs', '17-1-AEC-LA--0', '17-1-AEC-LA-doc-.xml')
|
||||
validate_schema(doc, AEC_XSD)
|
||||
|
||||
root = etree.parse(doc).getroot()
|
||||
|
||||
assert root.tag == 'EnveloppeMetierType'
|
||||
|
@ -273,12 +294,15 @@ def test_create_ile_demand_type(app, setup):
|
|||
|
||||
base_doc = os.path.join(get_resource_base_dir(), 'test', 'inputs', '1-14-ILE-LA--0')
|
||||
doc = os.path.join(base_doc, '1-14-ILE-LA-doc-.xml')
|
||||
|
||||
validate_schema(doc, ILE_XSD)
|
||||
|
||||
root = etree.parse(doc).getroot()
|
||||
|
||||
assert root.tag == 'AvisDInscription'
|
||||
|
||||
assert root.find('Inscription/Electeur/AdresseDeLElecteur/Localite').text == 'Nancy'
|
||||
assert root.find('Inscription/Electeur/AdresseDeLElecteur/CodePostal').text == '54 000'
|
||||
assert root.find('Inscription/Electeur/AdresseDeLElecteur/CodePostal').text == '54000'
|
||||
assert root.find('Inscription/Electeur/AdresseDeLElecteur/TypeVoie').text == 'RUE'
|
||||
assert root.find('Inscription/Electeur/AdresseDeLElecteur/NomVoie').text == 'RUE DU CHEVAL BLANC'
|
||||
assert root.find('Inscription/Electeur/AdresseDeLElecteur/NumeroVoie').text == '37'
|
||||
|
|
Loading…
Reference in New Issue