fake_family: use Exception attributes handling provided by #8756

This commit is contained in:
Thomas NOËL 2015-10-23 11:46:43 +02:00
parent 24499d6fb7
commit 0c7b4e2ea3
3 changed files with 10 additions and 8 deletions

View File

@ -16,15 +16,13 @@
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
from jsonfield import JSONField
from passerelle.base.models import BaseResource
from .default_database import default_database
class FakeFamilyException(Exception):
pass
class FakeFamily(BaseResource):
jsondatabase = JSONField(_('Fake Database (JSON)'),
@ -65,9 +63,9 @@ class FakeFamily(BaseResource):
if adult_id in family_dict['adults']:
family_ids.append(family_id)
if not family_ids:
raise FakeFamilyException('adult "%s" not found in a family' % adult_id)
raise ObjectDoesNotExist('adult "%s" not found in a family' % adult_id)
if len(family_ids) > 1:
raise FakeFamilyException('adult "%s" is in more than one family (%s)' % \
raise MultipleObjectsReturned('adult "%s" is in more than one family (%s)' % \
(adult_id, family_ids))
return family_ids[0]

View File

@ -17,7 +17,6 @@
from django.core.urlresolvers import reverse
from django.views.generic import DetailView as GenericDetailView
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.core.exceptions import PermissionDenied
from passerelle import utils
@ -25,6 +24,11 @@ from .models import FakeFamily
from .forms import FakeFamilyForm, FakeFamilyUpdateForm
class PermissionDenied(Exception):
err_code = 100
http_status = 403
class FakeFamilyDetailView(GenericDetailView):
model = FakeFamily
template_name = 'passerelle/contrib/fake_family/detail.html'

View File

@ -79,11 +79,11 @@ def test_fake_family_bad_login(setup):
resp = app.get(reverse('fake-family-link', kwargs={'slug': fakefam.slug}) + \
'?NameID=%s&login=%s&password=%s' % (name_id, login, password),
status=403)
assert resp.json['err'] == 1
assert resp.json['err'] == 100
assert resp.json['err_desc'] == 'bad password'
login = 'bad@login'
resp = app.get(reverse('fake-family-link', kwargs={'slug': fakefam.slug}) + \
'?NameID=%s&login=%s&password=%s' % (name_id, login, password),
status=403)
assert resp.json['err'] == 1
assert resp.json['err'] == 100
assert resp.json['err_desc'] == 'unknown login'