def test_python_requires(pp, pf, dist): write_toml(pf, {}) write_pyproject(pp, {'path': str(pf.absolute()), 'pythons': True}) finalize_dist(dist, str(pp.absolute())) assert dist == { 'python_requires': '=={0}'.format(requires['python_version']) }
def test_empty_dict(pf, dist, cd_tmp_path): write_toml(pf, { 'packages': {'requests': '*',}, 'dev-packages': {'setuptools': '>=41.0.0',}, }) with cd_tmp_path: use_pipfile(dist, 'use_pipfile', {}) assert dist == {}
def test_default(pf): write_toml(pf, { 'packages': {'requests': '*'}, 'dev-packages': {'pytest': '*'}, }) assert Pipfile(pf, extras={'style': 1}).setup_kwargs() == { 'install_requires': ['requests'], 'tests_require': ['pytest'] }
def test_source_url_interpolation(pf): write_toml(pf, { 'source': [{ 'name': 'pypi', 'url': '${MY_CUSTOM_PIP_URL}/simple', 'verify_ssl': True, }] }) os.environ['MY_CUSTOM_PIP_URL'] = 'https://pypi.example.com' assert Pipfile(pf, interpolate=True).sources['pypi'] == 'https://pypi.example.com/simple'
def test_default(pf, dist): write_toml(pf, { 'packages': {'requests': '*'}, 'dev-packages': {'setuptools': '>=41.0.0'}, }) use_pipfile(dist, 'use_pipfile', pf) assert dist == { 'install_requires': ['requests'], 'tests_require': ['setuptools>=41.0.0'] }
def test_default(pp, pf, dist): write_toml(pf, { 'packages': {'requests': '*',}, 'dev-packages': {'setuptools': '>=41.0.0',}, }) write_pyproject(pp, str(pf.absolute())) finalize_dist(dist, str(pp.absolute())) assert dist == { 'install_requires': ['requests'], 'tests_require': ['setuptools>=41.0.0'] }
def test_true(pf, dist, cd_tmp_path): write_toml(pf, { 'packages': {'requests': '*',}, 'dev-packages': {'setuptools': '>=41.0.0',}, }) with cd_tmp_path: use_pipfile(dist, 'use_pipfile', True) assert dist == { 'install_requires': ['requests'], 'tests_require': ['setuptools>=41.0.0'] }
def test_extras_style_three(pf): write_toml(pf, { 'dev-packages': { 'coverage': Spec({'extras': ['toml'], 'version': '*'}), } }) assert Pipfile(pf, extras=3).setup_kwargs() == { 'extras_require': { 'dev': ['coverage[toml]'], }, 'tests_require': ['coverage[toml]'], }
def test_url_with_version(pf): write_toml(pf, { 'packages': { "e682b37": Spec({ "git": "https://github.com/django/django.git", "version": "1.11.4", "editable": True }), } }) with pytest.raises(ValueError): Pipfile(pf).setup_kwargs()
def test_empty_dict(pp, pf, dist, cd_tmp_path): write_toml(pf, { 'packages': {'requests': '*',}, 'dev-packages': {'setuptools': '>=41.0.0',}, }) write_pyproject(pp, {}) with cd_tmp_path: finalize_dist(dist) assert dist == { 'install_requires': ['requests'], 'tests_require': ['setuptools>=41.0.0'] }
def test_extras_style_three(pf, dist): write_toml(pf, { 'dev-packages': { 'coverage': Spec({'extras': ['toml'], 'version': '*'}), } }) use_pipfile(dist, 'use_pipfile', {'path': pf, 'extras': 3}) assert dist == { 'extras_require': { 'dev': ['coverage[toml]'], }, 'tests_require': ['coverage[toml]'], }
def test_multiple_urls(pf): write_toml(pf, { 'packages': { "e682b37": Spec({ "file": "https://github.com/divio/django-cms/archive/release/3.4.x.zip", "git": "https://github.com/django/django.git", "ref": "1.11.4", "editable": True }), } }) with pytest.raises(ValueError): Pipfile(pf).setup_kwargs()
def test_complex_dependencies(pp, pf, dist): write_toml(pf, { "source": source + [ {'name': 'test', 'url': 'https://test.pypi.org/simple', 'verify_ssl': True} ], "dev-packages": { "records": ">0.5.0", "requests": Spec({ "version": "*", "extras": [ "socks" ] }), "django": Spec({ "git": "https://github.com/django/django.git", "ref": "1.11.4", "editable": True }), "e682b37": Spec({ "file": "https://github.com/divio/django-cms/archive/release/3.4.x.zip" }), "e1839a8": Spec({ "path": ".", "editable": True }), "pywinusb": Spec({ "version": "*", "sys_platform": "== 'win32'", "index": "test" }), "unittest2": Spec({ 'version': ">=1.0,<3.0", 'markers': "python_version < '2.7.9' or (python_version >= '3.0' and python_version < '3.4')", 'os_name': "== 'nt'" }) } }) write_pyproject(pp, str(pf.absolute())) finalize_dist(dist, str(pp.absolute())) assert dist == { 'tests_require': [ 'django @ git+https://github.com/django/[email protected]#egg=django', 'e682b37 @ https://github.com/divio/django-cms/archive/release/3.4.x.zip', "pywinusb ; sys_platform == 'win32'", 'records>0.5.0', 'requests[socks]', "unittest2>=1.0,<3.0 ; (python_version < '2.7.9' or (python_version >= '3.0' and python_version < '3.4')) and os_name == 'nt'", ], 'dependency_links': ['https://test.pypi.org/simple/pywinusb/'] }
def test_extras_style_three(pp, pf, dist): write_toml(pf, { 'dev-packages': { 'coverage': Spec({'extras': ['toml'], 'version': '*'}), } }) write_pyproject(pp, {'path': str(pf.absolute()), 'extras': 3}) finalize_dist(dist, str(pp.absolute())) assert dist == { 'extras_require': { 'dev': ['coverage[toml]'], }, 'tests_require': ['coverage[toml]'], }
def test_extras_style_one(pf, dist): write_toml(pf, { 'extra': { 'socks': { 'requests': Spec({'extras': ['socks'], 'version': '*'}), }, }, }) use_pipfile(dist, 'use_pipfile', {'path': pf, 'extras': True}) assert dist == { 'extras_require': { 'socks': ['requests[socks]'], }, }
def test_integer_three(pf, dist, cd_tmp_path): write_toml(pf, { 'dev-packages': { 'coverage': Spec({'extras': ['toml'], 'version': '*'}), } }) with cd_tmp_path: use_pipfile(dist, 'use_pipfile', 3) assert dist == { 'extras_require': { 'dev': ['coverage[toml]'], }, 'tests_require': ['coverage[toml]'], }
def test_integer_one(pf, dist, cd_tmp_path): write_toml(pf, { 'extra': { 'socks': { 'requests': Spec({'extras': ['socks'], 'version': '*'}), }, }, }) with cd_tmp_path: use_pipfile(dist, 'use_pipfile', 1) assert dist == { 'extras_require': { 'socks': ['requests[socks]'], }, }
def test_integer_three(pp, pf, dist, cd_tmp_path): write_toml(pf, { 'dev-packages': { 'coverage': Spec({'extras': ['toml'], 'version': '*'}), } }) write_pyproject(pp, 3) with cd_tmp_path: finalize_dist(dist) assert dist == { 'extras_require': { 'dev': ['coverage[toml]'], }, 'tests_require': ['coverage[toml]'], }
def test_extras_style_one(pp, pf, dist): write_toml(pf, { 'extra': { 'socks': { 'requests': Spec({'extras': ['socks'], 'version': '*'}), }, }, }) write_pyproject(pp, {'path': str(pf.absolute()), 'extras': True}) finalize_dist(dist, str(pp.absolute())) assert dist == { 'extras_require': { 'socks': ['requests[socks]'], }, }
def test_integer_one(pp, pf, dist, cd_tmp_path): write_toml(pf, { 'extra': { 'socks': { 'requests': Spec({'extras': ['socks'], 'version': '*'}), }, }, }) write_pyproject(pp, 1) with cd_tmp_path: finalize_dist(dist) assert dist == { 'extras_require': { 'socks': ['requests[socks]'], }, }
def test_extras_style_two(pf): write_toml(pf, { 'extra': [ { 'name': 'socks', 'packages': { 'requests': Spec({'extras': ['socks'], 'version': '*'}), } } ] }) assert Pipfile(pf, extras={'style': 2}).setup_kwargs() == { 'extras_require': { 'socks': ['requests[socks]'], } }
def test_extras_style_two(pf, dist): write_toml(pf, { 'extra': [ { 'name': 'socks', 'packages': { 'requests': Spec({'extras': ['socks'], 'version': '*'}), } } ] }) use_pipfile(dist, 'use_pipfile', {'path': pf, 'extras': {'style': 2}}) assert dist == { 'extras_require': { 'socks': ['requests[socks]'], } }
def test_extras_style_two(pp, pf, dist): write_toml(pf, { 'extra': [ { 'name': 'socks', 'packages': { 'requests': Spec({'extras': ['socks'], 'version': '*'}), } } ] }) write_pyproject(pp, {'path': str(pf.absolute()), 'extras': {'style': 2,}}) finalize_dist(dist, str(pp.absolute())) assert dist == { 'extras_require': { 'socks': ['requests[socks]'], } }
def test_integer_two(pf, dist, cd_tmp_path): write_toml(pf, { 'extra': [ { 'name': 'socks', 'packages': { 'requests': Spec({'extras': ['socks'], 'version': '*'}), } } ] }) with cd_tmp_path: use_pipfile(dist, 'use_pipfile', 2) assert dist == { 'extras_require': { 'socks': ['requests[socks]'], } }
def test_python_requires(pf, dist): write_toml(pf, {}) use_pipfile(dist, 'use_pipfile', {'path': pf, 'pythons': True}) assert dist == { 'python_requires': '=={0}'.format(requires['python_version']) }
def test_python_requires(pf): write_toml(pf, {}) assert Pipfile(pf, pythons=True).setup_kwargs() == { 'python_requires': '=={0}'.format(requires['python_version']) }