65 |
65 |
return request.param
|
66 |
66 |
|
67 |
67 |
|
68 |
|
def assert_xml_doc(archive, assertions):
|
|
68 |
def assert_xml_doc(filename, assertions):
|
69 |
69 |
schema = etree.XMLSchema(
|
70 |
70 |
etree.parse(open(os.path.join(get_test_base_dir('cityweb'), 'cityweb.xsd'))))
|
71 |
|
with zipfile.ZipFile(archive) as zfd:
|
72 |
|
content = zfd.read(zfd.filelist[0].filename)
|
73 |
|
xml_content = etree.fromstring(content)
|
74 |
|
assert len(xml_content.nsmap) == 1
|
75 |
|
assert xml_content.nsmap['xs'] == "http://tempuri.org/XMLSchema.xsd"
|
76 |
|
schema.assertValid(xml_content)
|
77 |
|
root = xobject.fromstring(content)
|
78 |
|
for epath, value in assertions.items():
|
79 |
|
path = xobject.ObjectPath('demandeEtatCivil.%s' % epath)
|
80 |
|
assert path.find(root) == value
|
|
71 |
|
|
72 |
content = file(filename).read()
|
|
73 |
xml_content = etree.fromstring(content)
|
|
74 |
assert len(xml_content.nsmap) == 1
|
|
75 |
assert xml_content.nsmap['xs'] == "http://tempuri.org/XMLSchema.xsd"
|
|
76 |
schema.assertValid(xml_content)
|
|
77 |
root = xobject.fromstring(content)
|
|
78 |
for epath, value in assertions.items():
|
|
79 |
path = xobject.ObjectPath('demandeEtatCivil.%s' % epath)
|
|
80 |
assert path.find(root) == value
|
81 |
81 |
|
82 |
82 |
|
83 |
83 |
@mock.patch('passerelle.apps.cityweb.models.default_storage.path', get_test_base_dir)
|
... | ... | |
86 |
86 |
if 'birth' in payload:
|
87 |
87 |
response = app.post_json(url, params=payload['birth'])
|
88 |
88 |
assert response.json['data']['demand_id'] == 'N201610154'
|
89 |
|
archive = os.path.join(get_test_base_dir('cityweb'), 'test', 'N201610154.zip')
|
|
89 |
filename = os.path.join(get_test_base_dir('cityweb'), 'test', 'N201610154.xml')
|
90 |
90 |
assertions = {
|
91 |
91 |
'identifiant': 'N201610154',
|
92 |
92 |
'demandeur.qualiteDemandeur': 'concerne',
|
... | ... | |
107 |
107 |
'evenement.interesse.mere.noms.nomDeFamille': 'Smith',
|
108 |
108 |
'evenement.interesse.mere.prenoms': 'Kim',
|
109 |
109 |
}
|
110 |
|
assert_xml_doc(archive, assertions)
|
|
110 |
assert_xml_doc(filename, assertions)
|
111 |
111 |
|
112 |
112 |
elif 'mariage' in payload:
|
113 |
113 |
response = app.post_json(url, params=payload['mariage'])
|
114 |
114 |
assert response.json['data']['demand_id'] == 'M201610161'
|
115 |
|
archive = os.path.join(get_test_base_dir('cityweb'), 'test', 'M201610161.zip')
|
|
115 |
filename = os.path.join(get_test_base_dir('cityweb'), 'test', 'M201610161.xml')
|
116 |
116 |
assertions = {
|
117 |
117 |
'identifiant': 'M201610161',
|
118 |
118 |
'demandeur.qualiteDemandeur': 'concerne',
|
... | ... | |
138 |
138 |
'evenement.conjoint.mere.noms.nomDeFamille': 'Scaramucci',
|
139 |
139 |
'evenement.conjoint.mere.prenoms': 'Marguerite',
|
140 |
140 |
}
|
141 |
|
assert_xml_doc(archive, assertions)
|
|
141 |
assert_xml_doc(filename, assertions)
|
142 |
142 |
else:
|
143 |
143 |
response = app.post_json(url, params=payload['death'])
|
144 |
144 |
assert response.json['data']['demand_id'] == 'D201610171'
|
145 |
|
archive = os.path.join(get_test_base_dir('cityweb'), 'test', 'D201610171.zip')
|
|
145 |
filename = os.path.join(get_test_base_dir('cityweb'), 'test', 'D201610171.xml')
|
146 |
146 |
assertions = {
|
147 |
147 |
'identifiant': 'D201610171',
|
148 |
148 |
'demandeur.qualiteDemandeur': 'concerne',
|
... | ... | |
159 |
159 |
'evenement.dateEvenement.dateDebut': '2012-07-14',
|
160 |
160 |
'evenement.lieuEvenement.ville': 'Nancy',
|
161 |
161 |
}
|
162 |
|
assert_xml_doc(archive, assertions)
|
|
162 |
assert_xml_doc(filename, assertions)
|
163 |
163 |
|
164 |
164 |
|
165 |
165 |
def test_date_type_parsing():
|
166 |
|
-
|