Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skip import/export tests if pulpcore 3.39 #1735

Merged
merged 2 commits into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 24 additions & 4 deletions bats/fb-katello-content.bats
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,13 @@ setup() {
}

@test "export content view version" {
tSkipIfPulp339

hammer content-export complete version --organization="${ORGANIZATION}" \
--content-view="${CONTENT_VIEW}" --version="1.0"
export_version_id=$(hammer --output csv --no-headers content-view version show --version="1.0" --content-view="${CONTENT_VIEW}" --organization="${ORGANIZATION}" \
--fields=id)
actual_size=$(du -k "$(hammer --output csv --no-headers content-export list --content-view-version-id=$export_version_id --fields="path")"/*.gz | cut -f 1)
actual_size=$(du -k "$(hammer --output csv --no-headers content-export list --content-view-version-id=$export_version_id --fields="path")"/*.tar* | cut -f 1)

[ $actual_size -ge 40 ]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not for this PR, but can we actually list the contents of the tar file and check that? It would also validate the resulting file(s) are actually valid tar files.

As for the rename: don't we need to keep the gzip bits for older Pulp versions?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on evgeni's suggestion, and verifying with dalley that it is so, I've switched it to do ".tar*' to encapsulate gz without needing to resort to adding complexity with if/else logic

}
Expand All @@ -136,6 +138,8 @@ setup() {
}

@test "import the exported content view" {
tSkipIfPulp339

latest_export=$(hammer --output csv --no-headers content-export list --content-view "${CONTENT_VIEW}" --organization "${ORGANIZATION}"\
--content-view-version="1.0" --fields="Id,Path" --per-page=1 --order="id DESC")
# 16,,/var/lib/pulp/exports/Test_Organization/Test_CV/1.0/2020-12-11T16-04-08-00-00,Test CV 1.0,6,2020-12-11 16:04:12 UTC,2020-12-11 16:04:12 UTC
Expand Down Expand Up @@ -164,6 +168,8 @@ setup() {
}

@test "compare contents of export and import" {
tSkipIfPulp339

export_version=$(hammer --output csv --no-headers content-view version list --content-view="${CONTENT_VIEW}" --organization="${ORGANIZATION}"\
--per-page=1 --fields="Version" --order="version DESC")
hammer --output csv --no-headers content-view version show --content-view="${CONTENT_VIEW}" --organization="${ORGANIZATION}" \
Expand All @@ -175,19 +181,25 @@ setup() {
}

@test "export the library" {
tSkipIfPulp339

hammer content-export complete library --organization="${ORGANIZATION}"
export_version_id=$(hammer --output csv --no-headers content-view version list --content-view="${LIBRARY}" --organization="${ORGANIZATION}" \
--fields=id --per-page=1 --order="version DESC")
actual_size=$(du -k "$(hammer --output csv --no-headers content-export list --content-view-version-id=$export_version_id --fields="path")"/*.gz | cut -f 1)
actual_size=$(du -k "$(hammer --output csv --no-headers content-export list --content-view-version-id=$export_version_id --fields="path")"/*.tar* | cut -f 1)

[ $actual_size -ge 40 ]
}

@test "create org for library import" {
tSkipIfPulp339

hammer organization create --name="${LIBRARY_IMPORT_ORG}"
}

@test "import the library to the new organization" {
tSkipIfPulp339

latest_export=$(hammer --output csv --no-headers content-export list --content-view "${LIBRARY}" --organization "${ORGANIZATION}"\
--fields="Id,Path" --per-page=1 --order="id DESC")
export_history_id=$(echo $latest_export | cut -d, -f1) # 16
Expand All @@ -203,6 +215,8 @@ setup() {
}

@test "compare contents of library export and import" {
tSkipIfPulp339

export_version=$(hammer --output csv --no-headers content-view version list --content-view="${LIBRARY}" --organization="${ORGANIZATION}"\
--per-page=1 --fields="Version" --order="version DESC")
hammer --output csv --no-headers content-view version show --content-view="${LIBRARY}" --organization="${ORGANIZATION}" \
Expand All @@ -215,28 +229,34 @@ setup() {


@test "publish content view again" {
tSkipIfPulp339

hammer content-view publish --organization="${ORGANIZATION}" \
--name="${CONTENT_VIEW}"
}

@test "perform an incremental export" {
tSkipIfPulp339

export_version_id=$(hammer --output csv --no-headers content-view version list --content-view="${CONTENT_VIEW}" --organization="${ORGANIZATION}" \
--fields=id --per-page=1 --order="version DESC")

hammer content-export incremental version --organization="${ORGANIZATION}" \
--content-view="${CONTENT_VIEW}" --id="$export_version_id"
actual_size=$(du -k "$(hammer --output csv --no-headers content-export list --content-view-version-id=$export_version_id --fields="path" --per-page=1)"/*.gz | cut -f 1)
actual_size=$(du -k "$(hammer --output csv --no-headers content-export list --content-view-version-id=$export_version_id --fields="path" --per-page=1)"/*.tar* | cut -f 1)
# actual size of export should be less than 14K
[ $actual_size -le 87 ]
}

@test "perform an incremental library export" {
tSkipIfPulp339

hammer content-export incremental library --organization="${ORGANIZATION}"

export_version_id=$(hammer --output csv --no-headers content-view version list --content-view="${LIBRARY}" --organization="${ORGANIZATION}" \
--fields=id --per-page=1 --order="version DESC")

actual_size=$(du -k "$(hammer --output csv --no-headers content-export list --content-view-version-id=$export_version_id --fields="path" --per-page=1)"/*.gz | cut -f 1)
actual_size=$(du -k "$(hammer --output csv --no-headers content-export list --content-view-version-id=$export_version_id --fields="path" --per-page=1)"/*.tar* | cut -f 1)

[ $actual_size -le 174 ]
}
Expand Down
6 changes: 6 additions & 0 deletions bats/foreman_helper.bash
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ tKatelloVersion() {
) | cut -d. -f1-2
}

tSkipIfPulp339() {
if tPackageExists python3.11-pulpcore; then
skip "Skipping on Pulpcore 3.39 until https://github.com/pulp/pulpcore/issues/4777 is fixed"
fi
}

tIsVersionNewer() {
GIVEN_VERSION="$1"
WANTED_VERSION="$2"
Expand Down
Loading