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)
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()
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
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()
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"
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()
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
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)
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
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"
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)
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)
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)
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)
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)