* refactor: move tests folder to src/backend * chore(Makefile): update pytest commands to run tests from the correct directory paths for unit and integration tests * refactor: update file path in test_custom_component.py The file path in the test_custom_component.py file has been updated to use the correct relative path to the component_multiple_outputs.py file. This change ensures that the test code can access the correct file and improves the reliability of the test.
45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
import pytest
|
|
from langflow.services.auth.utils import get_password_hash
|
|
from langflow.services.database.models.user import User
|
|
from langflow.services.deps import session_scope
|
|
from sqlalchemy.exc import IntegrityError
|
|
|
|
|
|
@pytest.fixture
|
|
def test_user():
|
|
return User(
|
|
username="testuser",
|
|
password=get_password_hash("testpassword"), # Assuming password needs to be hashed
|
|
is_active=True,
|
|
is_superuser=False,
|
|
)
|
|
|
|
|
|
def test_login_successful(client, test_user):
|
|
# Adding the test user to the database
|
|
try:
|
|
with session_scope() as session:
|
|
session.add(test_user)
|
|
session.commit()
|
|
except IntegrityError:
|
|
pass
|
|
|
|
response = client.post("api/v1/login", data={"username": "testuser", "password": "testpassword"})
|
|
assert response.status_code == 200
|
|
assert "access_token" in response.json()
|
|
|
|
|
|
def test_login_unsuccessful_wrong_username(client):
|
|
response = client.post("api/v1/login", data={"username": "wrongusername", "password": "testpassword"})
|
|
assert response.status_code == 401
|
|
assert response.json()["detail"] == "Incorrect username or password"
|
|
|
|
|
|
def test_login_unsuccessful_wrong_password(client, test_user, session):
|
|
# Adding the test user to the database
|
|
session.add(test_user)
|
|
session.commit()
|
|
|
|
response = client.post("api/v1/login", data={"username": "testuser", "password": "wrongpassword"})
|
|
assert response.status_code == 401
|
|
assert response.json()["detail"] == "Incorrect username or password"
|