diff --git a/CHANGES/59.misc b/CHANGES/59.misc new file mode 100644 index 0000000..200dcda --- /dev/null +++ b/CHANGES/59.misc @@ -0,0 +1 @@ +Added more tests to verify the functionality of importing child commits. diff --git a/tests/scripts/pulp_ostree/test_importing_commits_with_import_all.sh b/tests/scripts/pulp_ostree/test_importing_commits_with_import_all.sh new file mode 100755 index 0000000..8dc8955 --- /dev/null +++ b/tests/scripts/pulp_ostree/test_importing_commits_with_import_all.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +# shellcheck source=tests/scripts/config.source +. "$(dirname "$(dirname "$(realpath "$0")")")/config.source" + +cleanup() { + pulp ostree repository destroy --name "cli_test_ostree_repository_import_all_only" || true + pulp ostree distribution destroy --name "cli_test_ostree_distro_import_all_only" || true + pulp orphan cleanup || true +} +trap cleanup EXIT + +workdir=$(mktemp -d) +cd "${workdir}" + +# prepare pulp +expect_succ pulp ostree repository create --name "cli_test_ostree_repository_import_all_only" +expect_succ pulp ostree distribution create --name "cli_test_ostree_distro_import_all_only" \ + --repository "cli_test_ostree_repository_import_all_only" \ + --base-path "cli_test_ostree_distro_import_all_only" + +BASE_URL=$(echo "$OUTPUT" | jq -r ".base_url") + +# first commit +mkdir "${workdir}/first" +cd "${workdir}/first" +ostree --repo="${workdir}/first/repo" init --mode=archive +mkdir "${workdir}/first/files" +echo "one" > files/file.txt +commit=$( + ostree commit --repo "${workdir}/first/repo" --branch ostree-main "${workdir}/first/files/" +) + +cd "${workdir}/first" +tar czvf repo.tar "repo/" + +# first upload +expect_succ pulp ostree repository import-all --name "cli_test_ostree_repository_import_all_only" \ + --file "repo.tar" \ + --repository_name "repo" + +# second commit +mkdir "${workdir}/second" +cd "${workdir}/second" +mkdir files +echo "two" > files/file2.txt +ostree --repo="${workdir}/second/repo" init --mode=archive +ostree commit --repo repo --branch ostree-main files/ --parent="${commit}" +tar czvf repo.tar repo/ + +# second upload +echo "Uploading and importing second repo" +expect_succ pulp ostree repository import-all --name "cli_test_ostree_repository_import_all_only" \ + --file "repo.tar" \ + --repository_name "repo" + +# local remote repo +ostree --repo="${workdir}/rremote" init +ostree --repo="${workdir}/rremote" remote add --no-gpg-verify iot "$BASE_URL" +expect_succ ostree --repo="${workdir}/rremote" remote refs iot +expect_succ ostree --repo="${workdir}/rremote" remote summary iot +expect_succ ostree --repo="${workdir}/rremote" pull iot ostree-main diff --git a/tests/scripts/pulp_ostree/test_import_publish.sh b/tests/scripts/pulp_ostree/test_importing_commits_with_import_commits.sh similarity index 100% rename from tests/scripts/pulp_ostree/test_import_publish.sh rename to tests/scripts/pulp_ostree/test_importing_commits_with_import_commits.sh diff --git a/tests/scripts/pulp_ostree/test_importing_two_refs.sh b/tests/scripts/pulp_ostree/test_importing_two_refs.sh new file mode 100755 index 0000000..fa4ace7 --- /dev/null +++ b/tests/scripts/pulp_ostree/test_importing_two_refs.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +# shellcheck source=tests/scripts/config.source +. "$(dirname "$(dirname "$(realpath "$0")")")/config.source" + +cleanup() { + pulp ostree repository destroy --name "cli_test_ostree_repository_two_refs" || true + pulp ostree distribution destroy --name "cli_test_ostree_distro_two_refs" || true + pulp orphan cleanup || true +} +trap cleanup EXIT + +workdir=$(mktemp -d) +cd "${workdir}" + +# prepare pulp +expect_succ pulp ostree repository create --name "cli_test_ostree_repository_two_refs" +expect_succ pulp ostree distribution create --name "cli_test_ostree_distro_two_refs" \ + --repository "cli_test_ostree_repository_two_refs" \ + --base-path "cli_test_ostree_distro_two_refs" + +BASE_URL=$(echo "$OUTPUT" | jq -r ".base_url") + +# first commit +mkdir "${workdir}/first" +cd "${workdir}/first" +ostree --repo="${workdir}/first/repo" init --mode=archive +mkdir "${workdir}/first/files" +echo "one" > files/file.txt +ostree commit --repo "${workdir}/first/repo" --branch first "${workdir}/first/files/" + +cd "${workdir}/first" +tar czvf repo.tar "repo/" + +# first upload +expect_succ pulp ostree repository import-all \ + --name "cli_test_ostree_repository_two_refs" \ + --file "repo.tar" \ + --repository_name "repo" + +# local remote repo +ostree --repo="${workdir}/rremote" init +ostree --repo="${workdir}/rremote" remote add --no-gpg-verify iot "$BASE_URL" +expect_succ ostree --repo="${workdir}/rremote" remote refs iot +expect_succ ostree --repo="${workdir}/rremote" remote summary iot + +# second commit +mkdir "${workdir}/second" +cd "${workdir}/second" +mkdir files +echo "two" > files/file2.txt +ostree --repo="${workdir}/second/repo" init --mode=archive +ostree commit --repo repo --branch second files/ +tar czvf repo.tar repo/ + +# second upload +expect_succ pulp ostree repository import-all \ + --name "cli_test_ostree_repository_two_refs" \ + --file "repo.tar" \ + --repository_name "repo" + +# fetch refs +expect_succ ostree --repo="${workdir}/rremote" remote refs iot +expect_succ ostree --repo="${workdir}/rremote" remote summary iot +expect_succ ostree --repo="${workdir}/rremote" pull iot second +expect_succ ostree --repo="${workdir}/rremote" pull iot first diff --git a/tests/scripts/pulp_ostree/test_modify_content.sh b/tests/scripts/pulp_ostree/test_modifying_content.sh similarity index 100% rename from tests/scripts/pulp_ostree/test_modify_content.sh rename to tests/scripts/pulp_ostree/test_modifying_content.sh diff --git a/tests/scripts/pulp_ostree/test_sync_publish.sh b/tests/scripts/pulp_ostree/test_syncing_and_publishing.sh similarity index 100% rename from tests/scripts/pulp_ostree/test_sync_publish.sh rename to tests/scripts/pulp_ostree/test_syncing_and_publishing.sh