-
Notifications
You must be signed in to change notification settings - Fork 2
/
bump_test.sh
executable file
·74 lines (66 loc) · 2.03 KB
/
bump_test.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
# quick testing for bump
# reset the chart
cp test/good/Chart.yaml.fixture test/good/Chart.yaml
BASECMD="bump.sh -v --dry-run "
FAILED=0
PASSED=0
GOODDIR="test/good"
BADDIR="test/bad"
function run_test(){
CLI=$1
EXPECTED=$2
RESULT="$(`pwd`/$BASECMD $CLI)"
if [[ $EXPECTED == $RESULT ]]
then
PASSFAIL="\e[92mPASS\e[0m"
let "PASSED = $PASSED + 1"
else
PASSFAIL="\e[31mFAIL\e[0m"
let "FAILED= $FAILED + 1"
fi
echo -e "$PASSFAIL ($CLI) $RESULT == $EXPECTED"
}
echo "STATUS CMD RESULT EXPECTED"
echo "** default **"
run_test "$GOODDIR " "4.4.5"
echo "** named increments **"
run_test "$GOODDIR -x" "5.4.4"
run_test "$GOODDIR -y" "4.5.4"
run_test "$GOODDIR -z" "4.4.5"
run_test "$GOODDIR -x -y -z" "5.5.5"
echo "** user explicit values **"
run_test "$GOODDIR -x=6" "6.4.4"
run_test "$GOODDIR -y=6" "4.6.4"
run_test "$GOODDIR -z=6" "4.4.6"
echo "** forced decrements **"
run_test "$GOODDIR -f -x=3" "3.4.4"
run_test "$GOODDIR -f -y=3" "4.3.4"
run_test "$GOODDIR -f -z=3" "4.4.3"
run_test "$GOODDIR -f -x=3 -y=3 -z=3" "3.3.3"
echo "** missing dir arg **"
run_test " -v " "The first argument must be valid path to chart directory"
echo "** require force for decrement **"
run_test "$GOODDIR -v -x=3" "Error: You must use -f or --force to decrement a version"
echo "** no chart in dir **"
run_test "$BADDIR" "The first argument must be valid path to chart directory"
echo "** invalid versions **"
echo "** capital Version **"
run_test "test/cap -x" "5.4.4"
# test sed replacement
BASECMD="bump.sh -v "
./bump.sh "$GOODDIR" -x
OUT=$(grep version:.* test/good/Chart.yaml)
SED_MSG="version in test chart file was successfully replaced."
if [[ $OUT == "version: 5.4.4" ]] || [[ $OUT == "Version: 5.4.4" ]]
then
echo -e "\e[92mPASS\e[0m" - "$SED_MSG"
let "PASSED = $PASSED + 1"
else
echo -e "\e[31mFAIL\e[0m" - " $SED_MSG"
let "FAILED = $FAILED + 1"
fi
# reset the chart
cp test/good/Chart.yaml.fixture test/good/Chart.yaml
# print test pass/fail count
echo -e "Passed: \e[92m$PASSED\e[0m Failed: \e[31m$FAILED\e[0m"