mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-12 04:49:25 +00:00
All: Apply Black coding rules
This commit is contained in:
398
core/tests.py
398
core/tests.py
@ -49,203 +49,261 @@ class UserRegistrationTest(TestCase):
|
||||
Should register a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
response = c.post(reverse('core:register'), {'first_name': 'Guy',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'guy@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Guy",
|
||||
"last_name": "Carlier",
|
||||
"email": "guy@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('TEST_REGISTER_USER_FORM_OK' in str(response.content))
|
||||
self.assertTrue("TEST_REGISTER_USER_FORM_OK" in str(response.content))
|
||||
|
||||
def test_register_user_form_fail_password(self):
|
||||
"""
|
||||
Should not register a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
response = c.post(reverse('core:register'), {'first_name': 'Guy',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop2',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Guy",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop2",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('TEST_REGISTER_USER_FORM_FAIL' in str(response.content))
|
||||
self.assertTrue("TEST_REGISTER_USER_FORM_FAIL" in str(response.content))
|
||||
|
||||
def test_register_user_form_fail_email(self):
|
||||
"""
|
||||
Should not register a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
response = c.post(reverse('core:register'), {'first_name': 'Guy',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou.git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Guy",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou.git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('TEST_REGISTER_USER_FORM_FAIL' in str(response.content))
|
||||
self.assertTrue("TEST_REGISTER_USER_FORM_FAIL" in str(response.content))
|
||||
|
||||
def test_register_user_form_fail_missing_name(self):
|
||||
"""
|
||||
Should not register a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
response = c.post(reverse('core:register'), {'first_name': 'Guy',
|
||||
'last_name': '',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Guy",
|
||||
"last_name": "",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('TEST_REGISTER_USER_FORM_FAIL' in str(response.content))
|
||||
self.assertTrue("TEST_REGISTER_USER_FORM_FAIL" in str(response.content))
|
||||
|
||||
def test_register_user_form_fail_missing_date_of_birth(self):
|
||||
"""
|
||||
Should not register a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
response = c.post(reverse('core:register'), {'first_name': '',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('TEST_REGISTER_USER_FORM_FAIL' in str(response.content))
|
||||
self.assertTrue("TEST_REGISTER_USER_FORM_FAIL" in str(response.content))
|
||||
|
||||
def test_register_user_form_fail_missing_first_name(self):
|
||||
"""
|
||||
Should not register a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
response = c.post(reverse('core:register'), {'first_name': '',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('TEST_REGISTER_USER_FORM_FAIL' in str(response.content))
|
||||
self.assertTrue("TEST_REGISTER_USER_FORM_FAIL" in str(response.content))
|
||||
|
||||
def test_register_user_form_fail_wrong_captcha(self):
|
||||
"""
|
||||
Should not register a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
response = c.post(reverse('core:register'), {'first_name': 'Bibou',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'WRONG_CAPTCHA'
|
||||
})
|
||||
response = c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Bibou",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "WRONG_CAPTCHA",
|
||||
},
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('TEST_REGISTER_USER_FORM_FAIL' in str(response.content))
|
||||
self.assertTrue("TEST_REGISTER_USER_FORM_FAIL" in str(response.content))
|
||||
|
||||
def test_register_user_form_fail_already_exists(self):
|
||||
"""
|
||||
Should not register a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
c.post(reverse('core:register'), {'first_name': 'Guy',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(reverse('core:register'), {'first_name': 'Bibou',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Guy",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
response = c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Bibou",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('TEST_REGISTER_USER_FORM_FAIL' in str(response.content))
|
||||
self.assertTrue("TEST_REGISTER_USER_FORM_FAIL" in str(response.content))
|
||||
|
||||
def test_login_success(self):
|
||||
"""
|
||||
Should login a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
c.post(reverse('core:register'), {'first_name': 'Guy',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(reverse('core:login'), {'username': 'gcarlier', 'password': 'plop'})
|
||||
c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Guy",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
response = c.post(
|
||||
reverse("core:login"), {"username": "gcarlier", "password": "plop"}
|
||||
)
|
||||
self.assertTrue(response.status_code == 302)
|
||||
#self.assertTrue('Hello, world' in str(response.content))
|
||||
# self.assertTrue('Hello, world' in str(response.content))
|
||||
|
||||
def test_login_fail(self):
|
||||
"""
|
||||
Should not login a user correctly
|
||||
"""
|
||||
c = Client()
|
||||
c.post(reverse('core:register'), {'first_name': 'Guy',
|
||||
'last_name': 'Carlier',
|
||||
'email': 'bibou@git.an',
|
||||
'date_of_birth': '12/6/1942',
|
||||
'password1': 'plop',
|
||||
'password2': 'plop',
|
||||
'captcha_0': 'dummy-value',
|
||||
'captcha_1': 'PASSED'
|
||||
})
|
||||
response = c.post(reverse('core:login'), {'username': 'gcarlier', 'password': 'guy'})
|
||||
c.post(
|
||||
reverse("core:register"),
|
||||
{
|
||||
"first_name": "Guy",
|
||||
"last_name": "Carlier",
|
||||
"email": "bibou@git.an",
|
||||
"date_of_birth": "12/6/1942",
|
||||
"password1": "plop",
|
||||
"password2": "plop",
|
||||
"captcha_0": "dummy-value",
|
||||
"captcha_1": "PASSED",
|
||||
},
|
||||
)
|
||||
response = c.post(
|
||||
reverse("core:login"), {"username": "gcarlier", "password": "guy"}
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue("""<p>Votre nom d\\'utilisateur et votre mot de passe ne correspondent pas. Merci de r\\xc3\\xa9essayer.</p>""" in str(response.content))
|
||||
self.assertTrue(
|
||||
"""<p>Votre nom d\\'utilisateur et votre mot de passe ne correspondent pas. Merci de r\\xc3\\xa9essayer.</p>"""
|
||||
in str(response.content)
|
||||
)
|
||||
|
||||
|
||||
class MarkdownTest(TestCase):
|
||||
def test_full_markdown_syntax(self):
|
||||
root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
with open(os.path.join(root_path) + '/doc/SYNTAX.md', 'r') as md_file:
|
||||
with open(os.path.join(root_path) + "/doc/SYNTAX.md", "r") as md_file:
|
||||
md = md_file.read()
|
||||
with open(os.path.join(root_path) + '/doc/SYNTAX.html', 'r') as html_file:
|
||||
with open(os.path.join(root_path) + "/doc/SYNTAX.html", "r") as html_file:
|
||||
html = html_file.read()
|
||||
result = markdown(md)
|
||||
self.assertTrue(result == html)
|
||||
|
||||
|
||||
class PageHandlingTest(TestCase):
|
||||
def setUp(self):
|
||||
try:
|
||||
Group.objects.create(name="root")
|
||||
u = User(username='root', last_name="", first_name="Bibou",
|
||||
email="ae.info@utbm.fr",
|
||||
date_of_birth="1942-06-12",
|
||||
is_superuser=True, is_staff=True)
|
||||
u = User(
|
||||
username="root",
|
||||
last_name="",
|
||||
first_name="Bibou",
|
||||
email="ae.info@utbm.fr",
|
||||
date_of_birth="1942-06-12",
|
||||
is_superuser=True,
|
||||
is_staff=True,
|
||||
)
|
||||
u.set_password("plop")
|
||||
u.save()
|
||||
self.client.login(username='root', password='plop')
|
||||
self.client.login(username="root", password="plop")
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
@ -253,12 +311,10 @@ class PageHandlingTest(TestCase):
|
||||
"""
|
||||
Should create a page correctly
|
||||
"""
|
||||
self.client.post(reverse('core:page_new'), {
|
||||
'parent': '',
|
||||
'name': 'guy',
|
||||
'owner_group': 1,
|
||||
})
|
||||
response = self.client.get(reverse('core:page', kwargs={'page_name': 'guy'}))
|
||||
self.client.post(
|
||||
reverse("core:page_new"), {"parent": "", "name": "guy", "owner_group": 1}
|
||||
)
|
||||
response = self.client.get(reverse("core:page", kwargs={"page_name": "guy"}))
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('<a href="/page/guy/hist">' in str(response.content))
|
||||
|
||||
@ -266,17 +322,16 @@ class PageHandlingTest(TestCase):
|
||||
"""
|
||||
Should create a page correctly
|
||||
"""
|
||||
self.client.post(reverse('core:page_new'), {
|
||||
'parent': '',
|
||||
'name': 'guy',
|
||||
'owner_group': '1',
|
||||
})
|
||||
response = self.client.post(reverse('core:page_new'), {
|
||||
'parent': '1',
|
||||
'name': 'bibou',
|
||||
'owner_group': '1',
|
||||
})
|
||||
response = self.client.get(reverse('core:page', kwargs={'page_name': 'guy/bibou'}))
|
||||
self.client.post(
|
||||
reverse("core:page_new"), {"parent": "", "name": "guy", "owner_group": "1"}
|
||||
)
|
||||
response = self.client.post(
|
||||
reverse("core:page_new"),
|
||||
{"parent": "1", "name": "bibou", "owner_group": "1"},
|
||||
)
|
||||
response = self.client.get(
|
||||
reverse("core:page", kwargs={"page_name": "guy/bibou"})
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('<a href="/page/guy/bibou/">' in str(response.content))
|
||||
|
||||
@ -286,17 +341,24 @@ class PageHandlingTest(TestCase):
|
||||
"""
|
||||
parent = Page(name="guy", owner_group=Group.objects.filter(id=1).first())
|
||||
parent.save(force_lock=True)
|
||||
page = Page(name="bibou", owner_group=Group.objects.filter(id=1).first(), parent=parent)
|
||||
page = Page(
|
||||
name="bibou", owner_group=Group.objects.filter(id=1).first(), parent=parent
|
||||
)
|
||||
page.save(force_lock=True)
|
||||
response = self.client.get(reverse('core:page', kwargs={'page_name': 'guy/bibou'}))
|
||||
response = self.client.get(
|
||||
reverse("core:page", kwargs={"page_name": "guy/bibou"})
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('<a href="/page/guy/bibou/edit">\\xc3\\x89diter</a>' in str(response.content))
|
||||
self.assertTrue(
|
||||
'<a href="/page/guy/bibou/edit">\\xc3\\x89diter</a>'
|
||||
in str(response.content)
|
||||
)
|
||||
|
||||
def test_access_page_not_found(self):
|
||||
"""
|
||||
Should not display a page correctly
|
||||
"""
|
||||
response = self.client.get(reverse('core:page', kwargs={'page_name': 'swagg'}))
|
||||
response = self.client.get(reverse("core:page", kwargs={"page_name": "swagg"}))
|
||||
response = self.client.get("/page/swagg/")
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('<a href="/page/create?page=swagg">' in str(response.content))
|
||||
@ -305,15 +367,14 @@ class PageHandlingTest(TestCase):
|
||||
"""
|
||||
Should format the markdown and escape html correctly
|
||||
"""
|
||||
self.client.post(reverse('core:page_new'), {
|
||||
'parent': '',
|
||||
'name': 'guy',
|
||||
'owner_group': '1',
|
||||
})
|
||||
self.client.post(reverse('core:page_edit', kwargs={'page_name': 'guy'}), {
|
||||
'title': 'Bibou',
|
||||
'content':
|
||||
'''Guy *bibou*
|
||||
self.client.post(
|
||||
reverse("core:page_new"), {"parent": "", "name": "guy", "owner_group": "1"}
|
||||
)
|
||||
self.client.post(
|
||||
reverse("core:page_edit", kwargs={"page_name": "guy"}),
|
||||
{
|
||||
"title": "Bibou",
|
||||
"content": """Guy *bibou*
|
||||
|
||||
http://git.an
|
||||
|
||||
@ -322,13 +383,18 @@ http://git.an
|
||||
<guy>Bibou</guy>
|
||||
|
||||
<script>alert('Guy');</script>
|
||||
''',
|
||||
})
|
||||
response = self.client.get(reverse('core:page', kwargs={'page_name': 'guy'}))
|
||||
""",
|
||||
},
|
||||
)
|
||||
response = self.client.get(reverse("core:page", kwargs={"page_name": "guy"}))
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue('<p>Guy <em>bibou</em></p>\\n<p><a href="http://git.an">http://git.an</a></p>\\n' +
|
||||
'<h1>Swag</h1>\\n<guy>Bibou</guy>' +
|
||||
"<script>alert(\\'Guy\\');</script>" in str(response.content))
|
||||
self.assertTrue(
|
||||
'<p>Guy <em>bibou</em></p>\\n<p><a href="http://git.an">http://git.an</a></p>\\n'
|
||||
+ "<h1>Swag</h1>\\n<guy>Bibou</guy>"
|
||||
+ "<script>alert(\\'Guy\\');</script>"
|
||||
in str(response.content)
|
||||
)
|
||||
|
||||
|
||||
# TODO: many tests on the pages:
|
||||
# - renaming a page
|
||||
@ -341,23 +407,33 @@ class FileHandlingTest(TestCase):
|
||||
try:
|
||||
call_command("populate")
|
||||
self.subscriber = User.objects.filter(username="subscriber").first()
|
||||
self.client.login(username='subscriber', password='plop')
|
||||
self.client.login(username="subscriber", password="plop")
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
def test_create_folder_home(self):
|
||||
response = self.client.post(reverse("core:file_detail", kwargs={"file_id": self.subscriber.home.id}),
|
||||
{"folder_name": "GUY_folder_test"})
|
||||
response = self.client.post(
|
||||
reverse("core:file_detail", kwargs={"file_id": self.subscriber.home.id}),
|
||||
{"folder_name": "GUY_folder_test"},
|
||||
)
|
||||
self.assertTrue(response.status_code == 302)
|
||||
response = self.client.get(reverse("core:file_detail", kwargs={"file_id": self.subscriber.home.id}))
|
||||
response = self.client.get(
|
||||
reverse("core:file_detail", kwargs={"file_id": self.subscriber.home.id})
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue("GUY_folder_test</a>" in str(response.content))
|
||||
|
||||
def test_upload_file_home(self):
|
||||
with open("/bin/ls", "rb") as f:
|
||||
response = self.client.post(reverse("core:file_detail", kwargs={"file_id": self.subscriber.home.id}),
|
||||
{"file_field": f})
|
||||
response = self.client.post(
|
||||
reverse(
|
||||
"core:file_detail", kwargs={"file_id": self.subscriber.home.id}
|
||||
),
|
||||
{"file_field": f},
|
||||
)
|
||||
self.assertTrue(response.status_code == 302)
|
||||
response = self.client.get(reverse("core:file_detail", kwargs={"file_id": self.subscriber.home.id}))
|
||||
response = self.client.get(
|
||||
reverse("core:file_detail", kwargs={"file_id": self.subscriber.home.id})
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue("ls</a>" in str(response.content))
|
||||
|
Reference in New Issue
Block a user