Unverified Commit c2bb760a authored by Sébastien Eustace's avatar Sébastien Eustace
Browse files

Fix missing information in lock file

parent 40c11bee
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
- Fixed `install_requires` and `extras` in generated sdist.
- Fixed dependency resolution crash with malformed dependencies.
- Fixed errors when `license` metadata is not set.
- Fixed missing information in lock file.


## [0.7.1] - 2018-04-05
+7 −2
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ class PyPiRepository(Repository):
                versions.append(version)

        for version in versions:
            packages.append(Package(name, version, version))
            packages.append(self.package(name, version))

        return packages

@@ -103,7 +103,6 @@ class PyPiRepository(Repository):
                self._fallback
                and release_info['requires_dist'] is None
                and not release_info['requires_python']
                and not release_info['platform']
            ):
                # No dependencies set (along with other information)
                # This might be due to actually no dependencies
@@ -140,6 +139,12 @@ class PyPiRepository(Repository):
            # Adding description
            package.description = release_info.get('summary', '')

            if release_info['requires_python']:
                package.python_versions = release_info['requires_python']

            if release_info['platform']:
                package.platform = release_info['platform']

            # Adding hashes information
            package.hashes = release_info['digests']

+105 −0
Original line number Diff line number Diff line
[[package]]
name = "attrs"
version = "17.4.0"
description = "Classes Without Boilerplate"
category = "dev"
optional = false
python-versions = "*"
platform = "*"

[[package]]
name = "colorama"
version = "0.3.9"
description = "Cross-platform colored terminal text."
category = "dev"
optional = false
python-versions = "*"
platform = "UNKNOWN"

[package.requirements]
platform = "win32"

[[package]]
name = "funcsigs"
version = "1.0.2"
description = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+"
category = "dev"
optional = false
python-versions = "*"
platform = "UNKNOWN"

[package.requirements]
python = "<3.0"

[[package]]
name = "more-itertools"
version = "4.1.0"
description = "More routines for operating on iterables, beyond itertools"
category = "dev"
optional = false
python-versions = "*"
platform = "*"

[package.dependencies]
six = "< 2.0.0.0, >= 1.0.0.0"

[[package]]
name = "pluggy"
version = "0.6.0"
description = "plugin and hook calling mechanisms for python"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
platform = "unix"

[[package]]
name = "py"
version = "1.5.3"
description = "library with cross-python path, ini-parsing, io, code, log facilities"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
platform = "unix"

[[package]]
name = "pytest"
version = "3.5.0"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
platform = "unix"

[package.dependencies]
py = ">= 1.5.0.0"
six = ">= 1.10.0.0"
setuptools = "*"
attrs = ">= 17.4.0.0"
more-itertools = ">= 4.0.0.0"
pluggy = "< 0.7.0.0, >= 0.5.0.0"
funcsigs = "*"
colorama = "*"

[[package]]
name = "six"
version = "1.11.0"
description = "Python 2 and 3 compatibility utilities"
category = "dev"
optional = false
python-versions = "*"
platform = "*"

[metadata]
python-versions = "*"
platform = "*"
content-hash = "123456789"

[metadata.hashes]
attrs = [ "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450", "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9",]
colorama = [ "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda", "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1",]
funcsigs = [ "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca", "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50",]
more-itertools = [ "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e", "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea", "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44",]
pluggy = [ "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff",]
py = [ "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a", "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881",]
pytest = [ "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c", "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1",]
six = [ "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb", "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",]
+21 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ from poetry.utils.venv import NullVenv

from tests.helpers import get_dependency
from tests.helpers import get_package
from tests.repositories.test_pypi_repository import MockRepository


class Installer(BaseInstaller):
@@ -508,3 +509,23 @@ def test_run_installs_extras_with_deps_if_requested_locked(installer, locker, re
    installer = installer.installer
    assert len(installer.installs) == 4  # A, B, C, D


def test_installer_with_pypi_repository(package, locker, installed):
    pool = Pool()
    pool.add_repository(MockRepository())

    installer = Installer(
        NullIO(),
        NullVenv(),
        package,
        locker,
        pool,
        installed=installed
    )

    package.add_dependency('pytest', '^3.5', category='dev')
    installer.run()

    expected = fixture('with-pypi-repository')

    assert locker.written_data == expected
+134 −0
Original line number Diff line number Diff line
{
    "info": {
        "author": "Hynek Schlawack",
        "author_email": "hs@ox.cx",
        "bugtrack_url": null,
        "classifiers": [
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: MIT License",
            "Natural Language :: English",
            "Operating System :: OS Independent",
            "Programming Language :: Python",
            "Programming Language :: Python :: 2",
            "Programming Language :: Python :: 2.7",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.4",
            "Programming Language :: Python :: 3.5",
            "Programming Language :: Python :: 3.6",
            "Programming Language :: Python :: Implementation :: CPython",
            "Programming Language :: Python :: Implementation :: PyPy",
            "Topic :: Software Development :: Libraries :: Python Modules"
        ],
        "description": "",
        "docs_url": null,
        "download_url": "",
        "downloads": {
            "last_day": -1,
            "last_month": -1,
            "last_week": -1
        },
        "home_page": "http://www.attrs.org/",
        "keywords": "class,attribute,boilerplate",
        "license": "MIT",
        "maintainer": "",
        "maintainer_email": "",
        "name": "attrs",
        "package_url": "https://pypi.org/project/attrs/",
        "platform": "",
        "project_url": "https://pypi.org/project/attrs/",
        "release_url": "https://pypi.org/project/attrs/17.4.0/",
        "requires_dist": [
            "coverage; extra == 'dev'",
            "hypothesis; extra == 'dev'",
            "pympler; extra == 'dev'",
            "pytest; extra == 'dev'",
            "six; extra == 'dev'",
            "zope.interface; extra == 'dev'",
            "sphinx; extra == 'dev'",
            "zope.interface; extra == 'dev'",
            "sphinx; extra == 'docs'",
            "zope.interface; extra == 'docs'",
            "coverage; extra == 'tests'",
            "hypothesis; extra == 'tests'",
            "pympler; extra == 'tests'",
            "pytest; extra == 'tests'",
            "six; extra == 'tests'",
            "zope.interface; extra == 'tests'"
        ],
        "requires_python": "",
        "summary": "Classes Without Boilerplate",
        "version": "17.4.0"
    },
    "last_serial": 3451237,
    "releases": {
        "17.4.0": [
            {
                "comment_text": "",
                "digests": {
                    "md5": "5835a573b3f0316e1602dac3fd9c1daf",
                    "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450"
                },
                "downloads": -1,
                "filename": "attrs-17.4.0-py2.py3-none-any.whl",
                "has_sig": true,
                "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf",
                "packagetype": "bdist_wheel",
                "python_version": "py2.py3",
                "size": 31658,
                "upload_time": "2017-12-30T08:20:05",
                "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl"
            },
            {
                "comment_text": "",
                "digests": {
                    "md5": "d7a89063b2e0fd36bd82389c4d82821d",
                    "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9"
                },
                "downloads": -1,
                "filename": "attrs-17.4.0.tar.gz",
                "has_sig": true,
                "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d",
                "packagetype": "sdist",
                "python_version": "source",
                "size": 97071,
                "upload_time": "2017-12-30T08:20:08",
                "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz"
            }
        ]
    },
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "5835a573b3f0316e1602dac3fd9c1daf",
                "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450"
            },
            "downloads": -1,
            "filename": "attrs-17.4.0-py2.py3-none-any.whl",
            "has_sig": true,
            "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "size": 31658,
            "upload_time": "2017-12-30T08:20:05",
            "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl"
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "d7a89063b2e0fd36bd82389c4d82821d",
                "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9"
            },
            "downloads": -1,
            "filename": "attrs-17.4.0.tar.gz",
            "has_sig": true,
            "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d",
            "packagetype": "sdist",
            "python_version": "source",
            "size": 97071,
            "upload_time": "2017-12-30T08:20:08",
            "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz"
        }
    ]
}
Loading