0001-sp_fr-serialize-FormDefRef-as-str-in-exports-47220.patch
passerelle/apps/sp_fr/models.py | ||
---|---|---|
644 | 644 |
def export_json(self): |
645 | 645 |
return { |
646 | 646 |
'procedure': self.procedure, |
647 |
'formdef': self.formdef,
|
|
647 |
'formdef': str(self.formdef),
|
|
648 | 648 |
'rules': self.rules, |
649 | 649 |
} |
650 | 650 |
tests/wcs/test_sp_fr.py | ||
---|---|---|
20 | 20 | |
21 | 21 |
from passerelle.apps.sp_fr.models import Resource |
22 | 22 |
from passerelle.utils.sftp import SFTP |
23 |
import passerelle.utils.wcs |
|
23 |
from passerelle.utils.wcs import get_wcs_choices, FormDefRef |
|
24 | 24 | |
25 | 25 |
import utils |
26 | 26 | |
... | ... | |
56 | 56 | |
57 | 57 | |
58 | 58 |
def test_resource(spfr): |
59 |
from passerelle.utils.wcs import get_wcs_choices |
|
60 | ||
61 | 59 |
assert [x[1] for x in get_wcs_choices()] == ['---------', u'D\xe9marches - Demande'] |
62 | 60 | |
63 | 61 | |
... | ... | |
70 | 68 | |
71 | 69 | |
72 | 70 |
def test_import_export(spfr): |
73 |
mapping = spfr.mappings.create(procedure='DOC', formdef='wcs:formdef1', rules={'a': 'b'}) |
|
74 |
serialization = spfr.export_json() |
|
75 |
spfr.delete() |
|
76 |
with mock.patch.object(passerelle.utils.wcs.FormDefRef, 'formdef') as mock_formdef: |
|
71 |
# mock FormDefRef.formdef property to prevent w.c.s. API calls |
|
72 |
with mock.patch.object(FormDefRef, 'formdef') as mock_formdef: |
|
77 | 73 |
mock_formdef.__get__ = mock.Mock(return_value=None) |
74 |
mapping = spfr.mappings.create(procedure='DOC', formdef=FormDefRef('wcs:formdef1'), rules={'a': 'b'}) |
|
75 |
serialization = spfr.export_json() |
|
76 |
spfr.delete() |
|
78 | 77 |
new_spfr = spfr.__class__.import_json(serialization) |
79 | 78 |
assert (dict(spfr.__dict__, _state=None, id=None, logger=None) |
80 | 79 |
== dict(new_spfr.__dict__, id=None, logger=None, _state=None)) |
81 |
- |