Fix tests to use new packagemap type and data structure

This commit is contained in:
Ethan Paul 2022-04-07 00:15:34 -04:00
parent ff3e1603d2
commit 45e33b7d27
No known key found for this signature in database
GPG Key ID: D0E2CBF1245E92BF
3 changed files with 15 additions and 14 deletions

View File

@ -31,6 +31,10 @@ class MockVirtualEnv:
def is_valid_for_marker(*args, **kwargs):
return True
@staticmethod
def get_version_info():
return (1, 2, 3)
class MockPipInstaller:
"""Mock class for the :class:`poetry.installation.pip_installer.PipInstaller`"""

View File

@ -6,14 +6,14 @@ from poetry.factory import Factory
from .fixtures import mock_poetry_factory
from .fixtures import mock_venv
from tox_poetry_installer import datatypes
from tox_poetry_installer import installer
from tox_poetry_installer import utilities
def test_deduplication(mock_venv, mock_poetry_factory):
"""Test that the installer does not install duplicate dependencies"""
poetry = Factory().create_poetry(None)
packages: datatypes.PackageMap = {
packages: utilities.PackageMap = {
item.name: item for item in poetry.locker.locked_repository(False).packages
}
@ -28,7 +28,7 @@ def test_deduplication(mock_venv, mock_poetry_factory):
def test_parallelization(mock_venv, mock_poetry_factory):
"""Test that behavior is consistent between parallel and non-parallel usage"""
poetry = Factory().create_poetry(None)
packages: datatypes.PackageMap = {
packages: utilities.PackageMap = {
item.name: item for item in poetry.locker.locked_repository(False).packages
}

View File

@ -7,7 +7,6 @@ from poetry.puzzle.provider import Provider
from .fixtures import mock_poetry_factory
from .fixtures import mock_venv
from tox_poetry_installer import constants
from tox_poetry_installer import datatypes
from tox_poetry_installer import exceptions
from tox_poetry_installer import utilities
@ -58,17 +57,15 @@ def test_functional(mock_poetry_factory, mock_venv):
is always the last in the returned list.
"""
pypoetry = poetry.factory.Factory().create_poetry(None)
packages: datatypes.PackageMap = {
item.name: item for item in pypoetry.locker.locked_repository(False).packages
}
packages = utilities.build_package_map(pypoetry)
venv = poetry.utils.env.VirtualEnv() # pylint: disable=no-value-for-parameter
requests_requires = [
packages["certifi"],
packages["chardet"],
packages["idna"],
packages["urllib3"],
packages["requests"],
packages["certifi"][0],
packages["chardet"][0],
packages["idna"][0],
packages["urllib3"][0],
packages["requests"][0],
]
transients = utilities.identify_transients("requests", packages, venv)
@ -76,7 +73,7 @@ def test_functional(mock_poetry_factory, mock_venv):
assert all((item in requests_requires) for item in transients)
assert all((item in transients) for item in requests_requires)
for package in [packages["requests"], packages["tox"], packages["flask"]]:
transients = utilities.identify_transients(package, packages, venv)
for package in [packages["requests"][0], packages["tox"][0], packages["flask"][0]]:
transients = utilities.identify_transients(package.name, packages, venv)
assert transients[-1] == package
assert len(transients) == len(set(transients))