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 test_api_test(self, testapp): """Test""" username = "******" email = "*****@*****.**" password = "******" user = User(username=username, email=email, password=password) user.save() testapp.authorization = ('Basic', (user.username, password)) response = testapp.get("/api/v0/users") users_data = json.loads(response.body)["users"] assert any([u['username'] == username for u in users_data]) assert any([u["email"] == email for u in users_data]) assert user.check_password(password)
def test_users_api(self, testapp): """Test users endpoints""" # Create a user for auth username = "******" email = "*****@*****.**" password = "******" user = User(username=username, email=email, password=password) user.save() testapp.authorization = ('Basic', (user.username, password)) # Create a new user via the API data = { "username": "******", "email": "*****@*****.**", "password": "******", "first_name": "foo", "last_name": "bar", "is_admin": False, } response = testapp.post_json("/api/v0/users", data) assert response.json["username"] == data["username"] assert response.json["email"] == data["email"] assert response.json["first_name"] == data["first_name"] assert response.json["last_name"] == data["last_name"] assert response.json["is_admin"] == data["is_admin"] # Validate our user data from the API user = User.query.filter_by(username=data['username']).first() response = testapp.get("/api/v0/users", data) users_data = json.loads(response.body)["users"] assert any([u['username'] == data['username'] for u in users_data]) assert any([u["email"] == data["email"] for u in users_data]) assert user.check_password(data['password']) # Create a user for auth username = "******" email = "*****@*****.**" password = "******" user = User.create(username=username, email=email, password=password) user.save() testapp.authorization = ('Basic', (user.username, password)) # Get our auth user data response = testapp.get(f"/api/v0/users/{username}") assert response.json["username"] == username assert response.json["email"] == email assert user.check_password(password) # Update our auth user data email = "*****@*****.**" response = testapp.put_json(f"/api/v0/users/{username}", { 'username': username, 'email': email, }) assert response.json["email"] == email response = testapp.get(f"/api/v0/users/{username}") assert response.json["email"] == email # Delete our user response = testapp.get(f"/api/v0/users/{username}") assert response.status_code == 200 assert response.json['username'] == username response = testapp.delete(f"/api/v0/users/{username}") assert response.status_code == 200 assert User.query.filter_by(username=username).first() is None
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)