def test_invalid_value_domains(self, value): email = inputs.email(domains=("gmail.com", "cmoi.fr")) self.assert_bad_email(email, value, "{0} does not belong to the authorized domains")
def test_valid_value_exclude(self, value): email = inputs.email(exclude=("somewhere.com", "foo.bar")) assert email(value) == value
def test_valid_value_ip_and_local(self, value): email = inputs.email(ip=True, local=True) assert email(value) == value
def test_valid_value_domains(self, value): email = inputs.email(domains=("gmail.com", "cmoi.fr")) assert email(value) == value
def test_valid_value_local(self, value): email = inputs.email(local=True) assert email(value) == value
def test_invalid_value_local(self, value): email = inputs.email(local=True) self.assert_bad_email(email, value)
def test_valid_value_ip(self, value): email = inputs.email(ip=True) assert email(value) == value
default=10, help='Results per page') pagination_arguments.add_argument('category_id', type=int, required=False, default=None, help="Used to filter items by category. All other arguments will be ignored except for pagination arguments") pagination_arguments.add_argument('user_email', type=str, required=False, default=None, help='Used to select the items for a certain user') pagination_arguments.add_argument('freelancer_flag', type=inputs.boolean, required=False, default=False, help='Used to differentiate which items to select for user (items for employers or freelancers)') upload_parser = reqparse.RequestParser() upload_parser.add_argument('file', type=FileStorage, location='files', required=True) attachment_input = reqparse.RequestParser() attachment_input.add_argument('file_name', type=str, required=True) attachment_input.add_argument('file_type', type=str, choices=['.txt', '.zip', '.rar', '.png', '.jpg', '.jpeg'], required=True) attachment_input.add_argument('user_email', type=inputs.email(), required=True) attachment_input.add_argument('job_id', type=int, required=True) delivered_project_asset_input = reqparse.RequestParser() delivered_project_asset_input.add_argument('file_name', type=str, required=True) delivered_project_asset_input.add_argument('file_type', type=str, choices=['.txt', '.rar', '.tar', '.zip', '.png', '.jpg', '.jpeg'], required=True) delivered_project_asset_input.add_argument('employer_email', type=inputs.email(), required=True) delivered_project_asset_input.add_argument('project_id', type=int, required=True) delivered_project_asset_input.add_argument('job_id', type=int, required=True) delivered_project_asset_input.add_argument('message', type=str, required=True) asset_input = reqparse.RequestParser() asset_input.add_argument('file_name', type=str, required=True) asset_input.add_argument('file_type', type=str, choices=['.zip', '.rar', '.tar', '.png', '.jpg', '.jpeg'], required=True) asset_input.add_argument('asset_type', type=str, choices=['image', 'archive'], required=True)
def test_valid_value_check(self, value): email = inputs.email(check=True) assert email(value) == value
def test_invalid_values_check(self, value): email = inputs.email(check=True) self.assert_bad_email(email, value)
def test_invalid_value_default(self, value): self.assert_bad_email(inputs.email(), value)
def test_valid_value_default(self, value): validator = inputs.email() assert validator(value) == value
from flask_restx._http import HTTPStatus from flask_restx.inputs import email from flask_jwt_extended import jwt_required, current_user from application.models import User as UserModel from .api_models import pagination_model from .parsers import paging_parser # Namespace users_ns = Namespace("Users", description="Users endpoint", path="/users", decorators=[jwt_required]) # Parsers user_parser = reqparse.RequestParser() user_parser.add_argument("email", type=email(), location="json", store_missing=False, help="Email of a user") user_parser.add_argument("password", type=str, location="json", store_missing=False, help="Password of a user") user_parser.add_argument("first_name", type=str, location="json", store_missing=False, help="First name of a user") user_parser.add_argument("last_name", type=str, location="json", store_missing=False, help="Second name of a user") user_parser.add_argument("is_active", type=bool, location="json", default=True, store_missing=False, help="Active or disabled user") post_user_parser = user_parser.copy() post_user_parser.replace_argument("email", type=email(), location="json", required=True, help="Email of a user")
def test_invalid_value_exclude(self, value): email = inputs.email(exclude=("somewhere.com", "foo.bar")) self.assert_bad_email(email, value, "{0} belongs to a forbidden domain")
def test_invalid_value_ip(self, value): email = inputs.email(ip=True) self.assert_bad_email(email, value)
def test_bad_email(self, value): email = inputs.email() self.assert_bad_email(email, value)
"""Data Transfer Objects for Authentication""" from flask_restx.reqparse import RequestParser from flask_restx.inputs import email user_login_parser = RequestParser(bundle_errors=True) user_login_parser.add_argument("username", required=True, help="username cannot be blank", location='json', nullable=False) # TODO: Remove fieldS user_login_parser.add_argument("password", required=True, help="password cannot be blank", location='json', nullable=False) user_signup_parser = user_login_parser.copy() user_signup_parser.add_argument("name", required=True, help="name cannot be blank", location='json', nullable=False) user_signup_parser.add_argument("email", type=email(), required=True, help="email cannot be blank", location='json', nullable=False)