diff --git a/gluon/tests/test_tools.py b/gluon/tests/test_tools.py index d1c9e527..87e75c9d 100644 --- a/gluon/tests/test_tools.py +++ b/gluon/tests/test_tools.py @@ -30,58 +30,6 @@ python_version = sys.version[:3] IS_IMAP = "imap" in DEFAULT_URI -@unittest.skipIf(IS_IMAP, "TODO: Imap raises 'Connection refused'") -class TestAuth(unittest.TestCase): - - def testRun(self): - # setup - request = Request(env={}) - request.application = 'a' - request.controller = 'c' - request.function = 'f' - request.folder = 'applications/admin' - response = Response() - session = Session() - T = translator('', 'en') - session.connect(request, response) - from gluon.globals import current - current.request = request - current.response = response - current.session = session - current.T = T - db = DAL(DEFAULT_URI, check_reserved=['all']) - auth = Auth(db) - auth.define_tables(username=True, signature=False) - self.assertTrue('auth_user' in db) - self.assertTrue('auth_group' in db) - self.assertTrue('auth_membership' in db) - self.assertTrue('auth_permission' in db) - self.assertTrue('auth_event' in db) - db.define_table('t0', Field('tt'), auth.signature) - auth.enable_record_versioning(db) - self.assertTrue('t0_archive' in db) - for f in ['login', 'register', 'retrieve_password', - 'retrieve_username']: - html_form = getattr(auth, f)().xml() - self.assertTrue('name="_formkey"' in html_form) - - for f in ['logout', 'verify_email', 'reset_password', - 'change_password', 'profile', 'groups']: - self.assertRaisesRegexp(HTTP, "303*", getattr(auth, f)) - - self.assertRaisesRegexp(HTTP, "401*", auth.impersonate) - - try: - for t in ['t0_archive', 't0', 'auth_cas', 'auth_event', - 'auth_membership', 'auth_permission', 'auth_group', - 'auth_user']: - db[t].drop() - except SyntaxError as e: - # GAE doesn't support drop - pass - return - - class TestMail(unittest.TestCase): """ Test the Mail class. @@ -213,5 +161,89 @@ class TestMail(unittest.TestCase): message='world')) TestMail.DummySMTP.inbox.pop() + +# TODO class TestRecaptcha(unittest.TestCase): + + +# TODO class TestRecaptcha2(unittest.TestCase): + + +# TODO: class TestAuthJWT(unittest.TestCase): + + +@unittest.skipIf(IS_IMAP, "TODO: Imap raises 'Connection refused'") +class TestAuth(unittest.TestCase): + + def testRun(self): + # setup + request = Request(env={}) + request.application = 'a' + request.controller = 'c' + request.function = 'f' + request.folder = 'applications/admin' + response = Response() + session = Session() + T = translator('', 'en') + session.connect(request, response) + from gluon.globals import current + current.request = request + current.response = response + current.session = session + current.T = T + db = DAL(DEFAULT_URI, check_reserved=['all']) + auth = Auth(db) + auth.define_tables(username=True, signature=False) + self.assertTrue('auth_user' in db) + self.assertTrue('auth_group' in db) + self.assertTrue('auth_membership' in db) + self.assertTrue('auth_permission' in db) + self.assertTrue('auth_event' in db) + db.define_table('t0', Field('tt'), auth.signature) + auth.enable_record_versioning(db) + self.assertTrue('t0_archive' in db) + for f in ['login', 'register', 'retrieve_password', + 'retrieve_username']: + html_form = getattr(auth, f)().xml() + self.assertTrue('name="_formkey"' in html_form) + + for f in ['logout', 'verify_email', 'reset_password', + 'change_password', 'profile', 'groups']: + self.assertRaisesRegexp(HTTP, "303*", getattr(auth, f)) + + self.assertRaisesRegexp(HTTP, "401*", auth.impersonate) + + try: + for t in ['t0_archive', 't0', 'auth_cas', 'auth_event', + 'auth_membership', 'auth_permission', 'auth_group', + 'auth_user']: + db[t].drop() + except SyntaxError as e: + # GAE doesn't support drop + pass + return + + +# TODO: class TestCrud(unittest.TestCase): +# It deprecated so far from a priority + + +# TODO: class TestService(unittest.TestCase): + + +# TODO: class TestPluginManager(unittest.TestCase): + + +# TODO: class TestExpose(unittest.TestCase): + + +# TODO: class TestWiki(unittest.TestCase): + + +# TODO: class TestConfig(unittest.TestCase): + + +# TODO: class TestToolsFunctions(unittest.TestCase): +# For all the tools.py functions + if __name__ == '__main__': unittest.main()