Commit 0aa603de442d23ef3fede1b43b45b76d5ad17a47
1 parent
6f593b86
Exists in
master
and in
90 other branches
Refactor tests to not depend on /etc/hosts
Showing
5 changed files
with
24 additions
and
18 deletions
Show diff stats
test/bin/curl
... | ... | @@ -5,10 +5,15 @@ set -e |
5 | 5 | unset http_proxy |
6 | 6 | unset https_proxy |
7 | 7 | |
8 | +. $(dirname $0)/../ip_helper.sh | |
9 | + | |
8 | 10 | /usr/bin/curl \ |
9 | 11 | --silent \ |
10 | 12 | --noproxy '*' \ |
11 | 13 | --fail \ |
12 | 14 | --insecure \ |
13 | - --header 'Host: softwarepublico.dev' \ | |
15 | + --resolve softwarepublico.dev:80:$reverseproxy \ | |
16 | + --resolve softwarepublico.dev:443:$reverseproxy \ | |
17 | + --resolve listas.softwarepublico.dev:80:$reverseproxy \ | |
18 | + --resolve listas.softwarepublico.dev:443:$reverseproxy \ | |
14 | 19 | "$@" | ... | ... |
test/colab_test.sh
... | ... | @@ -13,15 +13,15 @@ test_colab_running() { |
13 | 13 | } |
14 | 14 | |
15 | 15 | test_colab_responds() { |
16 | - assertTrue 'colab responds' "run_on integration $curl http://localhost:8001" | |
16 | + assertTrue 'colab responds' "run_on integration curl --header 'Host: softwarepublico.dev' http://localhost:8001" | |
17 | 17 | } |
18 | 18 | |
19 | 19 | test_nginx_responds() { |
20 | - assertTrue 'nginx reponds' "run_on integration $curl http://localhost" | |
20 | + assertTrue 'nginx reponds' "run_on integration curl --header 'Host: softwarepublico.dev' http://localhost" | |
21 | 21 | } |
22 | 22 | |
23 | 23 | test_nginx_virtualhost() { |
24 | - local title="$(./test/bin/curl http://$integration/dashboard | grep '<title>' | sed -e 's/^\s*//')" | |
24 | + local title="$(curl --header 'Host: softwarepublico.dev' http://$integration/dashboard | grep '<title>' | sed -e 's/^\s*//')" | |
25 | 25 | assertEquals "<title>Home - Colab</title>" "$title" |
26 | 26 | } |
27 | 27 | ... | ... |
... | ... | @@ -0,0 +1,10 @@ |
1 | +# make IP addresses avaliable at the environment so we can refer to hosts by | |
2 | +# name, e.g. | |
3 | +# | |
4 | +# curl http://$reverseproxy | |
5 | +# nmap -p 5423 $database | |
6 | +# | |
7 | +# Each node in the `peers:` entry in nodes.yaml will have its own variable | |
8 | +# | |
9 | +eval $(ruby -ryaml -e 'YAML.load_file("nodes.yaml").first[1]["peers"].each { |k,v| puts "#{k}=#{v}" }') | |
10 | + | ... | ... |
test/reverse_proxy_test.sh
1 | 1 | . $(dirname $0)/test_helper.sh |
2 | 2 | |
3 | 3 | test_redirect_http_to_https() { |
4 | - local redirect="$(./test/bin/curl --head http://$reverseproxy/ | sed -e '/Location:/ !d; s/\r//')" | |
4 | + local redirect="$(curl --header 'Host: softwarepublico.dev' --head http://$reverseproxy/ | sed -e '/Location:/ !d; s/\r//')" | |
5 | 5 | assertEquals "Location: https://softwarepublico.dev/" "$redirect" |
6 | 6 | } |
7 | 7 | |
8 | 8 | test_reverse_proxy_to_colab() { |
9 | - local title="$(./test/bin/curl https://$reverseproxy/dashboard | grep '<title>' | sed -e 's/^\s*//')" | |
9 | + local title="$(curl --header 'Host: softwarepublico.dev' https://$reverseproxy/dashboard | grep '<title>' | sed -e 's/^\s*//')" | |
10 | 10 | assertEquals "<title>Home - Colab</title>" "$title" |
11 | 11 | } |
12 | 12 | ... | ... |
test/test_helper.sh
1 | +export PATH="$(dirname $0)/bin:$PATH" | |
2 | + | |
1 | 3 | run_on() { |
2 | 4 | local vm="$1" |
3 | 5 | shift |
... | ... | @@ -19,15 +21,4 @@ wait_for() { |
19 | 21 | return 1 |
20 | 22 | } |
21 | 23 | |
22 | - | |
23 | -curl=/vagrant/test/bin/curl | |
24 | - | |
25 | -# make IP addresses avaliable at the environment so we can refer to hosts by | |
26 | -# name, e.g. | |
27 | -# | |
28 | -# curl http://$reverseproxy | |
29 | -# nmap -p 5423 $database | |
30 | -# | |
31 | -# Each node in the `peers:` entry in nodes.yaml will have its own variable | |
32 | -# | |
33 | -eval $(ruby -ryaml -e 'YAML.load_file("nodes.yaml").first[1]["peers"].each { |k,v| puts "#{k}=#{v}" }') | |
24 | +. $(dirname $0)/ip_helper.sh | ... | ... |