Example #1
0
class TestUser(unittest.TestCase):
    @staticmethod
    def setUpClass():
        os.environ[CONST.ENV_LIGHT_DB_HOST] = '127.0.0.1'
        os.environ[CONST.ENV_LIGHT_DB_PORT] = '57017'
        os.environ[CONST.ENV_LIGHT_DB_USER] = 'light'
        os.environ[CONST.ENV_LIGHT_DB_PASS] = '2e35501c2b7e'

        Cache(CONST.SYSTEM_DB).init()

    def setUp(self):
        self.handler = Context(uid='000000000000000000000001',
                               domain='LightDB',
                               code='light',
                               param={})
        self.handler.set_code(Const.DEFAULT_TENANT)
        self.rider = Rider.instance()

    def test_verify(self):
        user = User()

        self.handler.params.id = 'admin'
        self.handler.params.password = '******'
        u, e = user.verify(self.handler)

        self.assertIsNone(e)
        self.assertIsNotNone(u)
Example #2
0
 def setUp(self):
     self.handler = Context(uid='000000000000000000000001',
                            domain='LightDB',
                            code='light',
                            param={})
     self.handler.set_code(Const.DEFAULT_TENANT)
     self.rider = Rider.instance()
Example #3
0
class TestUser(unittest.TestCase):
    @staticmethod
    def setUpClass():
        os.environ[CONST.ENV_LIGHT_DB_HOST] = '127.0.0.1'
        os.environ[CONST.ENV_LIGHT_DB_PORT] = '57017'
        os.environ[CONST.ENV_LIGHT_DB_USER] = 'light'
        os.environ[CONST.ENV_LIGHT_DB_PASS] = '2e35501c2b7e'

        Cache(CONST.SYSTEM_DB).init()

    def setUp(self):
        self.handler = Context(
            uid='000000000000000000000001',
            domain='LightDB',
            code='light',
            param={}
        )
        self.handler.set_code(Const.DEFAULT_TENANT)
        self.rider = Rider.instance()

    def test_verify(self):
        user = User()

        self.handler.params.id = 'admin'
        self.handler.params.password = '******'
        u, e = user.verify(self.handler)

        self.assertIsNone(e)
        self.assertIsNotNone(u)
Example #4
0
    def setUp(self):

        os.environ[CONST.ENV_LIGHT_DB_HOST] = 'db.alphabets.cn'
        os.environ[CONST.ENV_LIGHT_DB_PORT] = '57017'
        os.environ[CONST.ENV_LIGHT_DB_USER] = 'light'
        os.environ[CONST.ENV_LIGHT_DB_PASS] = '2e35501c2b7e'

        self.handler = Context(uid='000000000000000000000001',
                               domain='LightDB',
                               code='light',
                               param={'data': {}})
        self.validator = Validator(self.handler)
        self.validation = [{
            'group': 'number_test',
            'name': 'a1',
            'rule': 'is_number',
            'key': 'data.age',
            'message': 'a1 not correct',
            'option': []
        }, {
            'group': 'unique_test',
            'name': 'be49d0f4',
            'rule': 'is_unique',
            'key': 'data.id',
            'option': {
                'table': 'user',
                'condition': {
                    'id': 'sloan'
                }
            },
            'message': '用户名已经存在'
        }]
Example #5
0
 def setUp(self):
     self.handler = Context(
         uid='000000000000000000000001',
         domain='LightDB',
         code='light',
         param={}
     )
     self.handler.set_code(Const.DEFAULT_TENANT)
     self.rider = Rider.instance()
Example #6
0
    def func(**kwargs):
        handler = Context()
        handler.extend_params(kwargs)

        data = dict()
        data['req'] = flask.request
        data['handler'] = handler
        data['user'] = handler.user
        data['conf'] = Config()
        data['environ'] = os.environ
        data['dynamic'] = func_dynamic
        data['csrftoken'] = flask.g.csrftoken
        data['i'] = I18n.instance().i
        data['catalog'] = I18n.instance().catalog

        if clazz:
            data['data'] = getattr(clazz, action)(handler)

        return light.helper.load_template(template).render(data)
Example #7
0
    def func(**kwargs):
        handler = Context()
        handler.extend_params(kwargs)

        data = dict()
        data['req'] = flask.request
        data['handler'] = handler
        data['user'] = handler.user
        data['conf'] = Config()
        data['environ'] = os.environ
        data['dynamic'] = func_dynamic
        data['csrftoken'] = flask.g.csrftoken
        data['i'] = I18n.instance().i
        data['catalog'] = I18n.instance().catalog

        if clazz:
            data['data'] = getattr(clazz, action)(handler)

        return light.helper.load_template(template).render(data)
Example #8
0
    def test_by_manually(self):
        handler = Context('1', 'LightDB', 'light', {})

        self.assertEqual(handler.uid, '1')
        self.assertEqual(handler.domain, 'LightDB')
        self.assertEqual(handler.code, 'light')

        handler.add_params('id', '1')
        self.assertEqual(handler.params.id, '1')

        handler.extend_params({'key': '2'})
        self.assertEqual(handler.params.id, '1')
        self.assertEqual(handler.params.key, '2')

        handler.remove_params('key')
        self.assertEqual(handler.params.id, '1')
        self.assertIsNone(handler.params.key)
Example #9
0
 def setUp(self):
     self.handler = Context(uid='000000000000000000000001', domain='LightDB', code='light', param={'data': {}})
     self.board = {
         'class': 'test',
         'sorts': [
             {
                 'index': 0,
                 'key': 'schema',
                 'order': 'asc'
             },
             {
                 'index': 1,
                 'key': 'api',
                 'order': 'asc'
             }
         ]
     }
Example #10
0
    def test_by_manually(self):
        handler = Context('1', 'LightDB', 'light', {})

        self.assertEqual(handler.uid, '1')
        self.assertEqual(handler.domain, 'LightDB')
        self.assertEqual(handler.code, 'light')

        handler.add_params('id', '1')
        self.assertEqual(handler.params.id, '1')

        handler.extend_params({'key': '2'})
        self.assertEqual(handler.params.id, '1')
        self.assertEqual(handler.params.key, '2')

        handler.remove_params('key')
        self.assertEqual(handler.params.id, '1')
        self.assertIsNone(handler.params.key)
Example #11
0
    def setUp(self):
        os.environ[CONST.ENV_LIGHT_DB_HOST] = 'localhost'
        os.environ[CONST.ENV_LIGHT_DB_PORT] = '27017'
        # os.environ[CONST.ENV_LIGHT_DB_HOST] = 'db.alphabets.cn'
        # os.environ[CONST.ENV_LIGHT_DB_PORT] = '57017'
        # os.environ[CONST.ENV_LIGHT_DB_USER] = 'light'
        # os.environ[CONST.ENV_LIGHT_DB_PASS] = '2e35501c2b7e'

        self.handler = Context(uid='000000000000000000000001',
                               domain='LightDBII',
                               code='light',
                               param={'data': {}})
        self.validator = Validator(self.handler)
        self.validation = [{
            'group': 'number_test',
            'name': 'a1',
            'rule': 'is_number',
            'prerule': ['to_number', 'trim'],
            'key': 'data.age',
            'message': 'number not correct',
            'option': []
        }, {
            'group': 'date_test',
            'name': 'b',
            'rule': 'is_date',
            'prerule': ['to_date'],
            'key': 'data.date',
            'message': 'date not correct',
            'option': []
        }, {
            'group': 'boolean_test',
            'name': 'bt',
            'rule': 'is_boolean',
            'prerule': ['to_boolean'],
            'key': 'data.boolean',
            'message': 'boolean not correct',
            'option': []
        }, {
            'group': 'contains_test',
            'name': 'c',
            'rule': 'contains',
            'prerule': [],
            'key': 'data.list',
            'option': ['1', '2', '3'],
            'message': '[\'1\', \'2\', \'3\'] not contains',
        }, {
            'group': 'email_test',
            'name': 'd',
            'rule': 'is_email',
            'prerule': [],
            'key': 'data.email',
            'message': 'email not correct',
            'option': []
        }, {
            'group': 'url_test',
            'name': 'e',
            'rule': 'is_url',
            'prerule': [],
            'key': 'data.url',
            'message': 'url not correct',
            'option': []
        }, {
            'group': 'ip_test',
            'name': 'f',
            'rule': 'is_ip',
            'prerule': [],
            'key': 'data.ip',
            'option': '4',
            'message': 'ip not correct'
        }, {
            'group': 'json_test',
            'name': 'h',
            'rule': 'is_json',
            'prerule': [],
            'key': 'data.json',
            'message': 'json not correct',
            'option': []
        }, {
            'group': '/api/access/add',
            'name': 'be49d0f4',
            'rule': 'range',
            'prerule': [],
            'key': 'data.password',
            'option': ['4', '16'],
            'message': '密码长度需要在4-16位'
        }, {
            'group': 'exists_test',
            'name': 'cd49d0f4',
            'rule': 'is_exists',
            'prerule': [],
            'key': 'data.id',
            'option': {
                'table': 'user',
                'condition': {
                    'id': {
                        '$in': ['shen', 'luohao']
                    },
                    'email': '$data.email'
                }
            },
            'message': '值不存在表里'
        }, {
            'group': 'unique_test',
            'name': 'af49d0f4',
            'rule': 'is_unique',
            'prerule': [],
            'key': 'data.id',
            'option': {
                'table': 'user',
                'condition': {
                    'id': 'shen',
                    'email': '$data.email'
                }
            },
            'message': '用户名已经存在'
        }, {
            'group': 'required_test',
            'name': 'zx49d0f4',
            'rule': 'is_required',
            'prerule': [],
            'key': 'data.id',
            'option': '',
            'message': '这是必填字段'
        }]
Example #12
0
    def setUp(self):
        os.environ[CONST.ENV_LIGHT_DB_HOST] = 'localhost'
        os.environ[CONST.ENV_LIGHT_DB_PORT] = '27017'
        # os.environ[CONST.ENV_LIGHT_DB_HOST] = 'db.alphabets.cn'
        # os.environ[CONST.ENV_LIGHT_DB_PORT] = '57017'
        # os.environ[CONST.ENV_LIGHT_DB_USER] = 'light'
        # os.environ[CONST.ENV_LIGHT_DB_PASS] = '2e35501c2b7e'

        self.handler = Context(uid='000000000000000000000001',
                               domain='LightDBII',
                               code='light',
                               param={'data': {}})
        self.sanitizer = Sanitizer(self.handler)
        self.sanitization = [{
            'group': 'to_number_test',
            'name': 'a',
            'rule': 'to_number',
            'key': 'data.age',
            'message': 'input number error',
            'option': []
        }, {
            'group': 'to_date_test',
            'name': 'b',
            'rule': 'to_date',
            'key': 'data.date',
            'message': 'input date error',
            'option': []
        }, {
            'group': 'to_ltrim_test',
            'name': 'cl',
            'rule': 'ltrim',
            'key': 'data.ltrim',
            'message': 'input ltrim error',
            'option': []
        }, {
            'group': 'to_rtrim_test',
            'name': 'cr',
            'rule': 'rtrim',
            'key': 'data.rtrim',
            'message': 'input rtrim error',
            'option': []
        }, {
            'group': 'to_trim_test',
            'name': 'c',
            'rule': 'trim',
            'key': 'data.trim',
            'message': 'input trim error',
            'option': []
        }, {
            'group': 'to_escape_test',
            'name': 'd',
            'rule': 'escape',
            'key': 'data.escape',
            'message': 'input escape error',
            'option': []
        }, {
            'group': 'to_unescape_test',
            'name': 'e',
            'rule': 'unescape',
            'key': 'data.unescape',
            'message': 'input unescape error',
            'option': []
        }]
Example #13
0
 def func(**kwargs):
     handler = Context()
     handler.extend_params(kwargs)
     data, error = getattr(clazz, action)(handler)
     return response.send(handler, data, error)
Example #14
0
 def setUp(self):
     self.handler = Context(uid='000000000000000000000001',
                            domain='LightDB',
                            code='light')
     self.rider = Rider.instance()
Example #15
0
 def func(**kwargs):
     handler = Context()
     handler.extend_params(kwargs)
     data, error = getattr(clazz, action)(handler)
     return response.send(handler, data, error)