From 17e733f2cc2f231443402cdc86f820208c660a0a Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Thu, 1 Oct 2020 11:46:09 +0200 Subject: [PATCH] sp_fr: serialize FormDefRef as str in exports (#47220) --- passerelle/apps/sp_fr/models.py | 2 +- tests/wcs/test_sp_fr.py | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/passerelle/apps/sp_fr/models.py b/passerelle/apps/sp_fr/models.py index 5f9c6683..594e2359 100644 --- a/passerelle/apps/sp_fr/models.py +++ b/passerelle/apps/sp_fr/models.py @@ -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, } diff --git a/tests/wcs/test_sp_fr.py b/tests/wcs/test_sp_fr.py index 25318266..da152999 100644 --- a/tests/wcs/test_sp_fr.py +++ b/tests/wcs/test_sp_fr.py @@ -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)) -- 2.28.0