|
1 | 1 | #!/usr/bin/env sh
|
2 | 2 |
|
3 |
| -planFile=${1}"/scripts/plan.tftest.hcl" |
4 |
| -applyFile=${1}"/scripts/apply.tftest.hcl" |
5 |
| - |
6 |
| -terraformVersionFile=${1}"/tfversion.md" |
| 3 | +terraformVersionFile="tfversion.md" |
7 | 4 | echo "" > $terraformVersionFile
|
8 | 5 | version=""
|
9 | 6 |
|
10 |
| -f=${2} |
| 7 | +f=${1} |
11 | 8 | success=true
|
12 |
| -echo $f |
| 9 | +# echo $f |
13 | 10 | echo ""
|
14 | 11 | echo "====> Terraform testing in" $f
|
15 |
| -./terraform -chdir=$f init -upgrade |
16 |
| -echo "" |
17 |
| -echo "----> Plan Testing" |
18 |
| -cp $planFile $f/ |
19 |
| -./terraform -chdir=$f test test -verbose |
| 12 | +terraform -chdir=$f init -upgrade >/dev/null |
20 | 13 | if [[ $? -ne 0 ]]; then
|
21 |
| - success=false |
22 |
| - echo -e "\033[31m[ERROR]\033[0m: running terraform test for plan failed." |
| 14 | + success=false |
| 15 | + echo -e "\033[31m[ERROR]\033[0m: running terraform init failed." |
23 | 16 | else
|
| 17 | + echo "" |
| 18 | + echo "----> Plan Testing" |
| 19 | + terraform -chdir=$f plan >/dev/null |
| 20 | + if [[ $? -ne 0 ]]; then |
| 21 | + success=false |
| 22 | + echo -e "\033[31m[ERROR]\033[0m: running terraform plan failed." |
| 23 | + else |
| 24 | + echo -e "\033[32m - plan check: success\033[0m" |
24 | 25 | echo ""
|
25 | 26 | echo "----> Apply Testing"
|
26 |
| - rm -rf $f/plan.tftest.hcl |
27 |
| - cp $applyFile $f/ |
28 |
| - ./terraform -chdir=$f test test |
| 27 | + terraform -chdir=$f apply -auto-approve >/dev/null |
29 | 28 | if [[ $? -ne 0 ]]; then
|
30 | 29 | success=false
|
31 |
| - echo -e "\033[31m[ERROR]\033[0m: running terraform test for apply failed." |
| 30 | + echo -e "\033[31m[ERROR]\033[0m: running terraform apply failed." |
| 31 | + else |
| 32 | + echo -e "\033[32m - apply check: success\033[0m" |
| 33 | + echo "" |
| 34 | + echo -e " ----> Apply Diff Checking\n" |
| 35 | + terraform -chdir=$f plan -detailed-exitcode |
| 36 | + if [[ $? -ne 0 ]]; then |
| 37 | + success=false |
| 38 | + echo -e "\033[31m[ERROR]\033[0m: running terraform plan for checking diff failed." |
| 39 | + else |
| 40 | + echo -e "\033[32m - apply diff check: success\033[0m" |
| 41 | + fi |
| 42 | + fi |
| 43 | + echo "" |
| 44 | + echo " ----> Destroying" |
| 45 | + terraform -chdir=$f destroy -auto-approve >/dev/null |
| 46 | + if [[ $? -ne 0 ]]; then |
| 47 | + success=false |
| 48 | + echo -e "\033[31m[ERROR]\033[0m: running terraform destroy failed." |
| 49 | + else |
| 50 | + echo -e "\033[32m - destroy: success\033[0m" |
32 | 51 | fi
|
33 |
| - rm -rf $f/apply.tftest.hcl |
| 52 | + fi |
| 53 | + rm -rf $f/.terraform |
| 54 | + rm -rf $f/.terraform.lock.hcl |
34 | 55 | fi
|
35 | 56 |
|
36 |
| -version=$(./terraform -chdir=$f version) |
| 57 | +version=$(terraform -chdir=$f version) |
37 | 58 | row=`echo -e "$version" | sed -n '/^$/='`
|
38 | 59 | if [ -n "$row" ]; then
|
39 | 60 | version=`echo -e "$version" | sed -n "1,${row}p"`
|
|
0 commit comments