def test_requirements(): cfg = Config(dict(test={'suite_name': 'pytest'}, pysetup={'intended_versions': ["27"], 'require': []})) cfg.load_extra() assert len(cfg._env.globals['pysetup'].requirements('install')) == 0 assert len(cfg._env.globals['pysetup'].requirements('test')) == 2
def test_contributors_without_failed_request(mocker): commits = b'commit Author: a <toto@titi>\n, commit: Author: b <tata@titi>\n, commit: Author: b <tata@titi>\n' mocker.patch('subprocess.check_output', return_value=commits) cfg = Config(dict(git={})) cfg.load_extra() contributors = cfg._env.globals['git'].contributors assert len(contributors) == 2
def test_requirements(): cfg = Config(dict(test={'suite_name': 'pytest'}, reqs={'require': []})) cfg.load_extra() assert len(cfg._env.globals['reqs'].requirements('install')) == 0 assert len(cfg._env.globals['reqs'].requirements('test')) == 2 assert len(cfg._env.globals['reqs'].intents()) >= 4 assert len(cfg._env.globals['reqs'].conda_reqs('install')) >= 0 assert len(cfg._env.globals['reqs'].pip_reqs('install')) >= 0
def test_install_example_ok_if_option_do_not_provide_examples(tmp_dir): pkg_cfg = deepcopy(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname='toto', namespace=None) cfg = Config(pkg_cfg) cfg.load_extra() ans = install_example_files('base', cfg, tmp_dir) assert not ans
def test_pkg_env_loads_specific_handlers_from_options(): pkg_cfg = dict(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname="toto", namespace="nm", url=None, authors=[("moi", "moi@aussi")]) cfg = Config(pkg_cfg) cfg.load_extra() assert hasattr(cfg._env.globals['base'], "pkg_full_name")
def test_badge(): cfg = Config(dict(base={'pkgname': "pkg", 'namespace': None, "url": "http://toto"}, doc={'fmt': 'rst'}, pysetup={"intended_versions": ["27", "28"], 'require': []}, pypi={'classifiers': [], 'servers': [dict(name="pypi", url="https://upload.pypi.org/legacy/")]})) cfg.load_extra() assert ".. image:" in cfg._env.globals['pypi'].badge
def test_install_example_do_not_complain_if_file_already_exists(tmp_dir): pkg_cfg = deepcopy(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname='toto', namespace=None) pkg_cfg['test'] = dict(suite_name='nose') cfg = Config(pkg_cfg) cfg.load_extra() assert install_example_files('test', cfg, tmp_dir) assert install_example_files('test', cfg, tmp_dir)
def test_badge(): cfg = Config( dict(landscape={}, doc={'fmt': 'rst'}, github={ 'owner': "moi", 'project': "project" })) cfg.load_extra() assert ".. image:" in cfg._env.globals['landscape'].badge
def test_badge(): cfg = Config( dict(appveyor={'token': "ae34f"}, doc={'fmt': 'rst'}, github={ 'owner': "moi", 'project': "project" })) cfg.load_extra() assert ".. image:" in cfg._env.globals['appveyor'].badge
def test_install_example_copy_binary_files(tmp_dir): pkg_cfg = deepcopy(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname='toto', namespace=None) pkg_cfg['data'] = dict(filetype=[".png", ".ui"], use_ext_dir=True) cfg = Config(pkg_cfg) cfg.load_extra() assert len(tuple(tmp_dir.iterdir())) == 0 install_example_files('data', cfg, tmp_dir) assert len(tuple(tmp_dir.iterdir())) > 0 assert (tmp_dir / "src/toto_data/ext_data.png").exists()
def test_auto_classifiers(): cfg = Config(dict(base={'pkgname': "pkg", 'namespace': None, "url": "http://toto"}, doc={'fmt': 'rst'}, pysetup={"intended_versions": ["27", "28"], 'require': []}, pypi={'classifiers': [], 'servers': []})) cfg.load_extra() section = cfg._env.globals['pypi'] assert "Programming Language :: Python" in section.auto_classifiers assert "Programming Language :: Python :: 2.7" in section.auto_classifiers
def test_install_example_handles_namespace(tmp_dir): pkg_cfg = deepcopy(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname='toto', namespace='oa', namespace_method='pkg_utils') pkg_cfg['test'] = dict(suite_name='nose') cfg = Config(pkg_cfg) cfg.load_extra() install_example_files('test', cfg, tmp_dir) assert exists(pj(tmp_dir, "test", "test_example.py")) assert not exists(pj(tmp_dir, "src", "toto", "example.py")) assert exists(pj(tmp_dir, "src", "oa", "toto", "example.py"))
def test_install_example_copy_binary_files(tmp_dir): pkg_cfg = deepcopy(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname='toto', namespace=None) pkg_cfg['data'] = dict() cfg = Config(pkg_cfg) cfg.load_extra() assert len(listdir(tmp_dir)) == 0 install_example_files('data', cfg, tmp_dir) assert len(listdir(tmp_dir)) > 0 assert exists(pj(tmp_dir, "src", "toto_data", "ext_data.png"))
def test_install_example_copy_files(tmp_dir): pkg_cfg = deepcopy(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname='toto', namespace=None) pkg_cfg['test'] = dict(suite_name='nose') cfg = Config(pkg_cfg) cfg.load_extra() assert len(tuple(tmp_dir.iterdir())) == 0 install_example_files('test', cfg, tmp_dir) assert len(tuple(tmp_dir.iterdir())) > 0 assert (tmp_dir / "src/toto/example.py").exists() assert (tmp_dir / "test/test_example.py").exists()
def test_install_example_handles_namespace(tmp_dir): pkg_cfg = deepcopy(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname='toto', namespace='oa') pkg_cfg['src'] = dict(namespace_method='pkg_utils') pkg_cfg['test'] = dict(suite_name='nose') cfg = Config(pkg_cfg) cfg.load_extra() install_example_files('test', cfg, tmp_dir) assert (tmp_dir / "test/test_example.py").exists() assert not (tmp_dir / "src/toto/example.py").exists() assert (tmp_dir / "src/oa/toto/example.py").exists()
def test_install_example_copy_files(tmp_dir): pkg_cfg = deepcopy(DEFAULT_CFG) pkg_cfg['base'] = dict(pkgname='toto', namespace=None) pkg_cfg['test'] = dict(suite_name='nose') cfg = Config(pkg_cfg) cfg.load_extra() assert len(listdir(tmp_dir)) == 0 install_example_files('test', cfg, tmp_dir) assert len(listdir(tmp_dir)) > 0 assert exists(pj(tmp_dir, "src", "toto", "example.py")) assert exists(pj(tmp_dir, "test", "test_example.py"))
def test_src_pth(): cfg = Config({ 'base': { 'pkgname': 'toto', 'namespace': None }, 'src': { 'namespace_method': 'pkg_util' } }) cfg.load_extra() assert cfg._env.globals['src'].src_pth == "src/toto"
def test_pkg_url_look_multiple_places(): tpl_cfg = dict(base={'pkgname': 'toto', 'namespace': 'oa', 'url': None}, doc={'fmt': 'rst'}, github={'url': None, 'project': 'project', 'owner': 'toto'}, gitlab={'url': None, 'project': 'project', 'owner': 'toto'}, pypi={'classifiers': [], 'servers': [dict(name="pypi", url="https://upload.pypi.org/legacy/")]}, readthedocs={'project': 'project'}, pysetup={'intended_versions': ["27"]}) for name in ("base", "github", "gitlab"): # TODO, "pypi", "readthedocs"): loc_cfg = deepcopy(tpl_cfg) loc_cfg[name]['url'] = name cfg = Config(loc_cfg) cfg.load_extra() assert cfg._env.globals['pysetup'].pkg_url == name
def test_pkg_url_look_multiple_places(): tpl_cfg = dict(base={ 'pkgname': 'toto', 'namespace': 'oa', 'url': None }, doc={'fmt': 'rst'}, github={'url': None}, pypi={ 'classifiers': [], 'url': None }, readthedocs={'project': 'project'}, pysetup={ 'intended_versions': ["27"], 'require': [] }) for name in ("base", "github", "pypi", "readthedocs"): loc_cfg = deepcopy(tpl_cfg) loc_cfg[name]['url'] = name cfg = Config(loc_cfg) cfg.load_extra() assert cfg._env.globals['pysetup'].pkg_url == name
def test_py_min_ver_uses_min_intended_version(): cfg = Config(dict(pysetup={"intended_versions": ["27"]})) cfg.load_extra() assert cfg._env.globals['pysetup'].py_min_ver == "2.7" cfg = Config(dict(pysetup={"intended_versions": ["27", "36"]})) cfg.load_extra() assert cfg._env.globals['pysetup'].py_min_ver == "2.7" cfg = Config(dict(pysetup={"intended_versions": ["36", "37"]})) cfg.load_extra() assert cfg._env.globals['pysetup'].py_min_ver == "3.6"
def test_pkg_url_empty_default(): cfg = Config(dict(pysetup={"intended_versions": ["27"], 'require': []})) cfg.load_extra() assert cfg._env.globals['pysetup'].pkg_url == ""
def test_badge(): cfg = Config(dict(doc={'fmt': 'rst'}, readthedocs={'project': "project"})) cfg.load_extra() assert ".. image:" in cfg._env.globals['readthedocs'].badge
def test_src_pth(): cfg = Config({'base': {'pkgname': 'toto', 'namespace': None}}) cfg.load_extra() assert cfg._env.globals['base'].src_pth == "src/toto"
def test_contributors_with_failed_request(mocker): mocker.patch('subprocess.check_output', side_effect=KeyError) cfg = Config(dict(git={})) cfg.load_extra() assert "failed" in cfg._env.globals['git'].contributors[0]
def test_install_example_returns_false_if_option_not_already_installed( tmp_dir): cfg = Config(DEFAULT_CFG) cfg.load_extra() ans = install_example_files('option', cfg, tmp_dir) assert not ans
def test_generate(): cfg = Config( dict(license=dict( name='mit', year="2015", organization="org", project="project"))) cfg.load_extra() assert len(cfg._env.globals['license'].full_text) > 0