Exemple #1
0
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
Exemple #2
0
def test_require(opt):
    cfg = Config(dict(base={}, doc={'fmt': 'rst'}))

    assert len(tuple(opt.require(cfg))) == 0

    cfg = Config(dict(base={}, doc={'fmt': 'md'}))
    assert len(tuple(opt.require(cfg))) == 1
Exemple #3
0
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
Exemple #4
0
def test_config_check_pkg_names(opt):
    for pkg in ('1mypkg', ' mypkg', '1', '1.mypkg', ' .mypkg', '.mypkg',
                'None.mypkg', 'oa.o.mypkg'):
        cfg = Config(
            dict(
                base={
                    'pkgname': pkg,
                    'namespace': None,
                    'namespace_method': "pkg_util",
                    'owner': 'moi',
                    'url': None
                }))
        assert 'base.pkgname' in opt.check(cfg)
        cfg = Config(
            dict(
                base={
                    'pkgname': 'toto',
                    'namespace': pkg,
                    'namespace_method': "pkg_util",
                    'owner': 'moi',
                    'url': None
                }))
        assert 'base.namespace' in opt.check(cfg)

    cfg = Config(
        dict(
            base={
                'pkgname': 'toto',
                'namespace': None,
                'namespace_method': "toto",
                'owner': 'moi',
                'url': None
            }))
    assert 'base.namespace_method' in opt.check(cfg)
Exemple #5
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
Exemple #6
0
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
Exemple #7
0
def test_config_check_license_name_exists(opt):
    cfg = Config(dict(license={'name': "", 'year': 2015,
                               'organization': "oa", 'project': "project"}))
    assert 'license.name' in opt.check(cfg)

    cfg = Config(dict(license={'name': "tugudu", 'year': 2015,
                               'organization': "oa", 'project': "project"}))
    assert 'license.name' in opt.check(cfg)
Exemple #8
0
def test_config_check_plugin_names(opt):
    cfg = Config(dict(plugin_project={'plugin_name': "walou"}))
    assert 'plugin_project.plugin_name' not in opt.check(cfg)

    for pkg in ('1mypkg', ' mypkg', '1', '1.mypkg', ' .mypkg', '.mypkg',
                'None.mypkg', 'oa.o.mypkg'):
        cfg = Config(dict(plugin_project={'plugin_name': pkg}))
        assert 'plugin_project.plugin_name' in opt.check(cfg)
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")
Exemple #10
0
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
Exemple #11
0
def test_require(opt):
    cfg = Config(dict(test={'suite_name': 'pytest'}))
    opt.update_parameters(cfg)

    assert len(tuple(opt.require(cfg))) == 2

    cfg = Config(dict(test={'suite_name': 'nose'}))
    opt.update_parameters(cfg)
    assert len(tuple(opt.require(cfg))) == 1
Exemple #12
0
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)
Exemple #13
0
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
Exemple #14
0
def test_require():
    cfg = Config(dict(coverage={}, test={'suite_name': 'pytest'}))

    assert len(require('option', cfg)) == 1
    assert len(require('setup', cfg)) == 0
    assert len(require('install', cfg)) == 0
    assert len(require('dvlpt', cfg)) == 2

    cfg = Config(dict(coverage={}, test={'suite_name': 'nose'}))
    assert len(require('dvlpt', cfg)) == 1
Exemple #15
0
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
Exemple #16
0
def test_require():
    cfg = Config(dict(base={}, doc={'fmt': 'rst'}))

    assert len(require('option', cfg)) == 1
    assert len(require('setup', cfg)) == 0
    assert len(require('install', cfg)) == 0
    assert len(require('dvlpt', cfg)) == 0

    cfg = Config(dict(base={}, doc={'fmt': 'md'}))
    assert len(require('dvlpt', cfg)) == 1
Exemple #17
0
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"))
Exemple #18
0
def test_src_dir():
    cfg = {}
    with pytest.raises(KeyError):
        pkg_full_name(Config(cfg))

    cfg['base'] = dict(pkgname='toto', namespace=None)
    dir1 = src_dir(Config(cfg))
    cfg['base']['namespace'] = 'oa'
    dir2 = src_dir(Config(cfg))

    assert dir1 != dir2
Exemple #19
0
def test_pkg_full_name():
    cfg = {}
    with pytest.raises(KeyError):
        pkg_full_name(Config(cfg))

    cfg['base'] = dict(pkgname='toto', namespace=None)
    name1 = pkg_full_name(Config(cfg))
    cfg['base']['namespace'] = 'oa'
    name2 = pkg_full_name(Config(cfg))

    assert name1 != name2
Exemple #20
0
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()
Exemple #21
0
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
Exemple #22
0
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"))
Exemple #23
0
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()
Exemple #24
0
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()
Exemple #25
0
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"
Exemple #27
0
def test_config_check_version_numbers_are_valid(opt):
    cfg = Config(dict(version={'major': "", 'minor': "", 'post': ""}))
    assert 'version.major' in opt.check(cfg)
    assert 'version.minor' in opt.check(cfg)
    assert 'version.post' in opt.check(cfg)
    cfg = Config(dict(version={'major': "a", 'minor': "a", 'post': "a"}))
    assert 'version.major' in opt.check(cfg)
    assert 'version.minor' in opt.check(cfg)
    assert 'version.post' in opt.check(cfg)
    cfg = Config(dict(version={'major': "1", 'minor': "1", 'post': "1"}))
    assert 'version.major' in opt.check(cfg)
    assert 'version.minor' in opt.check(cfg)
    assert 'version.post' in opt.check(cfg)
    cfg = Config(dict(version={'major': 1, 'minor': 0, 'post': "2.dev"}))
    assert 'version.post' in opt.check(cfg)
Exemple #28
0
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
Exemple #29
0
def test_config_check_intended_version_exists():
    cfg = Config(dict(pysetup={'intended_versions': [], 'require': []}))
    assert 'pysetup.intended_versions' in check(cfg)
    assert 'pysetup.require' not in check(cfg)

    cfg = Config(
        dict(
            pysetup={
                'intended_versions': ["27"],
                'require': [{
                    'pkg_mng': 'walou',
                    'name': 'numpy'
                }]
            }))
    assert 'pysetup.require' in check(cfg)
Exemple #30
0
def test_require():
    cfg = Config(dict(notebook={}))

    assert len(require('option', cfg)) == 1
    assert len(require('setup', cfg)) == 0
    assert len(require('install', cfg)) == 0
    assert len(require('dvlpt', cfg)) == 1