Example #1
0
 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")
Example #2
0
 def test_valid_value_exclude(self, value):
     email = inputs.email(exclude=("somewhere.com", "foo.bar"))
     assert email(value) == value
Example #3
0
 def test_valid_value_ip_and_local(self, value):
     email = inputs.email(ip=True, local=True)
     assert email(value) == value
Example #4
0
 def test_valid_value_domains(self, value):
     email = inputs.email(domains=("gmail.com", "cmoi.fr"))
     assert email(value) == value
Example #5
0
 def test_valid_value_local(self, value):
     email = inputs.email(local=True)
     assert email(value) == value
Example #6
0
 def test_invalid_value_local(self, value):
     email = inputs.email(local=True)
     self.assert_bad_email(email, value)
Example #7
0
 def test_valid_value_ip(self, value):
     email = inputs.email(ip=True)
     assert email(value) == value
Example #8
0
                                  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)
Example #9
0
 def test_valid_value_check(self, value):
     email = inputs.email(check=True)
     assert email(value) == value
Example #10
0
 def test_invalid_values_check(self, value):
     email = inputs.email(check=True)
     self.assert_bad_email(email, value)
Example #11
0
 def test_invalid_value_default(self, value):
     self.assert_bad_email(inputs.email(), value)
Example #12
0
 def test_valid_value_default(self, value):
     validator = inputs.email()
     assert validator(value) == value
Example #13
0
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")
Example #14
0
 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")
Example #15
0
 def test_invalid_value_ip(self, value):
     email = inputs.email(ip=True)
     self.assert_bad_email(email, value)
Example #16
0
 def test_bad_email(self, value):
     email = inputs.email()
     self.assert_bad_email(email, value)
Example #17
0
"""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)