* 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.
132 lines
5.8 KiB
Python
132 lines
5.8 KiB
Python
from unittest.mock import MagicMock, patch
|
|
|
|
from langflow.services.settings.constants import (
|
|
DEFAULT_SUPERUSER,
|
|
DEFAULT_SUPERUSER_PASSWORD,
|
|
)
|
|
from langflow.services.utils import teardown_superuser
|
|
|
|
# @patch("langflow.services.deps.get_session")
|
|
# @patch("langflow.services.utils.create_super_user")
|
|
# @patch("langflow.services.deps.get_settings_service")
|
|
# # @patch("langflow.services.utils.verify_password")
|
|
# def test_setup_superuser(
|
|
# mock_get_session, mock_create_super_user, mock_get_settings_service
|
|
# ):
|
|
# # Test when AUTO_LOGIN is True
|
|
# calls = []
|
|
# mock_settings_service = Mock()
|
|
# mock_settings_service.auth_settings.AUTO_LOGIN = True
|
|
# mock_settings_service.auth_settings.SUPERUSER = DEFAULT_SUPERUSER
|
|
# mock_settings_service.auth_settings.SUPERUSER_PASSWORD = DEFAULT_SUPERUSER_PASSWORD
|
|
# mock_get_settings_service.return_value = mock_settings_service
|
|
# mock_session = Mock()
|
|
# mock_session.query.return_value.filter.return_value.first.return_value = (
|
|
# mock_session
|
|
# )
|
|
# # return value of get_session is a generator
|
|
# mock_get_session.return_value = iter([mock_session, mock_session, mock_session])
|
|
# setup_superuser(mock_settings_service, mock_session)
|
|
# mock_session.query.assert_called_once_with(User)
|
|
# # Set return value of filter to be None
|
|
# mock_session.query.return_value.filter.return_value.first.return_value = None
|
|
# actual_expr = mock_session.query.return_value.filter.call_args[0][0]
|
|
# expected_expr = User.username == DEFAULT_SUPERUSER
|
|
|
|
# assert str(actual_expr) == str(expected_expr)
|
|
# create_call = call(
|
|
# db=mock_session, username=DEFAULT_SUPERUSER, password=DEFAULT_SUPERUSER_PASSWORD
|
|
# )
|
|
# calls.append(create_call)
|
|
# # mock_create_super_user.assert_has_calls(calls)
|
|
# assert 1 == mock_create_super_user.call_count
|
|
|
|
# def reset_mock_credentials():
|
|
# mock_settings_service.auth_settings.SUPERUSER = DEFAULT_SUPERUSER
|
|
# mock_settings_service.auth_settings.SUPERUSER_PASSWORD = (
|
|
# DEFAULT_SUPERUSER_PASSWORD
|
|
# )
|
|
|
|
# ADMIN_USER_NAME = "admin_user"
|
|
# # Test when username and password are default
|
|
# mock_settings_service.auth_settings = Mock()
|
|
# mock_settings_service.auth_settings.AUTO_LOGIN = False
|
|
# mock_settings_service.auth_settings.SUPERUSER = ADMIN_USER_NAME
|
|
# mock_settings_service.auth_settings.SUPERUSER_PASSWORD = "password"
|
|
# mock_settings_service.auth_settings.reset_credentials = Mock(
|
|
# side_effect=reset_mock_credentials
|
|
# )
|
|
|
|
# mock_get_settings_service.return_value = mock_settings_service
|
|
|
|
# setup_superuser(mock_settings_service, mock_session)
|
|
# mock_session.query.assert_called_with(User)
|
|
# actual_expr = mock_session.query.return_value.filter.call_args[0][0]
|
|
# expected_expr = User.username == ADMIN_USER_NAME
|
|
|
|
# assert str(actual_expr) == str(expected_expr)
|
|
# create_call = call(db=mock_session, username=ADMIN_USER_NAME, password="password")
|
|
# calls.append(create_call)
|
|
# # mock_create_super_user.assert_has_calls(calls)
|
|
# assert 2 == mock_create_super_user.call_count
|
|
# # Test that superuser credentials are reset
|
|
# mock_settings_service.auth_settings.reset_credentials.assert_called_once()
|
|
# assert mock_settings_service.auth_settings.SUPERUSER != ADMIN_USER_NAME
|
|
# assert mock_settings_service.auth_settings.SUPERUSER_PASSWORD != "password"
|
|
|
|
# # Test when superuser already exists
|
|
# mock_settings_service.auth_settings.AUTO_LOGIN = False
|
|
# mock_settings_service.auth_settings.SUPERUSER = ADMIN_USER_NAME
|
|
# mock_settings_service.auth_settings.SUPERUSER_PASSWORD = "password"
|
|
# mock_user = Mock()
|
|
# mock_user.is_superuser = True
|
|
# mock_session.query.return_value.filter.return_value.first.return_value = mock_user
|
|
# setup_superuser(mock_settings_service, mock_session)
|
|
# mock_session.query.assert_called_with(User)
|
|
# actual_expr = mock_session.query.return_value.filter.call_args[0][0]
|
|
# expected_expr = User.username == ADMIN_USER_NAME
|
|
|
|
# assert str(actual_expr) == str(expected_expr)
|
|
|
|
|
|
@patch("langflow.services.deps.get_settings_service")
|
|
@patch("langflow.services.deps.get_session")
|
|
def test_teardown_superuser_default_superuser(mock_get_session, mock_get_settings_service):
|
|
mock_settings_service = MagicMock()
|
|
mock_settings_service.auth_settings.AUTO_LOGIN = True
|
|
mock_settings_service.auth_settings.SUPERUSER = DEFAULT_SUPERUSER
|
|
mock_settings_service.auth_settings.SUPERUSER_PASSWORD = DEFAULT_SUPERUSER_PASSWORD
|
|
mock_get_settings_service.return_value = mock_settings_service
|
|
|
|
mock_session = MagicMock()
|
|
mock_user = MagicMock()
|
|
mock_user.is_superuser = True
|
|
mock_session.query.return_value.filter.return_value.first.return_value = mock_user
|
|
mock_get_session.return_value = iter([mock_session])
|
|
|
|
teardown_superuser(mock_settings_service, mock_session)
|
|
|
|
mock_session.query.assert_not_called()
|
|
|
|
|
|
@patch("langflow.services.deps.get_settings_service")
|
|
@patch("langflow.services.deps.get_session")
|
|
def test_teardown_superuser_no_default_superuser(mock_get_session, mock_get_settings_service):
|
|
ADMIN_USER_NAME = "admin_user"
|
|
mock_settings_service = MagicMock()
|
|
mock_settings_service.auth_settings.AUTO_LOGIN = False
|
|
mock_settings_service.auth_settings.SUPERUSER = ADMIN_USER_NAME
|
|
mock_settings_service.auth_settings.SUPERUSER_PASSWORD = "password"
|
|
mock_get_settings_service.return_value = mock_settings_service
|
|
|
|
mock_session = MagicMock()
|
|
mock_user = MagicMock()
|
|
mock_user.is_superuser = False
|
|
mock_session.query.return_value.filter.return_value.first.return_value = mock_user
|
|
mock_get_session.return_value = [mock_session]
|
|
|
|
teardown_superuser(mock_settings_service, mock_session)
|
|
|
|
mock_session.query.assert_not_called()
|
|
mock_session.delete.assert_not_called()
|
|
mock_session.commit.assert_not_called()
|