You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
165 lines
6.2 KiB
Bash
165 lines
6.2 KiB
Bash
#!/usr/bin/env bash
|
|
# vim:ts=4:sts=4:sw=4:et
|
|
#
|
|
# Author: Hari Sekhon
|
|
# Date: 2020-12-04 23:05:31 +0000 (Fri, 04 Dec 2020)
|
|
#
|
|
# https://devops.azure.com/HariSekhon/bash-tools
|
|
#
|
|
# License: see accompanying Hari Sekhon LICENSE file
|
|
#
|
|
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
|
|
#
|
|
# https://www.linkedin.com/in/HariSekhon
|
|
#
|
|
|
|
set -euo pipefail
|
|
[ -n "${DEBUG:-}" ] && set -x
|
|
srcdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
# shellcheck disable=SC1090
|
|
. "$srcdir/../lib/git.sh"
|
|
|
|
# shellcheck disable=SC2034,SC2154
|
|
usage_description="
|
|
Tests the git_to_azure_url function from lib/git.sh
|
|
"
|
|
|
|
# used by usage() in lib/utils.sh
|
|
# shellcheck disable=SC2034
|
|
usage_args=""
|
|
|
|
help_usage "$@"
|
|
|
|
src[0]='git@devops.azure.com:/HariSekhon/pylib'
|
|
dest[0]='git@devops.azure.com:v3/harisekhon/GitHub/pylib'
|
|
|
|
src[1]='git@devops.azure.com:/harisekhon/nagios-plugin-kafka'
|
|
dest[1]='git@devops.azure.com:v3/harisekhon/GitHub/nagios-plugin-kafka'
|
|
|
|
src[2]='git@devops.azure.com:HariSekhon/DevOps-Bash-tools'
|
|
dest[2]='git@devops.azure.com:v3/harisekhon/GitHub/DevOps-Bash-tools'
|
|
|
|
src[3]='git@devops.azure.com:HariSekhon/DevOps-Golang-tools'
|
|
dest[3]='git@devops.azure.com:v3/harisekhon/GitHub/DevOps-Golang-tools'
|
|
|
|
src[4]='git@devops.azure.com:HariSekhon/Dockerfiles.git'
|
|
dest[4]='git@devops.azure.com:v3/harisekhon/GitHub/Dockerfiles'
|
|
|
|
src[5]='git@devops.azure.com:HariSekhon/HAProxy-configs'
|
|
dest[5]='git@devops.azure.com:v3/harisekhon/GitHub/HAProxy-configs'
|
|
|
|
src[6]='git@devops.azure.com:HariSekhon/Nagios-Plugins'
|
|
dest[6]='git@devops.azure.com:v3/harisekhon/GitHub/Nagios-Plugins'
|
|
|
|
src[7]='git@devops.azure.com:HariSekhon/SQL-scripts'
|
|
dest[7]='git@devops.azure.com:v3/harisekhon/GitHub/SQL-scripts'
|
|
|
|
src[8]='git@devops.azure.com:HariSekhon/Spotify-Playlists.git'
|
|
dest[8]='git@devops.azure.com:v3/harisekhon/GitHub/Spotify-Playlists'
|
|
|
|
src[9]='git@devops.azure.com:HariSekhon/Templates'
|
|
dest[9]='git@devops.azure.com:v3/harisekhon/GitHub/Templates'
|
|
|
|
src[10]='git@devops.azure.com:harisekhon/kubernetes-templates'
|
|
dest[10]='git@devops.azure.com:v3/harisekhon/GitHub/kubernetes-templates'
|
|
|
|
src[11]='git@devops.azure.com:harisekhon/spotify-tools.git'
|
|
dest[11]='git@devops.azure.com:v3/harisekhon/GitHub/spotify-tools'
|
|
|
|
src[12]='git@devops.azure.com:harisekhon/sql-keywords'
|
|
dest[12]='git@devops.azure.com:v3/harisekhon/GitHub/sql-keywords'
|
|
|
|
src[13]='git@devops.azure.com:/HariSekhon/Nagios-Plugin-Kafka'
|
|
dest[13]='git@devops.azure.com:v3/harisekhon/GitHub/Nagios-Plugin-Kafka'
|
|
|
|
src[14]='git@devops.azure.com:/HariSekhon/pylib'
|
|
dest[14]='git@devops.azure.com:v3/harisekhon/GitHub/pylib'
|
|
|
|
src[15]='git@devops.azure.com:HariSekhon/DevOps-Bash-tools'
|
|
dest[15]='git@devops.azure.com:v3/harisekhon/GitHub/DevOps-Bash-tools'
|
|
|
|
src[16]='git@devops.azure.com:HariSekhon/DevOps-Golang-tools'
|
|
dest[16]='git@devops.azure.com:v3/harisekhon/GitHub/DevOps-Golang-tools'
|
|
|
|
src[17]='git@devops.azure.com:HariSekhon/Dockerfiles.git'
|
|
dest[17]='git@devops.azure.com:v3/harisekhon/GitHub/Dockerfiles'
|
|
|
|
src[18]='git@devops.azure.com:HariSekhon/HAProxy-configs'
|
|
dest[18]='git@devops.azure.com:v3/harisekhon/GitHub/HAProxy-configs'
|
|
|
|
src[19]='git@devops.azure.com:HariSekhon/Nagios-Plugins'
|
|
dest[19]='git@devops.azure.com:v3/harisekhon/GitHub/Nagios-Plugins'
|
|
|
|
src[20]='git@devops.azure.com:HariSekhon/SQL-scripts'
|
|
dest[20]='git@devops.azure.com:v3/harisekhon/GitHub/SQL-scripts'
|
|
|
|
src[21]='git@devops.azure.com:HariSekhon/Spotify-Playlists.git'
|
|
dest[21]='git@devops.azure.com:v3/harisekhon/GitHub/Spotify-Playlists'
|
|
|
|
src[22]='git@devops.azure.com:HariSekhon/Spotify-tools.git'
|
|
dest[22]='git@devops.azure.com:v3/harisekhon/GitHub/Spotify-tools'
|
|
|
|
src[23]='git@devops.azure.com:HariSekhon/Templates'
|
|
dest[23]='git@devops.azure.com:v3/harisekhon/GitHub/Templates'
|
|
|
|
src[24]='git@devops.azure.com:harisekhon/kubernetes-templates'
|
|
dest[24]='git@devops.azure.com:v3/harisekhon/GitHub/kubernetes-templates'
|
|
|
|
src[25]='git@devops.azure.com:harisekhon/sql-keywords'
|
|
dest[25]='git@devops.azure.com:v3/harisekhon/GitHub/sql-keywords'
|
|
|
|
src[26]='git@devops.azure.com:HariSekhon/Spotify-Playlists.git'
|
|
dest[26]='git@devops.azure.com:v3/harisekhon/GitHub/Spotify-Playlists'
|
|
|
|
src[27]='ssh://git@devops.azure.com/HariSekhon/DevOps-Perl-tools'
|
|
dest[27]='ssh://git@devops.azure.com/v3/harisekhon/GitHub/DevOps-Perl-tools'
|
|
|
|
src[28]='ssh://git@devops.azure.com/HariSekhon/lib-java'
|
|
dest[28]='ssh://git@devops.azure.com/v3/harisekhon/GitHub/lib-java'
|
|
|
|
src[29]='ssh://git@devops.azure.com/harisekhon/lib'
|
|
dest[29]='ssh://git@devops.azure.com/v3/harisekhon/GitHub/lib'
|
|
|
|
src[30]='ssh://git@devops.azure.com:/HariSekhon/DevOps-Python-tools'
|
|
dest[30]='ssh://git@devops.azure.com:/v3/harisekhon/GitHub/DevOps-Python-tools'
|
|
|
|
src[31]='ssh://git@devops.azure.com/HariSekhon/lib-java'
|
|
dest[31]='ssh://git@devops.azure.com/v3/harisekhon/GitHub/lib-java'
|
|
|
|
src[32]='ssh://git@devops.azure.com:/HariSekhon/DevOps-Python-tools'
|
|
dest[32]='ssh://git@devops.azure.com:/v3/harisekhon/GitHub/DevOps-Python-tools'
|
|
|
|
src[33]='ssh://git@ssh.devops.azure.com/HariSekhon/DevOps-Perl-tools'
|
|
dest[33]='ssh://git@ssh.devops.azure.com/v3/harisekhon/GitHub/DevOps-Perl-tools'
|
|
|
|
src[34]='ssh://git@ssh.devops.azure.com/HariSekhon/lib'
|
|
dest[34]='ssh://git@ssh.devops.azure.com/v3/harisekhon/GitHub/lib'
|
|
|
|
# expands to the list of indicies in the array, starting at zero - this is easier to work with that ${#src} which is a total
|
|
# that is off by one for index usage and doesn't support sparse arrays for any missing/disabled test indicies
|
|
test_numbers="${!src[*]}"
|
|
|
|
for i in $test_numbers; do
|
|
[ -n "${src[$i]:-}" ] || { echo "code error: src[$i] not defined"; exit 1; }
|
|
[ -n "${dest[$i]:-}" ] || { echo "code error: dest[$i] not defined"; exit 1; }
|
|
echo "git_to_azure_url ${src[$i]}"
|
|
converted_repo_url="$(git_to_azure_url "${src[$i]}")"
|
|
if [ "$converted_repo_url" != "${dest[$i]}" ]; then
|
|
echo "ERROR: unit test failed"
|
|
echo
|
|
echo "Expected: ${dest[$i]}"
|
|
echo "Got: $converted_repo_url"
|
|
exit 2
|
|
fi
|
|
#echo "checking URL result '$converted_repo_url' is valid"
|
|
#if ! git ls-remote "$converted_repo_url"; then
|
|
# echo "ERROR: unit test failed - URL failed git ls-remote test"
|
|
# exit 3
|
|
#fi
|
|
echo
|
|
done
|
|
|
|
echo
|
|
echo "SUCCESS: git_to_azure_url URL conversion tests passed"
|