def test_user_management(self): """ test user creation and deletion """ # creation user = User.create('*****@*****.**', 'world') self.assertTrue(user) # retrieve self.assertTrue(User.get_by_id(user.id)) self.assertTrue(User.get_by_email(user.email)) # duplicated users self.assertFalse(User.create('*****@*****.**', 'world')) try: user2 = User(email='*****@*****.**', password='******') user2.save() except UserSaveError: pass else: self.assertFalse('The user wrongly saved') # deletion self.assertTrue(user.delete()) user4 = User.get_by_email('*****@*****.**') self.assertFalse(user4)
def test_picks(self): a = Rock1500Artist(name="Test Artist") album = Rock1500Album(name='Test Album', artist=a) # Add several songs. for i in range(1, 10): db.session.add(Rock1500Song(title='Song %s' % i, artist=a, album=album)) db.session.commit() rock_picker = User.create("rocker") for i in range(4): Rock1500Pick( song=Rock1500Song.find_by_name('Song %s' % (i + 1), artist=a), position=i, user=rock_picker, ) db.session.add(rock_picker) db.session.commit() user = User.query.get(rock_picker.id) print(user) self.assertEqual(len(user.rock_picks), 4) self.assertEqual(user.rock_picks[0].song.title, "Song 1") self.assertEqual(user.rock_picks[3].song.title, "Song 4")
def setUp(self): from service import main from paste.deploy import appconfig from webtest import TestApp # set settings os.environ['PYRAMID_SETTINGS'] = 'development.ini#main' self.settings = appconfig('config:{}'.format(os.environ['PYRAMID_SETTINGS']), relative_to='.') app = main({}, **self.settings) self.testapp = TestApp(app) self.config = testing.setUp(settings=self.settings) self.created_ids = [] # init user self.user = User.create('*****@*****.**', 'hello') payload = { 'email': '*****@*****.**', 'password': '******', } response = self.testapp.post_json('/api/v1/authenticate', payload, status=200) self.access_token = response.json['access_token'] # init business address = { 'street1': 'Central Park', 'city': 'New York', 'state': 'NY', } self.business = Business.create('Test Location', address)
def create_model(self, form): email = form.email.data user = User.create(email) user.is_active = True user.profile.firstname = form.firstname.data user.profile.lastname = form.lastname.data db.session.commit() return user
def friends(reset=False): if reset: print("Reset not supported for users.") return for i in range(0, 5): user = User.create('*****@*****.**' % i) db.session.add(user) db.session.commit()
def run(env): user = User.create('*****@*****.**', 'test') print 'created user' businesses = create_businesses() business = businesses[0] print 'created businesses' reviews = create_reviews(user, business) print 'created reviews'
def setUp(self): from paste.deploy import appconfig os.environ['PYRAMID_SETTINGS'] = 'development.ini#main' self.settings = appconfig('config:{}'.format(os.environ['PYRAMID_SETTINGS']), relative_to='.') self.config = testing.setUp(settings=self.settings) self.created_ids = [] user = User.create('*****@*****.**', 'world') self.user = User.get_by_email('*****@*****.**') self.business = self.create_business()
def setUp(self): from service import main from paste.deploy import appconfig from webtest import TestApp # set settings os.environ['PYRAMID_SETTINGS'] = 'development.ini#main' self.settings = appconfig('config:{}'.format(os.environ['PYRAMID_SETTINGS']), relative_to='.') app = main({}, **self.settings) self.testapp = TestApp(app) self.config = testing.setUp(settings=self.settings) self.user = User.create('*****@*****.**', 'hello')
def createUser(self, username): user = User.create( username + '@test.mudge.co.nz', password='******') user.profile.firstname = 'Test' user.profile.lastname = 'User' user.is_active = True db.session.commit() self.users[username] = { 'email': user.email, 'password': '******' } return user
def prompt(env): email = raw_input('email: ') password1, password2 = pprompt() while password1 != password2: print "Passwords do not match. Try again." password1, password2 = pprompt() user = User.create(email, password1) if user: print "user '{}' created".format(user.id) else: # TODO: better error messaging print "error: user {} not created".format(email)
def create_user(email, password=None, admin=False): user = User.query.filter_by(email=email).first() if not user: print("Create new user") user = User.create(email=email, password=password) else: print("Already exists, will update password") user.set_password(password) # Make sure the user is usable. user.is_active = True user.admin = admin db.session.commit()
def users_post(request): """ an endpoint to create new users new users are not active by default TODO: have a user activation process errors ====== * status 400 - if failed returns ======= :: { "id": "" } """ email = request.validated['email'] password = request.validated['password'] user = User.create(email, password) if user: # TODO: send activation email logger.debug('new user created') response_body = json.dumps({'id': user.json['id']}) else: logger.debug('failed to create new user') request.response.status_int = 400 response_body = json.dumps({ 'status': 'error', 'message': 'failed to create new user' }) request.response.body = response_body request.response.content_type = 'application/json' return request.response
def wrapper(*args, **kwargs): try: token = request.headers.environ['HTTP_AUTHORIZATION'] try: # validate token with google idinfo = id_token.verify_oauth2_token(token, requests.Request(), CLIENT_ID) google_id = idinfo["sub"] name = idinfo["name"] email = idinfo["email"] picture = idinfo["picture"] if not User.exist(email): g.user = User.create(name, email, picture, google_id) else: g.user = User.exist(email) except ValueError: abort(401, {"message": "Invalid token"}) except: abort(401, {"message": "Invalid token"}) return func(*args, **kwargs)
def test_create_user_with_success(): User.create(username='******', email='*****@*****.**', password='******', confirm_password='******') user = User.query.filter_by(username='******').one() assert user.email == '*****@*****.**'
def test_create_user_raises_error(user, exception, username, email, password, confirm_password): with pytest.raises(exception): User.create(username=username, email=email, password=password, confirm_password=confirm_password)
def create_admin(console=True): email = raw_input('Email: ') password = raw_input('Password: '******'Ok')
def create_user(self): # check user user = User.create('*****@*****.**', 'hello') self.assertTrue(user) return user
def create_user(): """ Create User Create a new user --- tags: - User parameters: - in: body name: body required: true schema: id: create_edit_user_form required: - username - email - password - confirm_password properties: username: type: string email: type: string password: type: string confirm_password: type: string responses: 201: description: Created User schema: id: create_edit_user properties: user: schema: $ref: "#/definitions/User" 400: description: Invalid json informations schema: $ref: "#/definitions/generic_error" 401: description: Invalid credentials schema: $ref: "#/definitions/generic_error" 409: description: Conflict schema: $ref: "#/definitions/generic_error" """ required_fields = ('username', 'email', 'password', 'confirm_password') if all(request.json.get(field) for field in required_fields): username = request.json.get('username') email = request.json.get('email') password = request.json.get('password') confirm_password = request.json.get('confirm_password') else: return abort(400) try: user = User.create(username=username, email=email, password=password, confirm_password=confirm_password) data = {'user': dict_object(user)} return jsonify(data), 201 except (InvalidUsername, InvalidEmail, InvalidPassword, PasswordMismatch): abort(400) except UserAlreadyExist: abort(409)