def validate_params(self): UserUtil.verified_phone_and_email(self.event) # check price type is integer or decimal ParameterUtil.validate_price_params(self.params.get('price')) if self.params.get('price') is not None: self.params['price'] = int(self.params['price']) validate(self.params, self.get_schema()) if self.params.get('eye_catch_url'): TextSanitizer.validate_img_url(self.params.get('eye_catch_url')) 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', version=2) DBUtil.validate_topic(self.dynamodb, self.params['topic']) DBUtil.validate_exists_title_and_body(self.dynamodb, self.params['article_id'])
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)