From 050e641bb0dd8820b758efaeb348bbd35b49f251 Mon Sep 17 00:00:00 2001 From: cookietime--yay <cookietime--yay@users.noreply.github.com> Date: Mon, 4 Mar 2019 18:49:12 +0100 Subject: [PATCH] Add initial tests for Web Interface. --- tests/WebApplicationTest.py | 26 ++++++++++++ tests/db.sqlite | Bin 0 -> 180224 bytes tests/errors.log | 77 ++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 tests/WebApplicationTest.py create mode 100644 tests/db.sqlite create mode 100644 tests/errors.log diff --git a/tests/WebApplicationTest.py b/tests/WebApplicationTest.py new file mode 100644 index 0000000..cc48076 --- /dev/null +++ b/tests/WebApplicationTest.py @@ -0,0 +1,26 @@ +from webtest import TestApp +import unittest +from ticketfrei import frontend + +class TestLogin(unittest.TestCase): + + def test_login_not_registered(self): + app = TestApp(frontend.application) + request = app.post('/login', {'email': 'foo@abc.de', 'pass': 'bar'}, expect_errors=True) + self.assertEqual(request.status_code, 401) + +class TestRegister(unittest.TestCase): + + def test_register(self): + app = TestApp(frontend.application) + request = app.post('/register', {'email': 'foo@abc.de', 'pass': 'bar', 'pass-repeat': 'bar', 'city': 'testcity'}, expect_errors=True) + self.assertEqual(request.status_code, 201) + + def test_getRoot(self): + app = TestApp(frontend.application) + request = app.get('/') + self.assertEqual(request.status_code, 200) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/db.sqlite b/tests/db.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..8e9d3f273ff4b477f13a9ed97b12ffbcf820f5f4 GIT binary patch literal 180224 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 literal 0 HcmV?d00001 diff --git a/tests/errors.log b/tests/errors.log new file mode 100644 index 0000000..5239b00 --- /dev/null +++ b/tests/errors.log @@ -0,0 +1,77 @@ +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode' +Could not send confirmation mail to foo@abc.de +Traceback (most recent call last): + File "/home/kaese/Projekte/ticketfrei/ticketfrei/frontend.py", line 42, in register_post + link = url('confirm/' + city + '/%s' % db.user_token(email, password)) + File "/home/kaese/Projekte/ticketfrei/ticketfrei/db.py", line 186, in user_token + return jwt.encode({ +AttributeError: module 'jwt' has no attribute 'encode'