def insert(self): g2 = self._session.query(Group).filter( Group.group_name == "trusted-users").one() lawrence = User() lawrence.display_name = "Lawrence L." lawrence.email = "*****@*****.**" lawrence.password = "******" self._session.add(lawrence) g2.users.append(lawrence) bob = User() bob.display_name = "Bob i." bob.email = "*****@*****.**" bob.password = "******" self._session.add(bob) g2.users.append(bob) g1 = self._session.query(Group).filter( Group.group_name == "users").one() reader = User() reader.display_name = "John Reader" reader.email = "*****@*****.**" reader.password = "******" self._session.add(reader) g1.users.append(reader)
def insert(self): g2 = self._session.query(Group).\ filter(Group.group_name == 'trusted-users').one() lawrence = User() lawrence.display_name = 'Lawrence L.' lawrence.email = '*****@*****.**' lawrence.password = '******' self._session.add(lawrence) g2.users.append(lawrence) bob = User() bob.display_name = 'Bob i.' bob.email = '*****@*****.**' bob.password = '******' self._session.add(bob) g2.users.append(bob) g1 = self._session.query(Group).\ filter(Group.group_name == 'users').one() reader = User() reader.display_name = 'John Reader' reader.email = '*****@*****.**' reader.password = '******' self._session.add(reader) g1.users.append(reader)
def insert(self): g2 = self._session.query(Group).\ filter(Group.group_name == 'trusted-users').one() lawrence = User() lawrence.display_name = 'Lawrence L.' lawrence.email = '*****@*****.**' lawrence.password = '******' self._session.add(lawrence) g2.users.append(lawrence) bob = User() bob.display_name = 'Bob i.' bob.email = '*****@*****.**' bob.password = '******' self._session.add(bob) g2.users.append(bob) g1 = self._session.query(Group).\ filter(Group.group_name == 'users').one() reader = User() reader.display_name = 'John Reader' reader.email = '*****@*****.**' reader.password = '******' self._session.add(reader) g1.users.append(reader)
def insert(self): lawrence = User() lawrence.display_name = "Lawrence L." lawrence.email = "*****@*****.**" lawrence.password = "******" lawrence.profile = Profile.TRUSTED_USER lawrence.config = UserConfig() self._session.add(lawrence) bob = User() bob.display_name = "Bob i." bob.username = "******" bob.email = "*****@*****.**" bob.password = "******" bob.profile = Profile.TRUSTED_USER bob.config = UserConfig() self._session.add(bob) reader = User() reader.display_name = "John Reader" reader.email = "*****@*****.**" reader.password = "******" reader.profile = Profile.USER reader.config = UserConfig() self._session.add(reader)
def insert(self): u = User() u.display_name = "Global manager" u.email = "*****@*****.**" u.password = "******" u.profile = Profile.ADMIN self._session.add(u)
def insert(self): u = User() u.display_name = 'Global manager' u.email = '*****@*****.**' u.password = '******' self._session.add(u) uapi = UserApi(session=self._session, config=self._config, current_user=u) uapi.execute_created_user_actions(u) g1 = Group() g1.group_id = 1 g1.group_name = 'users' g1.display_name = 'Users' g1.users.append(u) self._session.add(g1) g2 = Group() g2.group_id = 2 g2.group_name = 'trusted-users' g2.display_name = 'Trusted Users' g2.users.append(u) self._session.add(g2) g3 = Group() g3.group_id = 3 g3.group_name = 'administrators' g3.display_name = 'Administrators' g3.users.append(u) self._session.add(g3)
def insert(self): u = User() u.display_name = "Global manager" u.email = "*****@*****.**" u.password = "******" self._session.add(u) g1 = Group() g1.group_id = 1 g1.group_name = "users" g1.display_name = "Users" g1.users.append(u) self._session.add(g1) g2 = Group() g2.group_id = 2 g2.group_name = "trusted-users" g2.display_name = "Trusted Users" g2.users.append(u) self._session.add(g2) g3 = Group() g3.group_id = 3 g3.group_name = "administrators" g3.display_name = "Administrators" g3.users.append(u) self._session.add(g3)
def insert(self): u = User() u.display_name = 'Global manager' u.email = '*****@*****.**' u.password = '******' self._session.add(u) uapi = UserApi( session=self._session, config=self._config, current_user=u) uapi.execute_created_user_actions(u) g1 = Group() g1.group_id = 1 g1.group_name = 'users' g1.display_name = 'Users' g1.users.append(u) self._session.add(g1) g2 = Group() g2.group_id = 2 g2.group_name = 'trusted-users' g2.display_name = 'Trusted Users' g2.users.append(u) self._session.add(g2) g3 = Group() g3.group_id = 3 g3.group_name = 'administrators' g3.display_name = 'Administrators' g3.users.append(u) self._session.add(g3)
def insert(self): u = User() u.display_name = "Global manager" u.username = "******" u.email = "*****@*****.**" u.password = "******" u.profile = Profile.ADMIN u.config = UserConfig() self._session.add(u)
def test_unit__create_minimal_user_and_set_email__ok__nominal_case(self): u = User() u.email = "bob@bob" u.password = "******" u.auth_type = AuthType.INTERNAL u.display_name = "bob" api = UserApi(current_user=u, session=self.session, config=self.app_config) assert u.email == "bob@bob" api.set_email(u, "pass", "newbobemail@bob") assert u is not None assert u.email == "newbobemail@bob"
def test_unit__validate_password__false__empty_password(self): """ Check if validate_password failed if not password """ name = 'Damien' email = '*****@*****.**' password = None user = User() user.display_name = name user.email = email user.password = password assert user.validate_password(password) is False assert user.validate_password('') is False
def test_unit__validate_password__false__bad_password(self): """ Check if validate_password can correctly check if password is an uncorrect correct one """ name = 'Damien' email = '*****@*****.**' password = '******' user = User() user.display_name = name user.email = email user.password = password assert user.validate_password('uncorrect_password') is False
def test_unit__validate_password__false__bad_password(self): """ Check if validate_password can correctly check if password is an uncorrect correct one """ name = 'Damien' email = '*****@*****.**' password = '******' user = User() user.display_name = name user.email = email user.password = password assert user.validate_password('uncorrect_password') is False
def test_unit__validate_password__false__empty_password(self): """ Check if validate_password failed if not password """ name = "Damien" email = "*****@*****.**" password = None user = User() user.display_name = name user.email = email user.password = password assert user.validate_password(password) is False assert user.validate_password("") is False
def test_unit__create_minimal_user_and_set_password__ok__nominal_case(self): u = User() u.email = 'bob@bob' u.password = '******' u.auth_type = AuthType.INTERNAL u.display_name = 'bob' api = UserApi( current_user=u, session=self.session, config=self.app_config, ) assert u.email == 'bob@bob' api.set_email(u,'pass','newbobemail@bob') assert u is not None assert u.email == 'newbobemail@bob'
def test_unit__validate_password__false__bad_password(self): """ Check if validate_password can correctly check if password is an uncorrect correct one """ name = "Damien" email = "*****@*****.**" password = "******" user = User() user.display_name = name user.email = email user.password = password assert user.validate_password("uncorrect_password") is False
def test_unit__create_minimal_user_and_set_password__ok__nominal_case( self, session, app_config ): u = User() u.email = "bob@bob" u.password = "******" u.auth_type = AuthType.INTERNAL u.display_name = "bob" api = UserApi(current_user=u, session=session, config=app_config) assert u.validate_password("pass") api.set_password(u, "pass", "newpass", "newpass") assert u is not None assert u.email == "bob@bob" assert u.display_name == "bob" assert u.validate_password("newpass") assert not u.validate_password("pass")
def test_unit__create_minimal_user_and_set_password__ok__nominal_case( self): u = User() u.email = 'bob@bob' u.password = '******' u.auth_type = AuthType.INTERNAL u.display_name = 'bob' api = UserApi( current_user=u, session=self.session, config=self.app_config, ) assert u.email == 'bob@bob' api.set_email(u, 'pass', 'newbobemail@bob') assert u is not None assert u.email == 'newbobemail@bob'
def test__unit__validate_password__ok__nominal_case(self): """ Check if validate_password can correctly check if password i the correct one """ name = "Damien" email = "*****@*****.**" password = "******" user = User() user.display_name = name user.email = email user.password = password assert user.validate_password(password) is True
def test__unit__validate_password__ok__nominal_case(self): """ Check if validate_password can correctly check if password i the correct one """ name = 'Damien' email = '*****@*****.**' password = '******' user = User() user.display_name = name user.email = email user.password = password assert user.validate_password(password) is True
def test_unit__password__ok__nominal_case(self, session): """ Check if password can be set and hashed password can be retrieve. Verify if hashed password is not same as password. """ name = "Damien" email = "*****@*****.**" password = "******" user = User() user.display_name = name user.email = email assert user._password is None user.password = password assert user._password is not None assert user._password != password assert user.password == user._password
def test_unit__password__ok__nominal_case(self): """ Check if password can be set and hashed password can be retrieve. Verify if hashed password is not same as password. """ name = 'Damien' email = '*****@*****.**' password = '******' user = User() user.display_name = name user.email = email assert user._password is None user.password = password assert user._password is not None assert user._password != password assert user.password == user._password
def update( self, user: User, name: str = None, email: str = None, password: str = None, timezone: str = None, lang: str = None, groups: typing.Optional[typing.List[Group]] = None, do_save=True, ) -> User: if name is not None: user.display_name = name if email is not None and email != user.email: self._check_email(email) user.email = email if password is not None: user.password = password if timezone is not None: user.timezone = timezone if lang is not None: user.lang = lang if groups is not None: if self._user and self._user == user: raise UserCantChangeIsOwnProfile( "User {} can't change is own profile".format(user.user_id)) # INFO - G.M - 2018-07-18 - Delete old groups for group in user.groups: if group not in groups: user.groups.remove(group) # INFO - G.M - 2018-07-18 - add new groups for group in groups: if group not in user.groups: user.groups.append(group) if do_save: self.save(user) return user
def update( self, user: User, name: str=None, email: str=None, password: str=None, timezone: str=None, lang: str=None, auth_type: AuthType = None, groups: typing.Optional[typing.List[Group]]=None, do_save=True, ) -> User: validator = TracimValidator() validator.add_validator('name', name, user_public_name_validator) validator.add_validator('password', password, user_password_validator) validator.add_validator('email', email, user_email_validator) validator.add_validator('timezone', timezone, user_timezone_validator) validator.add_validator('lang', lang, user_lang_validator) validator.validate_all() if name is not None: user.display_name = name if auth_type is not None: if auth_type not in [AuthType.UNKNOWN, AuthType.REMOTE] and not auth_type in self._config.AUTH_TYPES: raise UserAuthTypeDisabled( 'Can\'t update user "{}" auth_type with unavailable value "{}".'.format( user.email, auth_type ) ) user.auth_type = auth_type if email is not None and email != user.email: self._check_email_modification_allowed(user) self._check_email(email) user.email = email if password is not None: self._check_password_modification_allowed(user) user.password = password if timezone is not None: user.timezone = timezone if lang is not None: user.lang = lang if groups is not None: if self._user and self._user == user: raise UserCantChangeIsOwnProfile( "User {} can't change is own profile".format(user.user_id) ) # INFO - G.M - 2018-07-18 - Delete old groups for group in user.groups: if group not in groups: user.groups.remove(group) # INFO - G.M - 2018-07-18 - add new groups for group in groups: if group not in user.groups: user.groups.append(group) if do_save: self.save(user) return user
def update( self, user: User, name: str = None, email: str = None, password: str = None, timezone: str = None, lang: str = None, auth_type: AuthType = None, groups: typing.Optional[typing.List[Group]] = None, do_save=True, ) -> User: validator = TracimValidator() validator.add_validator('name', name, user_public_name_validator) validator.add_validator('password', password, user_password_validator) validator.add_validator('email', email, user_email_validator) validator.add_validator('timezone', timezone, user_timezone_validator) validator.add_validator('lang', lang, user_lang_validator) validator.validate_all() if name is not None: user.display_name = name if auth_type is not None: if auth_type not in [ AuthType.UNKNOWN, AuthType.REMOTE ] and not auth_type in self._config.AUTH_TYPES: raise UserAuthTypeDisabled( 'Can\'t update user "{}" auth_type with unavailable value "{}".' .format(user.email, auth_type)) user.auth_type = auth_type if email is not None and email != user.email: self._check_email_modification_allowed(user) self._check_email(email) user.email = email if password is not None: self._check_password_modification_allowed(user) user.password = password if timezone is not None: user.timezone = timezone if lang is not None: user.lang = lang if groups is not None: if self._user and self._user == user: raise UserCantChangeIsOwnProfile( "User {} can't change is own profile".format(user.user_id)) # INFO - G.M - 2018-07-18 - Delete old groups for group in user.groups: if group not in groups: user.groups.remove(group) # INFO - G.M - 2018-07-18 - add new groups for group in groups: if group not in user.groups: user.groups.append(group) if do_save: self.save(user) return user
def update( self, user: User, name: str = None, email: str = None, password: str = None, timezone: str = None, lang: str = None, auth_type: AuthType = None, profile: typing.Optional[Profile] = None, allowed_space: typing.Optional[int] = None, username: str = None, do_save=True, ) -> User: """Update given user instance with given parameters""" validator = TracimValidator() validator.add_validator("name", name, user_public_name_validator) validator.add_validator("password", password, user_password_validator) validator.add_validator("email", email, user_email_validator) validator.add_validator("username", name, user_username_validator) validator.add_validator("timezone", timezone, user_timezone_validator) validator.add_validator("lang", lang, user_lang_validator) validator.validate_all() if name is not None: user.display_name = name if auth_type is not None: if (auth_type not in [AuthType.UNKNOWN, AuthType.REMOTE] and auth_type not in self._config.AUTH_TYPES): raise UserAuthTypeDisabled( 'Can\'t update user "{}" auth_type with unavailable value "{}".' .format(user.login, auth_type)) user.auth_type = auth_type if email is not None: lowercase_email = email.lower() if lowercase_email != user.email: self._check_email_modification_allowed(user) self._check_email(lowercase_email) user.email = lowercase_email if username is not None: if username != user.username: self.check_username(username) user.username = username if password is not None: self._check_password_modification_allowed(user) user.password = password if timezone is not None: user.timezone = timezone if lang is not None: user.lang = lang if profile is not None: if self._user and self._user == user: raise UserCantChangeIsOwnProfile( "User {} can't change is own profile".format(user.user_id)) user.profile = profile if allowed_space is not None: user.allowed_space = allowed_space if do_save: self.save(user) return user