-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Bruno Pimentel <[email protected]>
- Loading branch information
1 parent
26e54fa
commit fdaebb5
Showing
6 changed files
with
262 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
environment_variables: [] | ||
project_files: [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,171 @@ | ||
{ | ||
"bomFormat": "CycloneDX", | ||
"components": [ | ||
{ | ||
"name": "gpm-libs", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=x86_64&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/g/gpm-libs-1.20.7-44.fc39.x86_64.rpm", | ||
"type": "library", | ||
"version": "1.20.7" | ||
}, | ||
{ | ||
"name": "gpm", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=i686&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/source/tree/Packages/g/gpm-1.20.7-44.fc39.src.rpm", | ||
"type": "library", | ||
"version": "1.20.7" | ||
}, | ||
{ | ||
"name": "libsodium", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=i686&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/source/tree/Packages/l/libsodium-1.0.18-14.fc39.src.rpm", | ||
"type": "library", | ||
"version": "1.0.18" | ||
}, | ||
{ | ||
"name": "libsodium", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=x86_64&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/l/libsodium-1.0.18-14.fc39.x86_64.rpm", | ||
"type": "library", | ||
"version": "1.0.18" | ||
}, | ||
{ | ||
"name": "vim-common", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=x86_64&epoch=2&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/v/vim-common-9.0.1927-1.fc39.x86_64.rpm", | ||
"type": "library", | ||
"version": "9.0.1927" | ||
}, | ||
{ | ||
"name": "vim-data", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=noarch&epoch=2&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/v/vim-data-9.0.1927-1.fc39.noarch.rpm", | ||
"type": "library", | ||
"version": "9.0.1927" | ||
}, | ||
{ | ||
"name": "vim-enhanced", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=x86_64&epoch=2&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/v/vim-enhanced-9.0.1927-1.fc39.x86_64.rpm", | ||
"type": "library", | ||
"version": "9.0.1927" | ||
}, | ||
{ | ||
"name": "vim-filesystem", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=noarch&epoch=2&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/v/vim-filesystem-9.0.1927-1.fc39.noarch.rpm", | ||
"type": "library", | ||
"version": "9.0.1927" | ||
}, | ||
{ | ||
"name": "vim-minimal", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=x86_64&epoch=2&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/v/vim-minimal-9.0.1927-1.fc39.x86_64.rpm", | ||
"type": "library", | ||
"version": "9.0.1927" | ||
}, | ||
{ | ||
"name": "vim", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=i686&epoch=2&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/source/tree/Packages/v/vim-9.0.1927-1.fc39.src.rpm", | ||
"type": "library", | ||
"version": "9.0.1927" | ||
}, | ||
{ | ||
"name": "which", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=i686&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/source/tree/Packages/w/which-2.21-40.fc39.src.rpm", | ||
"type": "library", | ||
"version": "2.21" | ||
}, | ||
{ | ||
"name": "which", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=x86_64&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/w/which-2.21-40.fc39.x86_64.rpm", | ||
"type": "library", | ||
"version": "2.21" | ||
}, | ||
{ | ||
"name": "xxd", | ||
"properties": [ | ||
{ | ||
"name": "cachi2:found_by", | ||
"value": "cachi2" | ||
} | ||
], | ||
"purl": "pkg:rpm/fedora%20project/[email protected]?arch=x86_64&epoch=2&download_url=http%3A//fedora.c3sl.ufpr.br/linux/releases/39/Everything/x86_64/os/Packages/x/xxd-9.0.1927-1.fc39.x86_64.rpm", | ||
"type": "library", | ||
"version": "9.0.1927" | ||
} | ||
], | ||
"metadata": { | ||
"tools": [ | ||
{ | ||
"name": "cachi2", | ||
"vendor": "red hat" | ||
} | ||
] | ||
}, | ||
"specVersion": "1.4", | ||
"version": 1 | ||
} |
6 changes: 6 additions & 0 deletions
6
tests/integration/test_data/rpm_e2e_test/container/Containerfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
FROM registry.fedoraproject.org/fedora:39 | ||
|
||
RUN dnf -y install \ | ||
vim | ||
|
||
CMD ["vim", "--help"] |
15 changes: 15 additions & 0 deletions
15
tests/integration/test_data/rpm_e2e_test/fetch_deps_sha256sums.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"rpm/x86_64/releases/gpm-1.20.7-44.fc39.src.rpm": "sha256:2eb2412dde91b1130433c90ad53b889cb1e0fb0df324e015f29e76d7235ac438", | ||
"rpm/x86_64/releases/gpm-libs-1.20.7-44.fc39.x86_64.rpm": "sha256:f5c8f20f0f9468da8cdf140d7df30ed117a43b73eee816888e2624b0fcd048ca", | ||
"rpm/x86_64/releases/libsodium-1.0.18-14.fc39.src.rpm": "sha256:d20e5f6e358aa0c07260872ffb00d502f77778ae7496a836da0a65a6ce1cd709", | ||
"rpm/x86_64/releases/libsodium-1.0.18-14.fc39.x86_64.rpm": "sha256:e38200a7b1012935dc83e8039c71c0fd2f84a4463ca086cb42f60f488cdad8e7", | ||
"rpm/x86_64/releases/vim-9.0.1927-1.fc39.src.rpm": "sha256:dae76267f265093d0e1b178c05af197bc21b994a264c9c4e7701cce095b62f03", | ||
"rpm/x86_64/releases/vim-common-9.0.1927-1.fc39.x86_64.rpm": "sha256:4cb8015a858439f519d5d2aa82fd853f3d1dd7f927a33d25d9598e54ee6201bc", | ||
"rpm/x86_64/releases/vim-data-9.0.1927-1.fc39.noarch.rpm": "sha256:35d7b9542e46eca30d951960effe9a8e738543a839f0dbb3cf723da0958c355b", | ||
"rpm/x86_64/releases/vim-enhanced-9.0.1927-1.fc39.x86_64.rpm": "sha256:615d46a08fbbd0eca6a6e8d2d23a6b5847db11c886e0dc979ffebab66236532d", | ||
"rpm/x86_64/releases/vim-filesystem-9.0.1927-1.fc39.noarch.rpm": "sha256:f645ed8cda2fa07ba991320a684d9b71de75ff25220468b08fb36f6a5a231178", | ||
"rpm/x86_64/releases/vim-minimal-9.0.1927-1.fc39.x86_64.rpm": "sha256:37a216f1af9f2eb961a9fa6674861146d11ca56fc9c576fa17a8cb7d806aa0af", | ||
"rpm/x86_64/releases/which-2.21-40.fc39.src.rpm": "sha256:791428d30c136a2ff8e781b9c32cbd3d506699f1369ae2a589c02fceb72d4533", | ||
"rpm/x86_64/releases/which-2.21-40.fc39.x86_64.rpm": "sha256:ec1d8a1c0d88883a03e96ba88a6278899bd559fb37833cb2383ffdd6a38c22ae", | ||
"rpm/x86_64/releases/xxd-9.0.1927-1.fc39.x86_64.rpm": "sha256:e770b0a0e5e51225a76069d2210551a90f3140913f90f33759d002055179ecc7" | ||
} |
1 change: 1 addition & 0 deletions
1
tests/integration/test_data/rpm_e2e_test/vendor_sha256sums.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
from pathlib import Path | ||
from typing import List | ||
|
||
import pytest | ||
|
||
from . import utils | ||
|
||
|
||
@pytest.mark.parametrize( | ||
"test_params, check_cmd, expected_cmd_output", | ||
[ | ||
# Test case that checks fetching RPM files, generating repos and repofiles, building an | ||
# image that requires the RPM files to be installed and running the image to check if the | ||
# RPMs were properly installed | ||
pytest.param( | ||
utils.TestParameters( | ||
repo="https://github.com/cachito-testing/cachi2-rpm.git", | ||
ref="eef99f074a9abd288b421697d7e00cec77590d0d", | ||
packages=( | ||
{ | ||
"type": "rpm", | ||
}, | ||
), | ||
flags=["--dev-package-managers"], | ||
expected_exit_code=0, | ||
expected_output="All dependencies fetched successfully", | ||
), | ||
["vim", "--version"], | ||
["VIM - Vi IMproved 9.0"], | ||
id="rpm_e2e_test", | ||
), | ||
], | ||
) | ||
def test_e2e_rpm( | ||
test_params: utils.TestParameters, | ||
check_cmd: List[str], | ||
expected_cmd_output: str, | ||
cachi2_image: utils.ContainerImage, | ||
tmp_path: Path, | ||
test_data_dir: Path, | ||
request: pytest.FixtureRequest, | ||
) -> None: | ||
""" | ||
End to end test for rpms. | ||
:param test_params: Test case arguments | ||
:param tmp_path: Temp directory for pytest | ||
""" | ||
test_case = request.node.callspec.id | ||
|
||
source_folder = utils.clone_repository( | ||
test_params.repo, test_params.ref, f"{test_case}-source", tmp_path | ||
) | ||
|
||
output_folder = utils.fetch_deps_and_check_output( | ||
tmp_path, test_case, test_params, source_folder, test_data_dir, cachi2_image | ||
) | ||
|
||
utils.build_image_and_check_cmd( | ||
tmp_path, | ||
output_folder, | ||
test_data_dir, | ||
test_case, | ||
check_cmd, | ||
expected_cmd_output, | ||
cachi2_image, | ||
) |