@@ -138,7 +138,13 @@ begin_test "ghe-backup management console does not backup argon secret"
138
138
(
139
139
set -e
140
140
141
- GHE_REMOTE_VERSION=3.7.0 ghe-backup -v | grep -q " management console argon2 secret not set" && exit 1
141
+ GHE_REMOTE_VERSION=2.1.10 ghe-backup -v | grep -q " management console argon2 secret not set" && exit 1
142
+ [ ! -f " $GHE_DATA_DIR /current/manage-argon-secret" ]
143
+
144
+ GHE_REMOTE_VERSION=3.6.1 ghe-backup -v | grep -q " management console argon2 secret not set" && exit 1
145
+ [ ! -f " $GHE_DATA_DIR /current/manage-argon-secret" ]
146
+
147
+ GHE_REMOTE_VERSION=3.7.10 ghe-backup -v | grep -q " management console argon2 secret not set" && exit 1
142
148
[ ! -f " $GHE_DATA_DIR /current/manage-argon-secret" ]
143
149
)
144
150
end_test
@@ -152,6 +158,12 @@ begin_test "ghe-backup management console backs up argon secret"
152
158
GHE_REMOTE_VERSION=3.8.0 ghe-backup
153
159
154
160
[ " $( cat " $GHE_DATA_DIR /current/manage-argon-secret" ) " = " fake pw" ]
161
+
162
+ rm -rf " $GHE_DATA_DIR /current"
163
+
164
+ GHE_REMOTE_VERSION=4.1.0 ghe-backup
165
+
166
+ [ " $( cat " $GHE_DATA_DIR /current/manage-argon-secret" ) " = " fake pw" ]
155
167
)
156
168
end_test
157
169
@@ -543,18 +555,7 @@ begin_test "ghe-backup takes backup of kredz-varz settings"
543
555
)
544
556
end_test
545
557
546
- begin_test " ghe-backup does not take backup of encrypted column encryption keying material for versions below 3.7.0"
547
- (
548
- GHE_REMOTE_VERSION=2.1.10 ghe-backup -v | grep -q " encrypted column encryption keying material not set" && exit 1
549
- [ ! -f " $GHE_DATA_DIR /current/encrypted-column-keying-material" ]
550
-
551
- GHE_REMOTE_VERSION=3.6.1 ghe-backup -v | grep -q " encrypted column encryption keying material not set" && exit 1
552
- [ ! -f " $GHE_DATA_DIR /current/encrypted-column-keying-material" ]
553
-
554
- )
555
- end_test
556
-
557
- begin_test " ghe-backup takes backup of encrypted column encryption keying material for versions 3.7.0+"
558
+ begin_test " ghe-backup takes backup of encrypted column encryption keying material and create encrypted column current encryption key for versions 3.7.0+"
558
559
(
559
560
set -e
560
561
@@ -574,6 +575,7 @@ begin_test "ghe-backup takes backup of encrypted column encryption keying materi
574
575
575
576
required_files=(
576
577
" encrypted-column-encryption-keying-material"
578
+ " encrypted-column-current-encryption-key"
577
579
)
578
580
579
581
for file in " ${required_files[@]} " ; do
@@ -588,64 +590,109 @@ begin_test "ghe-backup takes backup of encrypted column encryption keying materi
588
590
589
591
required_files=(
590
592
" encrypted-column-encryption-keying-material"
593
+ " encrypted-column-current-encryption-key"
591
594
)
592
595
593
596
for file in " ${required_files[@]} " ; do
594
597
[ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo" ]
595
598
done
596
599
597
- )
598
- end_test
600
+ # GHES version 3.9.0
601
+ GHE_REMOTE_VERSION=3.9.0
602
+ export GHE_REMOTE_VERSION
599
603
600
- begin_test " ghe-backup does not take backup of encrypted column current encryption key for versions below 3.8.0"
601
- (
602
- GHE_REMOTE_VERSION=2.1.10 ghe-backup -v | grep -q " encrypted column current encryption key not set" && exit 1
603
- [ ! -f " $GHE_DATA_DIR /current/encrypted-column-current-encryption-key" ]
604
+ ghe-backup
604
605
605
- GHE_REMOTE_VERSION=3.7.0 ghe-backup -v | grep -q " encrypted column current encryption key not set" && exit 1
606
- [ ! -f " $GHE_DATA_DIR /current/encrypted-column-current-encryption-key" ]
606
+ required_files=(
607
+ " encrypted-column-current-encryption-key"
608
+ )
609
+
610
+ for file in " ${required_files[@]} " ; do
611
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo" ]
612
+ done
607
613
608
614
)
609
615
end_test
610
616
611
- begin_test " ghe-backup takes backup of encrypted column current encryption key for versions 3.8 .0+"
617
+ begin_test " ghe-backup takes backup of encrypted column encryption keying material and encrypted column current encryption key accounting for multiple encryption keying materials for versions 3.7 .0+"
612
618
(
613
619
set -e
614
620
615
621
required_secrets=(
616
- " secrets.github.encrypted-column-current-encryption-key "
622
+ " secrets.github.encrypted-column-keying-material "
617
623
)
618
624
619
625
for secret in " ${required_secrets[@]} " ; do
620
- ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " " foo"
626
+ echo " ghe-config '$secret ' 'foo;bar'" |
627
+ ghe-ssh " $GHE_HOSTNAME " -- /bin/bash
621
628
done
622
629
623
- # GHES version 3.8 .0
624
- GHE_REMOTE_VERSION=3.8 .0
630
+ # GHES version 3.7 .0
631
+ GHE_REMOTE_VERSION=3.7 .0
625
632
export GHE_REMOTE_VERSION
626
633
627
634
ghe-backup
628
635
629
636
required_files=(
637
+ " encrypted-column-encryption-keying-material"
638
+ )
639
+
640
+ for file in " ${required_files[@]} " ; do
641
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo;bar" ]
642
+ done
643
+
644
+ required_files_current_encryption_key=(
630
645
" encrypted-column-current-encryption-key"
631
646
)
632
647
648
+ for file in " ${required_files_current_encryption_key[@]} " ; do
649
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " bar" ]
650
+ done
651
+
652
+
653
+ # GHES version 3.8.0
654
+ GHE_REMOTE_VERSION=3.8.0
655
+ export GHE_REMOTE_VERSION
656
+
657
+ ghe-backup
658
+
659
+ required_files=(
660
+ " encrypted-column-encryption-keying-material"
661
+ )
662
+
633
663
for file in " ${required_files[@]} " ; do
634
- [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo" ]
664
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo;bar " ]
635
665
done
636
666
667
+ required_files_current_encryption_key=(
668
+ " encrypted-column-current-encryption-key"
669
+ )
670
+
671
+ for file in " ${required_files_current_encryption_key[@]} " ; do
672
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " bar" ]
673
+ done
674
+
675
+
637
676
# GHES version 3.9.0
638
677
GHE_REMOTE_VERSION=3.9.0
639
678
export GHE_REMOTE_VERSION
640
679
641
680
ghe-backup
642
681
643
682
required_files=(
644
- " encrypted-column-current- encryption-key "
683
+ " encrypted-column-encryption-keying-material "
645
684
)
646
685
647
686
for file in " ${required_files[@]} " ; do
648
- [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo" ]
687
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo;bar" ]
688
+ done
689
+
690
+ required_files_current_encryption_key=(
691
+ " encrypted-column-current-encryption-key"
692
+ )
693
+
694
+ for file in " ${required_files_current_encryption_key[@]} " ; do
695
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " bar" ]
649
696
done
650
697
651
698
)
0 commit comments