Add tests
This commit is contained in:
@@ -19,6 +19,12 @@ DEST_API_PID=-1
|
||||
trap "after_suite" EXIT
|
||||
trap "after_suite" SIGINT
|
||||
|
||||
function test_version() {
|
||||
version "version shouldn't require any flags"
|
||||
|
||||
echo "all version tests passed"
|
||||
}
|
||||
|
||||
function test_pull() {
|
||||
# Pull new repo
|
||||
setup_src "org/repo:heads/main:a5984bb887dd2fcdc2892cd906d6f004844d1142"
|
||||
@@ -86,6 +92,16 @@ function test_push() {
|
||||
assert_dest_sha "org1/repo2" "tags/v1" "e9009d51dd6da2c363d1d14779c53dd27fcb0c52" "updating org1/repo2:tags/v1 to new commit"
|
||||
assert_dest_sha "org2/repo1" "heads/main" "e9009d51dd6da2c363d1d14779c53dd27fcb0c52" "updating org2/repo1:tags/v1 to new commit"
|
||||
|
||||
# Honor --repo-name flag, ignore other cache entries
|
||||
setup_cache "org/repo1:heads/main:e9009d51dd6da2c363d1d14779c53dd27fcb0c52" \
|
||||
"org/repo2:heads/main:e9009d51dd6da2c363d1d14779c53dd27fcb0c52"
|
||||
setup_dest "org/repo1:heads/main:a5984bb887dd2fcdc2892cd906d6f004844d1142" \
|
||||
"org/repo2:heads/main:a5984bb887dd2fcdc2892cd906d6f004844d1142"
|
||||
|
||||
push2args --repo-name "org/repo1" "pushing only one of the repos in the cache"
|
||||
assert_dest_sha "org/repo1" "heads/main" "e9009d51dd6da2c363d1d14779c53dd27fcb0c52" "updating org/repo1 passed in repo flag"
|
||||
assert_dest_sha "org/repo2" "heads/main" "a5984bb887dd2fcdc2892cd906d6f004844d1142" "org/repo2 not updated despite cache"
|
||||
|
||||
echo "all push tests passed successfully"
|
||||
}
|
||||
|
||||
@@ -142,6 +158,16 @@ function test_sync() {
|
||||
sync --repo-name "org/repo:org2/repo2" "syncing org/repo aliased to org2/repo2"
|
||||
assert_dest_sha "org2/repo2" "heads/main" "e9009d51dd6da2c363d1d14779c53dd27fcb0c52" "syncing org/repo aliased to org2/repo2"
|
||||
|
||||
# Honor --repo-name flag, ignore other cache entries
|
||||
setup_cache "org/repo1:heads/main:e9009d51dd6da2c363d1d14779c53dd27fcb0c52" \
|
||||
"org/repo2:heads/main:e9009d51dd6da2c363d1d14779c53dd27fcb0c52"
|
||||
setup_dest "org/repo1:heads/main:a5984bb887dd2fcdc2892cd906d6f004844d1142" \
|
||||
"org/repo2:heads/main:a5984bb887dd2fcdc2892cd906d6f004844d1142"
|
||||
|
||||
sync --repo-name "org/repo1" "syncing only one of the repos in the cache"
|
||||
assert_dest_sha "org/repo1" "heads/main" "e9009d51dd6da2c363d1d14779c53dd27fcb0c52" "updating org/repo1 passed in repo flag"
|
||||
assert_dest_sha "org/repo2" "heads/main" "a5984bb887dd2fcdc2892cd906d6f004844d1142" "org/repo2 not updated despite cache"
|
||||
|
||||
echo "all sync tests passed successfully"
|
||||
}
|
||||
|
||||
@@ -230,6 +256,12 @@ function setup_dest() {
|
||||
done
|
||||
}
|
||||
|
||||
function version() {
|
||||
bin/actions-sync version \
|
||||
&> $OUTPUT ||
|
||||
fail $1
|
||||
}
|
||||
|
||||
function pull() {
|
||||
bin/actions-sync pull \
|
||||
--cache-dir "test/tmp/cache" \
|
||||
@@ -249,6 +281,17 @@ function push() {
|
||||
fail "$1"
|
||||
}
|
||||
|
||||
function push2args() {
|
||||
bin/actions-sync push \
|
||||
--cache-dir "test/tmp/cache" \
|
||||
--disable-push-git-auth \
|
||||
--destination-token "token" \
|
||||
--destination-url "http://localhost:$DEST_API_PORT" \
|
||||
"$1" "$2" \
|
||||
&> $OUTPUT ||
|
||||
fail $3
|
||||
}
|
||||
|
||||
function sync() {
|
||||
bin/actions-sync sync \
|
||||
--cache-dir "test/tmp/cache" \
|
||||
@@ -298,6 +341,7 @@ function fail() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
test_version
|
||||
before_suite
|
||||
test_pull
|
||||
test_push
|
||||
|
||||
Reference in New Issue
Block a user