Add tests
This commit is contained in:
@@ -19,6 +19,12 @@ DEST_API_PID=-1
|
|||||||
trap "after_suite" EXIT
|
trap "after_suite" EXIT
|
||||||
trap "after_suite" SIGINT
|
trap "after_suite" SIGINT
|
||||||
|
|
||||||
|
function test_version() {
|
||||||
|
version "version shouldn't require any flags"
|
||||||
|
|
||||||
|
echo "all version tests passed"
|
||||||
|
}
|
||||||
|
|
||||||
function test_pull() {
|
function test_pull() {
|
||||||
# Pull new repo
|
# Pull new repo
|
||||||
setup_src "org/repo:heads/main:a5984bb887dd2fcdc2892cd906d6f004844d1142"
|
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 "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"
|
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"
|
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"
|
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"
|
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"
|
echo "all sync tests passed successfully"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,6 +256,12 @@ function setup_dest() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function version() {
|
||||||
|
bin/actions-sync version \
|
||||||
|
&> $OUTPUT ||
|
||||||
|
fail $1
|
||||||
|
}
|
||||||
|
|
||||||
function pull() {
|
function pull() {
|
||||||
bin/actions-sync pull \
|
bin/actions-sync pull \
|
||||||
--cache-dir "test/tmp/cache" \
|
--cache-dir "test/tmp/cache" \
|
||||||
@@ -249,6 +281,17 @@ function push() {
|
|||||||
fail "$1"
|
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() {
|
function sync() {
|
||||||
bin/actions-sync sync \
|
bin/actions-sync sync \
|
||||||
--cache-dir "test/tmp/cache" \
|
--cache-dir "test/tmp/cache" \
|
||||||
@@ -298,6 +341,7 @@ function fail() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_version
|
||||||
before_suite
|
before_suite
|
||||||
test_pull
|
test_pull
|
||||||
test_push
|
test_push
|
||||||
|
|||||||
Reference in New Issue
Block a user