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
示例#2
0
 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)
示例#3
0
    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)