From cc3f28ed63e842b311ae95ec3228a8e9dbb7c425 Mon Sep 17 00:00:00 2001 From: LV-426 Date: Fri, 8 May 2015 22:13:56 +0300 Subject: test_rz_user: test domain/address signup ACLs --- src/server-tests/test_rz_user.py | 56 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/server-tests/test_rz_user.py (limited to 'src/server-tests') diff --git a/src/server-tests/test_rz_user.py b/src/server-tests/test_rz_user.py new file mode 100644 index 00000000..0ad70063 --- /dev/null +++ b/src/server-tests/test_rz_user.py @@ -0,0 +1,56 @@ +import json +import logging +import unittest + +from rz_config import RZ_Config +from rz_server import FlaskExt, init_webapp +from rz_user import rest__user_signup, User_Signup_Request +from test_util import gen_random_name +from test_util__pydev import debug__pydev_pd_arg + + +log = logging.getLogger('rhizi') + +class Test_RZ_User(unittest.TestCase): + + @classmethod + def setUpClass(self): + cfg = RZ_Config.generate_default() + webapp = init_webapp(cfg, None) + webapp.testing = True + self.webapp = webapp + + def setUp(self): + pass + + def test_user_signup__acl_domain(self): + + self.webapp.rz_config.access_control = True + self.webapp.rz_config.mta_port = 50000 # prevent accidental email sending + self.webapp.rz_config.acl_wl__email_domain_set = 'a.org, b.org' + self.webapp.rz_config.acl_wl__email_address_set_cached = ['alice@foo.bar', 'alice@zoo.bar'] # hack: acl_wl__email_address_set_cached attribute access + + us_req = self.gen_random_user_signup() + with self.webapp.test_client() as test_client: + for email_address, expected_status_code in [('bob@a.org', 500), # FIXME: use 200, 500 caused by mta_port hack + ('bob@b.org', 500), # FIXME: use 200, 500 caused by mta_port hack + ('alice@foo.bar', 500), + ('bob@c.org', 400)]: + + us_req['email_address'] = email_address + req = test_client.post('/signup', + content_type='application/json', + data=json.dumps(us_req)) + + req_data = json.loads(req.data) + self.assertEqual(expected_status_code, req.status_code, req_data) + + def tearDown(self): + pass + +@debug__pydev_pd_arg +def main(): + unittest.main(defaultTest='Test_RZ_User.test_user_signup__acl_domain', verbosity=2) + +if __name__ == "__main__": + main() -- cgit v1.3.1