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
|
2015-10-03 19:41:57 +02:00
|
|
|
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
|
2017-10-26 19:58:40 +02:00
|
|
|
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
|
|
|
|
2017-10-26 19:58:40 +02: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}))
|
2015-10-03 20:12:07 +02:00
|
|
|
assert resp.json == fakefam.jsondatabase
|
2015-09-28 14:46:55 +02:00
|
|
|
|
2021-02-20 16:26:01 +01:00
|
|
|
|
2017-10-26 19:58:40 +02: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
|
2015-10-03 20:12:07 +02:00
|
|
|
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)'
|
2015-09-30 09:37:10 +02:00
|
|
|
|
2021-02-20 16:26:01 +01:00
|
|
|
|
2017-10-26 19:58:40 +02:00
|
|
|
def test_fake_family_bad_login(app, fakefam):
|
2015-09-30 09:37:10 +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 = '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,
|
|
|
|
)
|
2015-10-23 11:46:43 +02:00
|
|
|
assert resp.json['err'] == 100
|
2015-09-30 09:37:10 +02:00
|
|
|
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,
|
|
|
|
)
|
2015-10-23 11:46:43 +02:00
|
|
|
assert resp.json['err'] == 100
|
2015-09-30 09:37:10 +02:00
|
|
|
assert resp.json['err_desc'] == 'unknown login'
|