sp_fr: serialize FormDefRef as str in exports (#47220)
This commit is contained in:
parent
786d3f20a4
commit
17e733f2cc
|
@ -644,7 +644,7 @@ class Mapping(models.Model):
|
|||
def export_json(self):
|
||||
return {
|
||||
'procedure': self.procedure,
|
||||
'formdef': self.formdef,
|
||||
'formdef': str(self.formdef),
|
||||
'rules': self.rules,
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ import mock
|
|||
|
||||
from passerelle.apps.sp_fr.models import Resource
|
||||
from passerelle.utils.sftp import SFTP
|
||||
import passerelle.utils.wcs
|
||||
from passerelle.utils.wcs import get_wcs_choices, FormDefRef
|
||||
|
||||
import utils
|
||||
|
||||
|
@ -56,8 +56,6 @@ def spfr(settings, wcs_host, db, sftpserver):
|
|||
|
||||
|
||||
def test_resource(spfr):
|
||||
from passerelle.utils.wcs import get_wcs_choices
|
||||
|
||||
assert [x[1] for x in get_wcs_choices()] == ['---------', u'D\xe9marches - Demande']
|
||||
|
||||
|
||||
|
@ -70,11 +68,12 @@ def test_sftp_access(spfr, sftpserver):
|
|||
|
||||
|
||||
def test_import_export(spfr):
|
||||
mapping = spfr.mappings.create(procedure='DOC', formdef='wcs:formdef1', rules={'a': 'b'})
|
||||
serialization = spfr.export_json()
|
||||
spfr.delete()
|
||||
with mock.patch.object(passerelle.utils.wcs.FormDefRef, 'formdef') as mock_formdef:
|
||||
# mock FormDefRef.formdef property to prevent w.c.s. API calls
|
||||
with mock.patch.object(FormDefRef, 'formdef') as mock_formdef:
|
||||
mock_formdef.__get__ = mock.Mock(return_value=None)
|
||||
mapping = spfr.mappings.create(procedure='DOC', formdef=FormDefRef('wcs:formdef1'), rules={'a': 'b'})
|
||||
serialization = spfr.export_json()
|
||||
spfr.delete()
|
||||
new_spfr = spfr.__class__.import_json(serialization)
|
||||
assert (dict(spfr.__dict__, _state=None, id=None, logger=None)
|
||||
== dict(new_spfr.__dict__, id=None, logger=None, _state=None))
|
||||
|
|
Loading…
Reference in New Issue