def test_lot_error_add_device_from_other_user(user: UserClient): # TODO """Tests adding a device to a lot using POST and removing it with DELETE. """ g.user = User.query.one() user2 = User(email='*****@*****.**', password='******') user2.individuals.add(Person(name='Tommy')) db.session.add(user2) db.session.commit() device = Desktop(serial_number='foo', model='bar', manufacturer='foobar', chassis=ComputerChassis.Lunchbox, owner_id=user2.id) db.session.add(device) db.session.commit() device_id = device.id parent, _ = user.post(({'name': 'lot'}), res=Lot) lot, _ = user.post({}, res=Lot, item='{}/devices'.format(parent['id']), query=[('id', device_id)]) lot = Lot.query.filter_by(id=lot['id']).one() assert list(lot.devices) == [], 'Lot contains device' assert len(lot.devices) == 0
def create_user(self, email: str, password: str, inventory: Iterable[str] = tuple(), agent: str = None, country: str = None, telephone: str = None, tax_id: str = None) -> dict: """Create an user. If ``--agent`` is passed, it creates too an ``Individual`` agent that represents the user. """ from ereuse_devicehub.resources.agent.models import Individual u = self.SCHEMA(only={'email', 'password'}, exclude=('token',)) \ .load({'email': email, 'password': password}) if inventory: from ereuse_devicehub.resources.inventory import Inventory inventory = Inventory.query.filter(Inventory.id.in_(inventory)) user = User(**u, inventories=inventory) agent = Individual(**current_app.resources[Individual.t].schema.load( dict(name=agent, email=email, country=country, telephone=telephone, taxId=tax_id))) user.individuals.add(agent) db.session.add(user) db.session.commit() return self.schema.dump(user)
def test_create_user_email_insensitive(): """Ensures email is case insensitive.""" user = User(email='*****@*****.**') db.session.add(user) db.session.commit() # We search in case insensitive manner u1 = User.query.filter_by(email='*****@*****.**').one() assert u1 == user assert u1.email == '*****@*****.**'
def create_phantom_account(self) -> None: """ If exist both users not to do nothing If exist from but not to: search if exist in the DB if exist use it else create new one The same if exist to but not from """ user_from = self.data.get('user_from') user_to = self.data.get('user_to') code = self.data.get('code') if user_from and user_to: return if self.data['confirm']: return if user_from and not user_to: assert g.user == user_from email = "{}_{}@dhub.com".format(str(user_from.id), code) users = User.query.filter_by(email=email) if users.first(): user = users.first() self.data['user_to'] = user return user = User(email=email, password='', active=False, phantom=True) db.session.add(user) self.data['user_to'] = user if not user_from and user_to: email = "{}_{}@dhub.com".format(str(user_to.id), code) users = User.query.filter_by(email=email) if users.first(): user = users.first() self.data['user_from'] = user return user = User(email=email, password='', active=False, phantom=True) db.session.add(user) self.data['user_from'] = user
def create_user(email='*****@*****.**', password='******') -> User: user = User(email=email, password=password) user.individuals.add(Person(name='Timmy')) session_external = Session(user=user, type=SessionType.External) session_internal = Session(user=user, type=SessionType.Internal) db.session.add(user) db.session.add(session_internal) db.session.add(session_external) db.session.commit() return user
def create_user(self, email: str, password: str) -> dict: """ Creates an user. """ u = self.SCHEMA(only={'email', 'password'}, exclude=('token',)) \ .load({'email': email, 'password': password}) user = User(**u) db.session.add(user) db.session.commit() return self.schema.dump(user)
def create_user(email='*****@*****.**', password='******') -> User: user = User(email=email, password=password) db.session.add(user) db.session.commit() return user
def test_login_active_phantom(client: Client): """Tests successfully performing login. This checks that: - User is returned if is active and is not phantom. """ dbuser = User(email='*****@*****.**', password='******') dbuser1 = User(email='*****@*****.**', password='******', active=True, phantom=False) dbuser2 = User(email='*****@*****.**', password='******', active=False, phantom=False) dbuser3 = User(email='*****@*****.**', password='******', active=True, phantom=True) dbuser4 = User(email='*****@*****.**', password='******', active=False, phantom=True) db.session.add(dbuser) db.session.add(dbuser1) db.session.add(dbuser2) db.session.add(dbuser3) db.session.add(dbuser4) db.session.commit() db.session.flush() assert dbuser.active assert not dbuser.phantom uri = '/users/login/' client.post({ 'email': '*****@*****.**', 'password': '******' }, uri=uri, status=200) client.post({ 'email': '*****@*****.**', 'password': '******' }, uri=uri, status=200) client.post({ 'email': '*****@*****.**', 'password': '******' }, uri=uri, status=401) client.post({ 'email': '*****@*****.**', 'password': '******' }, uri=uri, status=401) client.post({ 'email': '*****@*****.**', 'password': '******' }, uri=uri, status=401)
def create_user(email='*****@*****.**', password='******') -> User: user = User(email=email, password=password) user.individuals.add(Person(name='Timmy')) db.session.add(user) db.session.commit() return user