def test_get_by_id(self) -> None: """Get user by ID.""" user = User("*****@*****.**") user.save() retrieved = User.get_by_id(user.id) assert retrieved == user
def test_get_by_id(self): """Get user by ID.""" user = User('foo', '*****@*****.**') user.save() retrieved = User.get_by_id(user.id) assert retrieved == user
def create_user(name, email, phone, about, birth, study, nationality, pic, department): try: if (User.objects.filter(email=email).exists() is False) and \ (User.objects.filter(phone=phone).exists() is False): created_user = User(name=name.lower(), email=email.lower(), phone=phone, birth=birth, pic=pic, about=about, study=study, nationality=nationality) created_user.save() group = None if department is not None: group = GroupReader.GroupReadService.read_group_by_name( name=department) if group is not None: GroupManagement.add_member(created_user.id, group_id=group[0].id) return status.HTTP_201_CREATED else: return status.HTTP_201_CREATED else: return status.HTTP_417_EXPECTATION_FAILED except exceptions.FieldError: return status.HTTP_500_INTERNAL_SERVER_ERROR except exceptions.PermissionDenied: return status.HTTP_500_INTERNAL_SERVER_ERROR
def mutate(self, info: ResolveInfo, email: str, password: str, **kwargs) -> "CreateUser": """ Creates a user in the database using the data sent by the user. :param info :type ResolveInfo :param email :type str: user's email :param password :type str: user's unhashed password :return :type CreateUser """ user = User(email=email, password=password, **kwargs) user.save() return CreateUser(id=user.id, email=user.email)
def post(self): data = request.get_json() if User.find_by_username(data['username']): return {"message": "A user with this username already exists"}, 400 if not User.query.all(): user = User(**data) user.is_admin = True user.save() return {"message": "Admin successfully created"}, 201 else: user = User(**data) user.is_admin = False user.save() return {"message": "User successfully created"}, 201
def register_user(phonenumber, email, password, fname, lname, sex, age, address, melli_code, role='USER'): # TODO generate random pass and mail to user password = password password_hash = generate_password_hash(password) registration_time = datetime.utcnow() user = User(phonenumber=phonenumber, password=password_hash, email=email, fname=fname, lname=lname, sex=sex, age=age, address=address, melli_code=melli_code, role=role, datetime=registration_time) return user.save()
def create_user(save=True): password = factory.password(10) user = User( login=factory.user_name(), email=factory.email(), password=User.hash_password(password), firstname=factory.first_name(), middlename=factory.name(), lastname=factory.last_name(), is_aproved=True, ) if save: user.save() return user, password
def post(self): self.context['form'] = form = self.form(request.form) # noqa: WPS204 if not form.validate(): return render_template(self.template, **self.context) # noqa: WPS204 login = request.form.get('login') email = request.form.get('email') password = request.form.get('password') firstname = request.form.get('firstname') middlename = request.form.get('middlename') lastname = request.form.get('lastname') image = request.form.get('email') pass_hash = User.hash_password(password) user = User( login=login, email=email, password=pass_hash.decode(), firstname=firstname, middlename=middlename, lastname=lastname, image=image, gravatar='gravatar', ) if User.query.filter_by(login=login).first(): flash('Логин уже занят.', 'error') return render_template( self.template, **self.context, ) if User.query.filter_by(email=email).first(): flash('Такой e-mail уже привязан к другому аккаунту.', 'error') return render_template( self.template, **self.context, ) User.save(user) if send_mail_for_aprove(user): flash( 'Вам на почту отправлена ссылка для подтверждения регистрации', 'info') else: flash('Сбой отправки письма', 'error') return redirect(url_for('auth.login'))
def post(self): form = self.form(request.form) if not form.validate(): return render_template(self.template, **{'form': form}) login = request.form.get('login') email = request.form.get('email') password = request.form.get('password') firstname = request.form.get('firstname') middlename = request.form.get('middlename') lastname = request.form.get('lastname') image = request.form.get('email') pass_hash = User.hash_password(password) user = User( login=login, email=email, password=pass_hash.decode(), firstname=firstname, middlename=middlename, lastname=lastname, image=image, ) if User.query.filter_by(login=login).first(): return render_template( self.template, **{ 'form': form, 'info': 'Логин уже занят' }, ) if User.query.filter_by(email=email).first(): return render_template( self.template, **{ 'form': form, 'info': 'Email уже занят' }, ) User.save(user) if send_mail_for_aprove(user): flash( 'Вам на почту отправлена ссылка для подтверждения регистрации') else: flash('Сбой отправки письма') return redirect(url_for('auth.login'))
def test_password_is_nullable(self): """Test null password.""" user = User(username='******', email='*****@*****.**') user.save() assert user.password is None
def test_created_at_defaults_to_datetime(self): """Test creation date.""" user = User(username='******', email='*****@*****.**') user.save() assert bool(user.created_at) assert isinstance(user.created_at, dt.datetime)
def test(self): # noqa: WPS210 factory: Generator = Faker() chapter_name: str = factory.paragraph() chapter_order_number: int = 1 chapter = Chapter( name=chapter_name, order_number=chapter_order_number, ) Chapter.save(chapter) chapter = Chapter.query.get(1) question_text: str = factory.paragraph() question_order_number: int = 1 question_user_id: int = 1 question = Question( order_number=question_order_number, user=question_user_id, chapter_id=chapter.id, text=question_text, ) Question.save(question) question = Question.query.get(1) user_username: str = factory.md5()[:8] user_password: str = factory.password(8) user_email: str = factory.email() user_firstname: str = factory.first_name() user = User( login=user_username, email=user_email, password=user_password, firstname=user_firstname, is_aproved=True, ) User.save(user) answer_text: str = factory.paragraph() answer_is_approve: bool = True answer_question_id: int = 1 answer_owner_id: int = 1 answer = Answer( text=answer_text, is_approve=answer_is_approve, question_id=answer_question_id, owner_id=answer_owner_id, ) Answer.save(answer) answer = Answer.query.get(1) self.assertEqual(answer.text, answer_text) self.assertEqual(answer.is_approve, answer_is_approve) self.assertEqual(answer.question_id, answer_question_id) response = self.client.get( url_for('answers.answer', question_id=question.id), ) self.assert_200( response, url_for('answers.answer', question_id=question.id), )
def _foo_user(self) -> User: """Creates and saves foo@bar user.""" user = User(email="*****@*****.**") user.save() return user