File tree Expand file tree Collapse file tree 3 files changed +78
-88
lines changed Expand file tree Collapse file tree 3 files changed +78
-88
lines changed Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bats
2
+
3
+ source lib/assert.bash
4
+ source deploy.sh --source-only
5
+
6
+ setup () {
7
+ run mktemp -dt deploy_test.XXXX
8
+ assert_success
9
+ tmp=$output
10
+ pushd " $tmp " > /dev/null
11
+ }
12
+
13
+ teardown () {
14
+ popd > /dev/null
15
+ rm -rf " $tmp "
16
+ }
17
+
18
+ set_env_vars () {
19
+ # Set environment variables.
20
+ export GIT_DEPLOY_USERNAME=env-username
21
+ export GIT_DEPLOY_EMAIL=env-email
22
+ export GIT_DEPLOY_APPEND_HASH=env-var
23
+ }
24
+
25
+ write_env_file () {
26
+ # Write a '.env' file to override environment variables.
27
+ cat << -EOF > .env
28
+ GIT_DEPLOY_EMAIL=dotenv-email
29
+ GIT_DEPLOY_APPEND_HASH=env-file
30
+ EOF
31
+ }
32
+
33
+ write_conf_file () {
34
+ # Write a config-file to override '.env'.
35
+ cat << -EOF > conf
36
+ GIT_DEPLOY_EMAIL=conf-email
37
+ GIT_DEPLOY_APPEND_HASH=conf-file
38
+ EOF
39
+ }
40
+
41
+ @test ' If not otherwise specified, use in-script default.' {
42
+ parse_args
43
+ assert that " $append_hash " = " true"
44
+ }
45
+
46
+ @test ' Environment variable overrides in-script default.' {
47
+ set_env_vars
48
+
49
+ parse_args
50
+ assert that " $append_hash " = " env-var"
51
+ }
52
+
53
+ @test ' .env file overrides environment variables.' {
54
+ set_env_vars
55
+ write_env_file
56
+
57
+ parse_args
58
+ assert that " $append_hash " = " env-file"
59
+ }
60
+
61
+ @test ' conf file overrides .env file.' {
62
+ set_env_vars
63
+ write_env_file
64
+ write_conf_file
65
+
66
+ parse_args --config-file conf
67
+ assert that " $append_hash " = " conf-file"
68
+ }
69
+
70
+ @test ' command-line overrides conf file.' {
71
+ set_env_vars
72
+ write_env_file
73
+ write_conf_file
74
+
75
+ parse_args --config-file conf --no-hash
76
+ assert that " $append_hash " = " false"
77
+ }
78
+
Load Diff This file was deleted.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments