def validate_params(self):
        ParameterUtil.cast_parameter_to_int(self.params, self.get_schema())

        validate(self.params, self.get_schema())

        if self.params.get('topic'):
            DBUtil.validate_topic(self.dynamodb, self.params['topic'])
Exemplo n.º 2
0
    def test_cast_parameter_to_int(self):
        schema = {
            'properties': {
                'limit': {
                    'type': 'integer'
                },
                'article_id': {
                    'type': 'string'
                },
                'sort_key': {
                    'type': 'integer'
                }
            }
        }

        params = {
            'limit': '100',
            'article_id': '150',
            'sort_key': 'ALIS',
            'other_key': '150'
        }

        ParameterUtil.cast_parameter_to_int(params, schema)

        expected_params = {
            'limit': 100,
            'article_id': '150',
            'sort_key': 'ALIS',
            'other_key': '150'
        }

        self.assertEqual(params, expected_params)
    def validate_params(self):
        ParameterUtil.cast_parameter_to_int(self.params, self.get_schema())
        validate(self.params, self.get_schema())

        user_id = self.event['requestContext']['authorizer']['claims']['cognito:username']

        if not AuthleteUtil.is_accessible_client(self.params['client_id'], user_id):
            raise NoPermissionError('No permission on this resource')
    def test_validate_array_unique_ok_with_case_insensitive(self):
        target_items = ["FOO", "BAR", "BAZ"]

        try:
            ParameterUtil.validate_array_unique(target_items,
                                                'tags',
                                                case_insensitive=True)
        except ValidationError:
            self.fail('expected no error is raised')
Exemplo n.º 5
0
 def validate_params(self):
     ParameterUtil.cast_parameter_to_int(self.params, self.get_schema())
     UserUtil.verified_phone_and_email(self.event)
     validate(self.params, self.get_schema())
     DBUtil.validate_article_existence(
         self.dynamodb,
         self.event['pathParameters']['article_id'],
         user_id=self.event['requestContext']['authorizer']['claims']
         ['cognito:username'])
 def validate_params(self):
     ParameterUtil.cast_parameter_to_int(self.params, self.get_schema())
     validate(self.params, self.get_schema())
     self.params['start'] = self.params.get('start', 0)
     self.params['end'] = self.params.get('end', 5)
     count = self.params['end'] - self.params['start']
     if count > 100:
         raise ValidationError('displayed items are over 100')
     if count < 1:
         raise ValidationError('displayed items are less than 1')
Exemplo n.º 7
0
    def validate_params(self):
        params = self.event.get('pathParameters')

        if params is None:
            raise ValidationError('pathParameters is required')

        if self.event.get('queryStringParameters') is not None:
            params.update(self.event.get('queryStringParameters'))
        ParameterUtil.cast_parameter_to_int(params, self.get_schema())

        validate(params, self.get_schema())
Exemplo n.º 8
0
    def validate_params(self):
        validate(self.params, self.get_schema())

        if self.params.get('tags'):
            ParameterUtil.validate_array_unique(self.params['tags'],
                                                'tags',
                                                case_insensitive=True)
            TagUtil.validate_format(self.params['tags'])

        DBUtil.validate_article_existence(
            self.dynamodb,
            self.params['article_id'],
            user_id=self.event['requestContext']['authorizer']['claims']
            ['cognito:username'],
            status='draft')

        DBUtil.validate_topic(self.dynamodb, self.params['topic'])
    def validate_params(self):
        if self.event.get('pathParameters') is None:
            raise ValidationError('pathParameters is required')

        validate(self.params, self.get_schema())

        if self.params.get('tags'):
            ParameterUtil.validate_array_unique(self.params['tags'], 'tags', case_insensitive=True)
            TagUtil.validate_format(self.params['tags'])

        DBUtil.validate_article_existence(
            self.dynamodb,
            self.params['article_id'],
            user_id=self.event['requestContext']['authorizer']['claims']['cognito:username'],
            status='public'
        )

        DBUtil.validate_topic(self.dynamodb, self.params['topic'])
    def validate_params(self):
        UserUtil.verified_phone_and_email(self.event)
        if self.event['requestContext']['authorizer']['claims'].get(
                'custom:private_eth_address') is None:
            raise ValidationError('not exists private_eth_address')

        validate(self.params, self.get_schema())

        if self.params.get('tags'):
            ParameterUtil.validate_array_unique(self.params['tags'],
                                                'tags',
                                                case_insensitive=True)
            TagUtil.validate_format(self.params['tags'])

        DBUtil.validate_article_existence(
            self.dynamodb,
            self.params['article_id'],
            user_id=self.event['requestContext']['authorizer']['claims']
            ['cognito:username'],
            status='draft')

        DBUtil.validate_topic(self.dynamodb, self.params['topic'])
 def test_validate_price_through(self):
     price = 1 * (10**18)
     self.assertTrue(ParameterUtil.validate_price_params(price))
 def test_validate_price_params_ng_decimal(self):
     price = 1 * (10**18) + 1 * (10**17)
     with self.assertRaises(ValidationError):
         ParameterUtil.validate_price_params(price)
 def test_validate_price_params_ng_string(self):
     price = 'AAAA'
     with self.assertRaises(ValidationError):
         ParameterUtil.validate_price_params(price)
    def test_validate_array_unique_with_not_unique(self):
        target_items = ["FOO", "BAR", "FOO"]

        with self.assertRaises(ValidationError):
            ParameterUtil.validate_array_unique(target_items, 'tags')
Exemplo n.º 15
0
    def test_validate_array_unique_with_not_unique_case_insensitive(self):
        target_items = ["FOO", "BAR", "foo"]

        with self.assertRaises(ValidationError):
            ParameterUtil.validate_array_unique(target_items, 'tags', case_insensitive=True)
Exemplo n.º 16
0
 def validate_params(self):
     ParameterUtil.cast_parameter_to_int(self.params, self.get_schema())
     self.params['tags'] = self.event[
         'multiValueQueryStringParameters'].get('tags')
     validate(self.params, self.get_schema())
Exemplo n.º 17
0
    def validate_params(self):
        ParameterUtil.cast_parameter_to_int(self.params, self.get_schema())

        validate(self.params, self.get_schema())
Exemplo n.º 18
0
 def validate_params(self):
     UserUtil.verified_phone_and_email(self.event)
     ParameterUtil.cast_parameter_to_int(self.params, self.get_schema())
     validate(self.params, self.get_schema())