manager: fix handling of missing groups with python 3 (#38674)
This commit is contained in:
parent
04244f5ad5
commit
71421c4266
|
@ -83,7 +83,7 @@ class SiteImportView(FormView):
|
|||
try:
|
||||
import_site(json_site)
|
||||
except MissingGroups as e:
|
||||
form.add_error('site_json', unicode(e))
|
||||
form.add_error('site_json', force_text(e))
|
||||
return self.form_invalid(form)
|
||||
|
||||
return super(SiteImportView, self).form_valid(form)
|
||||
|
|
|
@ -440,6 +440,28 @@ def test_site_export_import(app, admin_user):
|
|||
resp = resp.form.submit()
|
||||
assert 'File is not in the expected JSON format.' in resp.text
|
||||
|
||||
def test_site_export_import_missing_group(app, admin_user):
|
||||
Page.objects.all().delete()
|
||||
group = Group.objects.create(name='foobar')
|
||||
page1 = Page(title='One', slug='one', template_name='standard')
|
||||
page1.save()
|
||||
page1.groups.set([group])
|
||||
|
||||
app = login(app)
|
||||
resp = app.get('/manage/')
|
||||
resp = resp.click('Export Site')
|
||||
assert resp.headers['content-type'] == 'application/json'
|
||||
site_export = resp.body
|
||||
|
||||
Page.objects.all().delete()
|
||||
group.delete()
|
||||
|
||||
app = login(app)
|
||||
resp = app.get('/manage/')
|
||||
resp = resp.click('Import Site')
|
||||
resp.form['site_json'] = Upload('site-export.json', site_export, 'application/json')
|
||||
resp = resp.form.submit()
|
||||
assert 'Missing groups: foobar' in resp.text
|
||||
|
||||
def test_duplicate_page(app, admin_user):
|
||||
page = Page.objects.create(title='One', slug='one', template_name='standard')
|
||||
|
|
Loading…
Reference in New Issue