passerelle/tests/test_fake_family.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

87 lines
3.2 KiB
Python
Raw Normal View History

2015-09-28 14:46:55 +02:00
import pytest
2020-12-10 15:03:57 +01:00
from django.urls import reverse
2015-09-28 14:46:55 +02:00
from passerelle.contrib.fake_family.models import FakeFamily
pytestmark = pytest.mark.django_db
2021-02-20 16:26:01 +01:00
2015-09-28 14:46:55 +02:00
def test_init_fake_family():
fake = FakeFamily.objects.create()
jsondb = fake.jsondatabase
assert len(jsondb['adults']) == 22
assert len(jsondb['children']) == 50
2015-09-28 14:46:55 +02:00
family_id = fake.get_familyid_by_nameid('fake_nameid')
assert family_id == '1'
family = jsondb['families'][family_id]
assert len(fake.get_list_of('adults', family_id)) == len(family['adults'])
assert len(fake.get_list_of('children', family_id)) == len(family['children'])
@pytest.fixture
def fakefam(db):
return FakeFamily.objects.create(title='fakefam', slug='fakefam')
2015-09-28 14:46:55 +02:00
2021-02-20 16:26:01 +01:00
def test_fake_family_dump(app, fakefam):
2015-09-28 14:46:55 +02:00
resp = app.get(reverse('fake-family-dump', kwargs={'slug': fakefam.slug}))
assert resp.json == fakefam.jsondatabase
2015-09-28 14:46:55 +02:00
2021-02-20 16:26:01 +01:00
def test_fake_family_urls(app, fakefam):
2015-09-28 14:46:55 +02:00
name_id = '__test_name_id__'
family = fakefam.jsondatabase['families']['1']
adult_id = family['adults'][0]
adult = fakefam.jsondatabase['adults'][adult_id]
login = adult['login']
password = adult['password']
resp = app.get(
reverse('fake-family-link', kwargs={'slug': fakefam.slug})
+ '?NameID=%s&login=%s&password=%s' % (name_id, login, password)
2021-02-20 16:26:01 +01:00
)
2015-09-28 14:46:55 +02:00
assert resp.json['err'] == 0
assert resp.json['data'] == adult
2015-09-28 14:46:55 +02:00
resp = app.get(reverse('fake-family-info', kwargs={'slug': fakefam.slug}) + '?NameID=%s' % name_id)
assert resp.json['err'] == 0
assert resp.json['data']['adults'][0]['address'] == adult['address']
resp = app.get(
reverse('fake-family-key', kwargs={'slug': fakefam.slug, 'key': 'adults'}) + '?NameID=%s' % name_id
)
assert resp.json['err'] == 0
assert resp.json['data'][0]['address'] == adult['address']
resp = app.get(
reverse('fake-family-key', kwargs={'slug': fakefam.slug, 'key': 'children'}) + '?NameID=%s' % name_id
)
assert resp.json['err'] == 0
assert len(resp.json['data']) == 2
resp = app.get(reverse('fake-family-unlink', kwargs={'slug': fakefam.slug}) + '?NameID=%s' % name_id)
assert resp.json['err'] == 0
assert resp.json['data'] == 'ok'
resp = app.get(reverse('fake-family-unlink', kwargs={'slug': fakefam.slug}) + '?NameID=%s' % name_id)
assert resp.json['err'] == 0
assert resp.json['data'] == 'ok (but there was no links)'
2021-02-20 16:26:01 +01:00
def test_fake_family_bad_login(app, fakefam):
name_id = '__test_name_id__'
family = fakefam.jsondatabase['families']['1']
adult_id = family['adults'][0]
adult = fakefam.jsondatabase['adults'][adult_id]
login = adult['login']
password = 'bad' + adult['password']
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'] == 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'] == 100
assert resp.json['err_desc'] == 'unknown login'