def test_construction_from_path(minimal_srpm_path): """Metadata can be read for a file path.""" package = rpm.LocalPackage(minimal_srpm_path) assert package.metadata.name == "test" assert package.metadata.epoch == 0 assert package.metadata.arch == "src" assert package.path == minimal_srpm_path
def test_repo_builds_are_reported(configured_group, minimal_srpm_path): """Builds in configured repos are reported.""" builds = list(configured_group.latest_builds("test-repo")) assert len(builds) == 1 build, = builds assert isinstance(build, rpm.Metadata) assert build == rpm.LocalPackage(minimal_srpm_path).metadata
def existing_package(new_package): """Package already existing in build service.""" desired = next(iter(MockBuilder.packages["test"])) desired_path = new_package.path.with_name("{.nevra}.rpm".format(desired)) desired_path.touch() yield rpm.LocalPackage(path=desired_path, metadata=desired) desired_path.unlink()
def test_packages_are_downloaded(configured_group, minimal_srpm_path, tmpdir_factory): """Packages can be downloaded from the repo""" target_dir = Path(str(tmpdir_factory.mktemp("dnf-download"))) request = rpm.LocalPackage(minimal_srpm_path) result = configured_group.download(request, target_dir) assert result assert result.path.relative_to(target_dir) assert result.metadata == request.metadata
def local_pkg(metadata, minimal_srpm_path) -> rpm.LocalPackage: """Provide LocalPackage object""" return rpm.LocalPackage(path=minimal_srpm_path, metadata=metadata)
def new_package(minimal_srpm_path): """Package not yet built in the service.""" return rpm.LocalPackage(minimal_srpm_path)