Example #1
0
def test_regenerate_pass(tmp_pths):
    tmp_dir, init_file = tmp_pths
    with open(tmp_dir / pkglts_dir / pkg_cfg_file, 'r') as fhr:
        pkg_cfg = json.load(fhr)

    cfg = Config(pkg_cfg)
    regenerate_package(cfg, tmp_dir)
    assert init_file.exists()
def test_regenerate_pass():
    with open(pj(tmp_dir, pkglts_dir, pkg_cfg_file), 'r') as f:
        cfg = json.load(f)

    cfg['base'] = dict(pkgname='toto', namespace=None,
                       authors=[('moi', '*****@*****.**')], url=None)
    env = create_env(cfg)
    regenerate_package(env, tmp_dir)
    assert exists(init_file)
Example #3
0
def test_regenerate_handle_global_overwrite(tmp_pths):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    addendum(init_file)

    regenerate_package(cfg, tmp_dir, overwrite=True)

    assert "modified" not in init_file.read_text()
Example #4
0
def test_regenerate_fail_if_permanent_section_ids_have_been_modified(tmp_pths):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    with open(init_file, 'a') as f:
        f.write("\n# {# pkglts, test\na = 1\n# #}\n")

    with pytest.raises(KeyError):
        regenerate_package(cfg, tmp_dir, overwrite=True)
def test_regenerate_handle_global_overwrite():
    env = get_pkg_config(tmp_dir)

    addendum()

    regenerate_package(env, tmp_dir, overwrite=True)

    with open(init_file, 'r') as f:
        txt = f.read()
        assert "modified" not in txt
Example #6
0
def test_regenerate_handle_conflicts_overwrite(tmp_pths, mocker):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    addendum(init_file)

    mocker.patch('pkglts.manage.get_user_permission', return_value=True)
    regenerate_package(cfg, tmp_dir)

    assert "modified" not in init_file.read_text()
Example #7
0
def test_regenerate_handle_conflicts_keep(tmp_pths, mocker):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    init_file.write_text("modified")

    mocker.patch('pkglts.manage.get_user_permission', return_value=False)
    regenerate_package(cfg, tmp_dir)

    assert init_file.read_text() == "modified"
Example #8
0
def test_regenerate_remove_tpl_files_do_not_generate_conflicts(tmp_pths):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    regenerate_package(cfg, tmp_dir)

    init_file.unlink()

    regenerate_package(cfg, tmp_dir)
    assert init_file.exists()
Example #9
0
def test_regenerate_handle_global_overwrite(tmp_pths):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    addendum(init_file)

    regenerate_package(cfg, tmp_dir, overwrite=True)

    with open(init_file, 'r') as f:
        txt = f.read()
        assert "modified" not in txt
Example #10
0
def test_regenerate_new_files_do_not_generate_conflicts(tmp_pths):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    new_pth = tmp_dir / "src/toto/new_file.py"
    new_pth.write_text("txt = 'addendum'")

    regenerate_package(cfg, tmp_dir)

    assert new_pth.exists()
    assert new_pth.read_text() == "txt = 'addendum'"
def setup():
    ensure_created(tmp_dir)
    init_pkg(tmp_dir)
    with open(pj(tmp_dir, pkglts_dir, pkg_cfg_file), 'r') as f:
        cfg = json.load(f)

    cfg['base'] = dict(pkgname='toto', namespace=None,
                       authors=[('moi', '*****@*****.**')], url=None)
    env = create_env(cfg)
    write_pkg_config(env, tmp_dir)
    regenerate_package(env, tmp_dir)
Example #12
0
def test_regenerate_handle_conflicts_keep(tmp_pths, mocker):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    with open(init_file, 'w') as f:
        f.write("modified")

    with mocker.patch('pkglts.manage.get_user_permission', return_value=False):
        regenerate_package(cfg, tmp_dir)

    with open(init_file, 'r') as f:
        assert f.read() == "modified"
def test_regenerate_handle_conflicts_overwrite():
    env = get_pkg_config(tmp_dir)

    addendum()

    with mock.patch('pkglts.manage.get_user_permission',
                    return_value=True):
        regenerate_package(env, tmp_dir)

    with open(init_file, 'r') as f:
        txt = f.read()
        assert "modified" not in txt
Example #14
0
def test_regenerate_pass(tmp_pths):
    tmp_dir, init_file = tmp_pths
    with open(pj(tmp_dir, pkglts_dir, pkg_cfg_file), 'r') as f:
        pkg_cfg = json.load(f)

    pkg_cfg['base'] = dict(pkgname='toto', namespace=None,
                           authors=[('moi', '*****@*****.**')],
                           namespace_method="pkg_util",
                           url=None)
    cfg = Config(pkg_cfg)
    regenerate_package(cfg, tmp_dir)
    assert exists(init_file)
def test_regenerate_handle_conflicts_keep():
    env = get_pkg_config(tmp_dir)

    with open(init_file, 'w') as f:
        f.write("modified")

    with mock.patch('pkglts.manage.get_user_permission',
                    return_value=False):
        regenerate_package(env, tmp_dir)

    with open(init_file, 'r') as f:
        assert f.read() == "modified"
Example #16
0
def test_regenerate_handle_conflicts_overwrite(tmp_pths):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    addendum(init_file)

    with mock.patch('pkglts.manage.get_user_permission',
                    return_value=True):
        regenerate_package(cfg, tmp_dir)

    with open(init_file, 'r') as f:
        txt = f.read()
        assert "modified" not in txt
def test_regenerate_remove_user_files_do_not_generate_conflicts():
    env = get_pkg_config(tmp_dir)

    new_pth = pj(tmp_dir, "src", "toto", "new_file.py")
    with open(new_pth, 'w') as f:
        f.write("txt = 'addendum'")

    regenerate_package(env, tmp_dir)

    remove(new_pth)

    regenerate_package(env, tmp_dir)
    assert not exists(new_pth)
Example #18
0
def test_regenerate_remove_user_files_do_not_generate_conflicts(tmp_pths):
    tmp_dir, init_file = tmp_pths
    cfg = get_pkg_config(tmp_dir)

    new_pth = pj(tmp_dir, "src", "toto", "new_file.py")
    with open(new_pth, 'w') as f:
        f.write("txt = 'addendum'")

    regenerate_package(cfg, tmp_dir)

    remove(new_pth)

    regenerate_package(cfg, tmp_dir)
    assert not exists(new_pth)
def test_regenerate_fail_if_permanent_section_ids_have_been_modified():
    env = get_pkg_config(tmp_dir)

    with open(init_file, 'a') as f:
        f.write("\n# {# pkglts, test\na = 1\n# #}\n")

    assert_raises(KeyError, lambda: regenerate_package(env, tmp_dir, overwrite=True))
def test_regenerate_check_pkg_cfg_validity():
    with open(pj(tmp_dir, pkglts_dir, pkg_cfg_file), 'r') as f:
        cfg = json.load(f)

    cfg['base'] = dict(pkgname='1toto', namespace=None,
                       authors=[('moi', '*****@*****.**')], url=None)
    env = create_env(cfg)
    assert not regenerate_package(env, tmp_dir)
Example #21
0
def test_regenerate_check_pkg_cfg_validity(tmp_pths):
    tmp_dir, init_file = tmp_pths
    with open(tmp_dir / pkglts_dir / pkg_cfg_file, 'r') as fhr:
        pkg_cfg = json.load(fhr)

    pkg_cfg['base']['pkgname'] = '1toto'

    cfg = Config(pkg_cfg)
    assert not regenerate_package(cfg, tmp_dir)
Example #22
0
def tmp_pths():
    pth = 'toto_mg_rg'
    ensure_created(pth)
    init_pkg(pth)
    with open(pj(pth, pkglts_dir, pkg_cfg_file), 'r') as f:
        pkg_cfg = json.load(f)

    pkg_cfg['base'] = dict(pkgname='toto', namespace=None,
                           authors=[('moi', '*****@*****.**')],
                           namespace_method="pkg_util",
                           url=None)
    cfg = Config(pkg_cfg)
    write_pkg_config(cfg, pth)
    regenerate_package(cfg, pth)

    init_file = pj(pth, "src", "toto", "__init__.py")

    yield pth, init_file

    rmdir(pth)
Example #23
0
def tmp_pths():
    pth = Path('toto_mg_rg')
    ensure_created(pth)
    init_pkg(pth)
    with open((pth / pkglts_dir / pkg_cfg_file), 'r') as fhr:
        pkg_cfg = json.load(fhr)

    pkg_cfg['base'] = dict(pkgname='toto',
                           namespace=None,
                           authors=[('moi', '*****@*****.**')],
                           url=None)
    pkg_cfg['src'] = dict(namespace_method="pkg_util")

    cfg = Config(pkg_cfg)
    write_pkg_config(cfg, pth)
    regenerate_package(cfg, pth)

    init_file = pth / "src/toto/__init__.py"

    yield pth, init_file

    rmdir(pth)