upgrades: add LFS assert

This commit is contained in:
Twenty Panda 2024-03-17 17:22:44 +01:00
parent 51f7263dee
commit 21920b10d9
4 changed files with 42 additions and 9 deletions

View file

@ -7,6 +7,9 @@
#
ONEPIXEL="iVBORw0KGgoAAAANSUhEUgAAASIAAAEiCAYAAABdvt+2AAADrElEQVR4nOzUMRHAMADEsL9eeQd6AsOLhMCT/7udAYS+OgDAiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDOiICcEQE5IwJyRgTkjAjIGRGQMyIgZ0RAzoiAnBEBOSMCckYE5IwIyBkRkDMiIGdEQM6IgJwRATkjAnJGBOSMCMgZEZAzIiBnREDuBQAA//+4jAPFe1H1tgAAAABJRU5ErkJggg=="
STORAGE_FUN="attachments avatars lfs packages repo_archive repo_avatars"
: ${FORGEJO_REPO:=fixture}
function fixture_get_paths_s3() {
local path=$1
@ -81,6 +84,18 @@ function fixture_lfs_create() {
)
}
function fixture_lfs_assert() {
local d=$(mktemp -d)
(
git clone http://${FORGEJO_USER}:${FORGEJO_PASSWORD}@${HOST_PORT}/${FORGEJO_USER}/${FORGEJO_REPO} $d/${FORGEJO_REPO}
cd $d/${FORGEJO_REPO}
rm file.txt
git-lfs checkout file.txt
test -f file.txt
)
rm -fr $d
}
function fixture_lfs_assert_s3() {
local content=$(mc cat testS3/forgejo/lfs/d6/1e/5fa787e50330288923bd0c9866b44643925965144262288447cf52f9f9b7)
test "$content" = CONTENT
@ -200,3 +215,9 @@ function fixture_create() {
fixture_${fun}_create
done
}
function fixture_assert() {
for fun in lfs ; do
fixture_${fun}_assert
done
}

View file

@ -249,14 +249,20 @@ function reset_garage() {
rm -fr $DIR/garage
}
function forgejo_cli() {
local version="$1"
shift
local work_path=$DIR/forgejo-work-path
$DIR_BINARIES/forgejo-$version --config $work_path/app.ini --work-path $work_path "$@"
}
function create_user_and_login() {
local version=$1
local work_path=$DIR/forgejo-work-path
local email="$FORGEJO_USER@example.com"
local cli="$DIR_BINARIES/forgejo-$version --config $work_path/app.ini --work-path $work_path"
if ! $cli admin user list | grep --quiet "$email" ; then
$cli admin user create --admin --username "$FORGEJO_USER" --password "$FORGEJO_PASSWORD" --email $email
if ! forgejo_cli $version admin user list | grep --quiet "$email" ; then
forgejo_cli $version admin user create --admin --username "$FORGEJO_USER" --password "$FORGEJO_PASSWORD" --email $email
fi
forgejo-curl.sh logout

View file

@ -3,8 +3,6 @@
STORAGE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
STORAGE_PATHS="attachments avatars lfs packages repo-archive repo-avatars"
STORAGE_FUN="attachments avatars lfs packages repo_archive repo_avatars"
: ${FORGEJO_REPO:=fixture}
function storage_reset() {
local config=$1

View file

@ -25,16 +25,24 @@ function cleanup_storage() {
}
function test_successful_upgrades() {
stop
for config in default ; do
log_info "using $config app.ini"
upgrade_reset $config
for version in 1.18 1.19 1.20.2-0 1.20.3-0 1.20 1.21 $RELEASE_NUMBERS_AND_DEV ; do
version=1.18
log_info "run $version"
cleanup_storage
start $version
fixture_create
fixture_assert
for version in 1.19 1.20 1.21 $RELEASE_NUMBERS_AND_DEV ; do
stop
log_info "run $version"
cleanup_storage
start $version
verify_storage
stop
fixture_assert
done
done
}