5
5
# shellcheck source=test/testlib.sh
6
6
. " $( dirname " $0 " ) /testlib.sh"
7
7
8
- begin_test " ghe-ssh-config returns config for multiple nodes"
8
+ export CLUSTER_CONF=" $ROOTDIR /test/cluster.conf"
9
+
10
+ begin_test " ghe-ssh-config returns config for git-server nodes"
11
+ (
12
+ set -e
13
+
14
+ output=$( GIT_CONFIG=$CLUSTER_CONF ghe-ssh-config host1 git-server-1451687c-4be0-11ec-8684-02c387bd966b git-server-16089d52-4be0-11ec-b892-026c4c5e5bb1)
15
+ # Confirm we don't have a host1 entry as this is the proxy host
16
+ [ " $( echo " $output " | grep -c " ^Host host1" ) " -eq 0 ]
17
+ # Confirm we have git-server-<uuid> entries
18
+ echo " $output " | grep -Eq " ^Host git-server-[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}"
19
+ echo " $output " | grep -Eq " pages-server-[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}"
20
+ echo " $output " | grep -Eq " storage-server-[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}"
21
+ [ " $( echo " $output " | grep -Ec " ^Host git-server-[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}" ) " -eq 2 ]
22
+ # Confirm the git-server entries has right IP
23
+ echo " $output " | grep -q " HostName 172.31.22.90"
24
+ echo " $output " | grep -q " HostName 172.31.26.173"
25
+ # Confirm No proxy enabled
26
+ [ " $( echo " $output " | grep -c " ProxyCommand" ) " -eq 0 ]
27
+ )
28
+ end_test
29
+
30
+ begin_test " ghe-ssh-config returns config for git-server nodes with GHE_SSH_PROXY=1"
31
+ (
32
+ set -e
33
+
34
+ output=$( GIT_CONFIG=$CLUSTER_CONF GHE_SSH_PROXY=1 ghe-ssh-config host1 git-server-1451687c-4be0-11ec-8684-02c387bd966b git-server-16089d52-4be0-11ec-b892-026c4c5e5bb1)
35
+ # Confirm we don't have a host1 entry as this is the proxy host
36
+ [ " $( echo " $output " | grep -c " ^Host host1" ) " -eq 0 ]
37
+ # Confirm we have git-server-<uuid> entries
38
+ echo " $output " | grep -Eq " ^Host git-server-[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}"
39
+ echo " $output " | grep -Eq " pages-server-[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}"
40
+ echo " $output " | grep -Eq " storage-server-[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}"
41
+ [ " $( echo " $output " | grep -Ec " ^Host git-server-[A-Za-z0-9]{8}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{4}-[A-Za-z0-9]{12}" ) " -eq 2 ]
42
+ # Confirm the git-server entries has right IP
43
+ echo " $output " | grep -q " HostName 172.31.22.90"
44
+ echo " $output " | grep -q " HostName 172.31.26.173"
45
+ # Confirm proxy enabled
46
+ [ " $( echo " $output " | grep -c " ProxyCommand" ) " -eq 2 ]
47
+
48
+ # Confirm ControlPath returns correct hash for admin@host1:122
49
+ echo " $output " | grep -q " admin@host1 nc.openbsd"
50
+ # Confirm multiplexing enabled
51
+ echo " $output " | grep -q " ControlMaster=auto"
52
+ # Confirm ControlPath returns correct hash for admin@host1:122
53
+ echo " $output " | grep -q " .ghe-sshmux-7cb77002"
54
+ )
55
+ end_test
56
+
57
+
58
+ begin_test " ghe-ssh-config returns config for non-server-uuid nodes"
9
59
(
10
60
set -e
11
61
12
- output=$( ghe-ssh-config host1 git-server1 git-server2 )
62
+ output=$( GIT_CONFIG= $CLUSTER_CONF ghe-ssh-config host1 mysql-node1 mysql-node2 )
13
63
# Confirm we don't have a host1 entry as this is the proxy host
14
64
echo " $output " | grep -Evq " ^Host host1"
15
65
# Confirm we have a host2 and host3 entry
16
- echo " $output " | grep -Eq " ^Host git-server [12]"
17
- [ " $( echo " $output " | grep -E " ^Host git-server [12]" | wc -l ) " -eq 2 ]
66
+ echo " $output " | grep -Eq " ^Host mysql-node [12]"
67
+ [ " $( echo " $output " | grep -c " ^Host mysql-node [12]" ) " -eq 2 ]
18
68
# Confirm the host2 and host3 entries proxy though host1
19
69
echo " $output " | grep -q " admin@host1 nc.openbsd"
20
70
# Confirm multiplexing enabled
@@ -28,22 +78,26 @@ begin_test "ghe-ssh-config multiplexing disabled"
28
78
(
29
79
set -e
30
80
31
- output=$( GHE_DISABLE_SSH_MUX=1 ghe-ssh-config host1 git-server1)
81
+ output=$( GIT_CONFIG= $CLUSTER_CONF GHE_DISABLE_SSH_MUX=1 ghe-ssh-config host1 git-server1)
32
82
echo " $output " | grep -vq " ControlMaster=auto"
33
83
34
- output=$( GHE_DISABLE_SSH_MUX=1 ghe-ssh-config host1 git-server1 git-server2)
84
+ output=$( GIT_CONFIG= $CLUSTER_CONF GHE_DISABLE_SSH_MUX=1 ghe-ssh-config host1 git-server1 git-server2)
35
85
echo " $output " | grep -vq " ControlMaster=auto"
86
+
87
+ # Confirm multiplexing disabled
88
+ [ " $( echo " $output " | grep -c " ControlMaster=auto" ) " -eq 0 ]
89
+ [ " $( echo " $output " | grep -c " .ghe-sshmux-7cb77002" ) " -eq 0 ]
36
90
)
37
91
end_test
38
92
39
93
begin_test " ghe-ssh-config with extra SSH opts"
40
94
(
41
95
set -e
42
96
43
- output=$( GHE_EXTRA_SSH_OPTS=" -o foo=bar" ghe-ssh-config host1 git-server1)
97
+ output=$( GIT_CONFIG= $CLUSTER_CONF GHE_EXTRA_SSH_OPTS=" -o foo=bar" ghe-ssh-config host1 git-server1)
44
98
echo " $output " | grep -q " foo=bar"
45
99
46
- output=$( GHE_EXTRA_SSH_OPTS=" -o foo=bar" ghe-ssh-config host1 git-server1 git-server2)
100
+ output=$( GIT_CONFIG= $CLUSTER_CONF GHE_EXTRA_SSH_OPTS=" -o foo=bar" ghe-ssh-config host1 git-server1 git-server2)
47
101
echo " $output " | grep -q " foo=bar"
48
102
)
49
103
end_test
0 commit comments