@@ -63,21 +63,22 @@ echo "fake license data" > "$GHE_DATA_DIR/current/enterprise.ghl"
63
63
echo " fake manage password hash data" > " $GHE_DATA_DIR /current/manage-password"
64
64
echo " rsync" > " $GHE_DATA_DIR /current/strategy"
65
65
66
- begin_test " ghe-restore into unconfigured vm"
66
+ begin_test " ghe-restore into configured vm"
67
67
(
68
68
set -e
69
69
rm -rf " $GHE_REMOTE_DATA_DIR "
70
70
setup_remote_metadata
71
71
72
+ # create settings file -- used to determine if instance has been configured.
73
+ touch " $GHE_REMOTE_DATA_DIR /enterprise/dna.json"
74
+
72
75
# set restore host environ var
73
76
GHE_RESTORE_HOST=127.0.0.1
74
77
export GHE_RESTORE_HOST
75
78
76
79
# run ghe-restore and write output to file for asserting against
77
- if ! ghe-restore -v > " $TRASHDIR /restore-out" 2>&1 ; then
78
- cat " $TRASHDIR /restore-out"
79
- false
80
- fi
80
+ ghe-restore -v > " $TRASHDIR /restore-out" 2>&1
81
+ cat " $TRASHDIR /restore-out"
81
82
82
83
# verify connect to right host
83
84
grep -q " Connect 127.0.0.1 OK" " $TRASHDIR /restore-out"
@@ -88,27 +89,10 @@ begin_test "ghe-restore into unconfigured vm"
88
89
grep -q " fake ghe-export-redis data" " $TRASHDIR /restore-out"
89
90
grep -q " fake ghe-export-authorized-keys data" " $TRASHDIR /restore-out"
90
91
grep -q " fake ghe-export-ssh-host-keys data" " $TRASHDIR /restore-out"
91
- grep -q " fake ghe-export-settings data" " $TRASHDIR /restore-out"
92
92
93
- # verify ghe-import-es-indices is run under 1.x VMs and that the
94
- # elasticsearch-legacy directory was created under 2.x VMs.
95
- if [ " $GHE_VERSION_MAJOR " -eq 1 ]; then
96
- grep -q " ghe-import-es-indices" " $TRASHDIR /restore-out"
97
- elif [ " $GHE_VERSION_MAJOR " -ge 2 ]; then
98
- test -d " $GHE_REMOTE_DATA_USER_DIR /elasticsearch-legacy"
99
- fi
100
-
101
- # verify manage password was restored under v2.x or greater VMs
102
- if [ " $GHE_VERSION_MAJOR " -ge 2 ]; then
103
- test -f " $GHE_REMOTE_DATA_USER_DIR /common/manage-password"
104
- [ " $( cat " $GHE_REMOTE_DATA_USER_DIR /common/manage-password" ) " = " fake manage password hash data" ]
105
- fi
106
-
107
- # verify service-ensure scripts were run under versions >= v2.x
108
- if [ " $GHE_VERSION_MAJOR " -ge 2 ]; then
109
- grep -q " ghe-service-ensure-mysql OK" " $TRASHDIR /restore-out"
110
- grep -q " ghe-service-ensure-elasticsearch OK" " $TRASHDIR /restore-out"
111
- fi
93
+ # verify settings import was *not* run due to instance already being
94
+ # configured.
95
+ ! grep -q " fake ghe-export-settings data" " $TRASHDIR /restore-out"
112
96
113
97
# verify all repository data was transferred to the restore location
114
98
diff -ru " $GHE_DATA_DIR /current/repositories" " $GHE_REMOTE_DATA_USER_DIR /repositories"
@@ -126,21 +110,18 @@ begin_test "ghe-restore into unconfigured vm"
126
110
)
127
111
end_test
128
112
129
- begin_test " ghe-restore into configured vm"
113
+ begin_test " ghe-restore -c into unconfigured vm"
130
114
(
131
115
set -e
132
116
rm -rf " $GHE_REMOTE_DATA_DIR "
133
117
setup_remote_metadata
134
118
135
- # create settings file -- used to determine if instance has been configured.
136
- touch " $GHE_REMOTE_DATA_DIR /enterprise/dna.json"
137
-
138
119
# set restore host environ var
139
120
GHE_RESTORE_HOST=127.0.0.1
140
121
export GHE_RESTORE_HOST
141
122
142
123
# run ghe-restore and write output to file for asserting against
143
- ghe-restore -v > " $TRASHDIR /restore-out" 2>&1
124
+ ghe-restore -v -c > " $TRASHDIR /restore-out" 2>&1
144
125
cat " $TRASHDIR /restore-out"
145
126
146
127
# verify connect to right host
@@ -153,9 +134,8 @@ begin_test "ghe-restore into configured vm"
153
134
grep -q " fake ghe-export-authorized-keys data" " $TRASHDIR /restore-out"
154
135
grep -q " fake ghe-export-ssh-host-keys data" " $TRASHDIR /restore-out"
155
136
156
- # verify settings import was *not* run due to instance already being
157
- # configured.
158
- ! grep -q " fake ghe-export-settings data" " $TRASHDIR /restore-out"
137
+ # verify settings were imported
138
+ grep -q " fake ghe-export-settings data" " $TRASHDIR /restore-out"
159
139
160
140
# verify all repository data was transferred to the restore location
161
141
diff -ru " $GHE_DATA_DIR /current/repositories" " $GHE_REMOTE_DATA_USER_DIR /repositories"
@@ -173,49 +153,22 @@ begin_test "ghe-restore into configured vm"
173
153
)
174
154
end_test
175
155
176
- begin_test " ghe-restore -c into configured vm"
156
+ begin_test " ghe-restore into unconfigured vm"
177
157
(
178
158
set -e
179
159
rm -rf " $GHE_REMOTE_DATA_DIR "
180
160
setup_remote_metadata
181
161
182
- # create settings file -- used to determine if instance has been configured.
183
- touch " $GHE_REMOTE_DATA_DIR /enterprise/dna.json"
184
-
185
162
# set restore host environ var
186
163
GHE_RESTORE_HOST=127.0.0.1
187
164
export GHE_RESTORE_HOST
188
165
189
166
# run ghe-restore and write output to file for asserting against
190
- ghe-restore -v -c > " $TRASHDIR /restore-out" 2>&1
191
- cat " $TRASHDIR /restore-out"
192
-
193
- # verify connect to right host
194
- grep -q " Connect 127.0.0.1 OK" " $TRASHDIR /restore-out"
195
-
196
- # verify all import scripts were run
197
- grep -q " alice/index.html" " $TRASHDIR /restore-out"
198
- grep -q " fake ghe-export-mysql data" " $TRASHDIR /restore-out"
199
- grep -q " fake ghe-export-redis data" " $TRASHDIR /restore-out"
200
- grep -q " fake ghe-export-authorized-keys data" " $TRASHDIR /restore-out"
201
- grep -q " fake ghe-export-ssh-host-keys data" " $TRASHDIR /restore-out"
167
+ # this should fail due to the appliance being in an unconfigured state
168
+ ! ghe-restore -v > " $TRASHDIR /restore-out" 2>&1
202
169
203
- # verify settings were imported
204
- grep -q " fake ghe-export-settings data" " $TRASHDIR /restore-out"
205
-
206
- # verify all repository data was transferred to the restore location
207
- diff -ru " $GHE_DATA_DIR /current/repositories" " $GHE_REMOTE_DATA_USER_DIR /repositories"
208
-
209
- # verify all pages data was transferred to the restore location
210
- diff -ru " $GHE_DATA_DIR /current/pages" " $GHE_REMOTE_DATA_USER_DIR /pages"
211
-
212
- if [ " $GHE_VERSION_MAJOR " -ge 2 ]; then
213
- # verify all hookshot user data was transferred
214
- diff -ru " $GHE_DATA_DIR /current/hookshot" " $GHE_REMOTE_DATA_USER_DIR /hookshot"
215
-
216
- # verify all alambic assets user data was transferred
217
- diff -ru " $GHE_DATA_DIR /current/alambic_assets" " $GHE_REMOTE_DATA_USER_DIR /alambic_assets"
218
- fi
170
+ # verify that ghe-restore failed due to the appliance not being configured
171
+ grep -q -e " Error: $GHE_RESTORE_HOST not configured" " $TRASHDIR /restore-out"
219
172
)
220
173
end_test
221
174
@@ -225,6 +178,9 @@ begin_test "ghe-restore with host arg"
225
178
rm -rf " $GHE_REMOTE_DATA_DIR "
226
179
setup_remote_metadata
227
180
181
+ # create settings file -- used to determine if instance has been configured.
182
+ touch " $GHE_REMOTE_DATA_DIR /enterprise/dna.json"
183
+
228
184
# set restore host environ var
229
185
GHE_RESTORE_HOST=127.0.0.1
230
186
export GHE_RESTORE_HOST
@@ -257,6 +213,9 @@ begin_test "ghe-restore no host arg or configured restore host"
257
213
rm -rf " $GHE_REMOTE_DATA_DIR "
258
214
setup_remote_metadata
259
215
216
+ # create settings file -- used to determine if instance has been configured.
217
+ touch " $GHE_REMOTE_DATA_DIR /enterprise/dna.json"
218
+
260
219
# unset configured restore host
261
220
unset GHE_RESTORE_HOST
262
221
@@ -271,6 +230,9 @@ begin_test "ghe-restore with no pages backup"
271
230
rm -rf " $GHE_REMOTE_DATA_DIR "
272
231
setup_remote_metadata
273
232
233
+ # create settings file -- used to determine if instance has been configured.
234
+ touch " $GHE_REMOTE_DATA_DIR /enterprise/dna.json"
235
+
274
236
# remove pages data
275
237
rm -rf " $GHE_DATA_DIR /1/pages"
276
238
@@ -285,6 +247,9 @@ begin_test "ghe-restore with tarball strategy"
285
247
rm -rf " $GHE_REMOTE_DATA_DIR "
286
248
setup_remote_metadata
287
249
250
+ # create settings file -- used to determine if instance has been configured.
251
+ touch " $GHE_REMOTE_DATA_DIR /enterprise/dna.json"
252
+
288
253
# run it
289
254
echo " tarball" > " $GHE_DATA_DIR /current/strategy"
290
255
output=$( ghe-restore -v localhost)
0 commit comments