Skip to content

Commit

Permalink
fix(test): add site-packages to venv path
Browse files Browse the repository at this point in the history
The problem was with site-packages directory not being appended
to sys.path during testing framework. So instead of mocking constraints.txt path,
add the necessary directories to path and expect `import oll` in upgrade
script to now work as expected.
  • Loading branch information
n-dusan committed Nov 9, 2023
1 parent 64dbda9 commit db67dca
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 26 deletions.
3 changes: 3 additions & 0 deletions upgrade/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ def pytest_configure(config):
else:
python_path = Path("bin", "python")
sys.executable = str(VENV_PATH / python_path)
sys.path.insert(0, str(VENV_PATH / python_path.parent))
sys.path.insert(0, str(VENV_PATH / "lib"))
sys.path.insert(0, str(VENV_PATH / "lib" / "site-packages"))
sys.modules["oll"] = None


Expand Down
19 changes: 0 additions & 19 deletions upgrade/tests/upgrade_package/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,6 @@ def constraints_dir():
return VENV_PATH / "lib" / "site-packages"


@pytest.fixture()
def mocked_constraints_path():
with patch(
"upgrade.scripts.upgrade_python_package.get_constraints_file_path",
return_value=None,
):
yield


@pytest.fixture()
def mock_find_spec():
from importlib import util

original_find_spec = util.find_spec
util.find_spec = lambda name, package=None: True
yield
util.find_spec = original_find_spec


def install_local_package(dependency, no_deps=None):
full_dep_path = str(REPOSITORY_WHEELS_PATH / dependency)
links_path = str(REPOSITORY_WHEELS_PATH)
Expand Down
3 changes: 1 addition & 2 deletions upgrade/tests/upgrade_package/test_check_run_module.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from mock import patch
from upgrade.scripts.upgrade_python_package import try_running_module
from upgrade.tests.upgrade_package.conftest import install_local_package


def test_try_running_module_expect_success_and_print(capsys, mock_find_spec):
def test_try_running_module_expect_success_and_print(capsys):
full_package_name = "oll_test_top_level-2.0.1-py2.py3-none-any.whl"
install_local_package(full_package_name)
out, _ = capsys.readouterr()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def test_existing_dependencies_in_vm_when_expected_packages_are_not_installed_ex


def test_upgrade_local_wheel_top_level_package_2_0_0_where_package_name_is_valid_expect_package_installed(
wheels_dir, use_pip, mocked_constraints_path
wheels_dir, use_pip
):
package = "oll-test-top-level==2.0.0"
cut = upgrade_from_local_wheel
Expand Down Expand Up @@ -57,7 +57,7 @@ def test_upgrade_local_wheel_top_level_package_2_0_0_where_package_name_is_valid


def test_upgrade_local_wheel_top_level_package_from_2_0_0_to_2_0_1_expect_newer_package_installed(
wheels_dir, use_pip, mocked_constraints_path
wheels_dir, use_pip
):
package = "oll-test-top-level==2.0.0"
cut = upgrade_from_local_wheel
Expand Down Expand Up @@ -115,7 +115,7 @@ def test_upgrade_top_level_package_from_local_wheel_where_package_name_does_not_


def test_upgrade_top_level_package_from_local_wheel_where_package_name_does_not_have_all_dependencies_locally_expect_package_install_fail(
wheels_dir, mocked_constraints_path, capsys
wheels_dir, capsys
):
package = "oll-test-top-level==2.1.0"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


def test_upgrade_local_wheels_top_level_package_from_2_0_0_to_2_0_1_expect_success(
wheels_dir, use_pip, capfd, mocked_constraints_path, mock_find_spec
wheels_dir, use_pip, capfd
):
package = "oll-test-top-level==2.0.0"
upgrade_from_local_wheel(
Expand Down Expand Up @@ -59,7 +59,7 @@ def test_upgrade_local_wheels_top_level_package_from_2_0_0_to_2_0_1_expect_succe


def test_upgrade_local_wheels_top_level_package_from_2_0_1_to_2_1_0_expect_error_and_revert_to_2_0_1(
wheels_dir, use_pip, capfd, mocked_constraints_path
wheels_dir, use_pip, capfd
):
package = "oll-test-top-level==2.0.1"
upgrade_from_local_wheel(
Expand Down

0 comments on commit db67dca

Please sign in to comment.