def repo_w(request, tmpdir_factory): path = generator(request, tmpdir_factory) r = Repository('rwtest') r.create(path) request.addfinalizer(lambda: shutil.rmtree(path)) request.addfinalizer(lambda: r.remove()) return r
def test_detect_invalid_version_in_meta(repo_w, tmpdir): rp = str(tmpdir) + '/r1' generate_structure(rp, ['0.1.0'], versions_meta=['0.1'], number=1) repo = Repository('repo_in_meta') with pytest.raises(RepositoryException) as ex: repo.create(rp) assert 'r1/first/0.1.0' in str(ex)
def _import(name, source, link): if name is None: name = os.path.split(source)[-1] repo = Repository(name) repo.create(source, link) cnt = len(list(repo.iter_contents())) click.echo( "Created new repository with {} resources".format(cnt))
def test_create_from_src(mock_mkdtemp, mock_rename, _): tmp_dir = '/tmp/dir' mock_mkdtemp.return_value = tmp_dir repo = Repository('create_from_src') real_path = repo.fpath repo.create(source='source') mock_rename.assert_called_with(tmp_dir, real_path) assert repo.fpath == real_path
def test_create_from_src_failed(mock_rmtree, mock_mkdtemp, mock_add_contents): tmp_dir = '/tmp/dir' mock_mkdtemp.return_value = tmp_dir mock_add_contents.side_effect = Exception() repo = Repository('fail_create') real_path = repo.fpath with pytest.raises(Exception): repo.create(source='source') mock_rmtree.assert_called_with(tmp_dir) assert repo.fpath == real_path
def test_two_repos(tmpdir): rp1 = str(tmpdir) + '/r1' rp2 = str(tmpdir) + '/r2' generate_structure(rp1, 2) generate_structure(rp2, 5) r1 = Repository('repo1') r1.create(rp1) r2 = Repository('repo2') r2.create(rp2) exp = set(['repo1', 'repo2']) got = set(Repository.list_repos()) assert got.intersection(exp) == exp assert Repository.contains('repo1/first:0.0.1') assert Repository.contains('repo2/first:0.0.1') assert Repository.contains('repo1/first:2.0.0') is False assert Repository.contains('repo2/first:2.0.0') r2.remove() exp = set(['repo1']) got = set(Repository.list_repos()) assert got.intersection(exp) == exp assert Repository.contains('repo2/first:2.0.0') is False
def repo_r(request, tmpdir_factory): path = generator(request, tmpdir_factory) r = Repository('rtest') r.create(path) return r
def create(name): repo = Repository(name) repo.create() click.echo("Repository created")
def repos_path(tmpdir_factory): Repository._REPOS_LOCATION = str(tmpdir_factory.mktemp('repositories')) repo = Repository('resources') repo.create()
def test_create_empty(): repo = Repository('empty') repo.create() assert 'empty' in Repository.list_repos()
def test_simple_create(ct): r = Repository('test') r.create(ct) for k, v in r.get_contents().items(): assert len(v) == 3