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_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 #3
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 #4
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")
Exemple #6
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 #7
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 #8
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 #9
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 #10
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 #11
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 #12
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 #13
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 #14
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 #15
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 #16
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 #18
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 #19
0
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
Exemple #20
0
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"
Exemple #21
0
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
Exemple #23
0
def test_src_pth():
    cfg = Config({'base': {'pkgname': 'toto', 'namespace': None}})
    cfg.load_extra()
    assert cfg._env.globals['base'].src_pth == "src/toto"
Exemple #24
0
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]
Exemple #25
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