@@ -2,6 +2,7 @@ package e2e
2
2
3
3
import (
4
4
"context"
5
+ "crypto/sha256"
5
6
"encoding/json"
6
7
"flag"
7
8
"fmt"
@@ -1942,7 +1943,7 @@ func verifyReaperSecrets(
1942
1943
t * testing.T ,
1943
1944
f * framework.E2eFramework ,
1944
1945
ctx context.Context ,
1945
- namespace , reaperName , cluster1Name , cluster2Name string ,
1946
+ namespace , reaperName , cluster1Name , cluster1DcName , cluster2Name , cluster2DcName string ,
1946
1947
) {
1947
1948
// check that the secret now has 2 entries
1948
1949
updatedTruststoreSecret := & corev1.Secret {}
@@ -1951,15 +1952,20 @@ func verifyReaperSecrets(
1951
1952
require .Len (t , updatedTruststoreSecret .Data , 4 , "truststore secret should have 2 entries" )
1952
1953
1953
1954
// check that updatedTruststoreSecret keys are made of correctly named truststore files
1954
- _ , ok := updatedTruststoreSecret .Data [fmt .Sprintf ("%s-truststore.jks" , cluster1Name )]
1955
+ c1ts , ok := updatedTruststoreSecret .Data [fmt .Sprintf ("%s-truststore.jks" , cluster1Name )]
1955
1956
require .True (t , ok , "truststore secret should have key %s" , cluster1Name )
1956
- _ , ok = updatedTruststoreSecret .Data [fmt .Sprintf ("%s-keystore.jks" , cluster1Name )]
1957
+ c1ks , ok : = updatedTruststoreSecret .Data [fmt .Sprintf ("%s-keystore.jks" , cluster1Name )]
1957
1958
require .True (t , ok , "truststore secret should have key %s" , cluster1Name )
1958
1959
1959
- _ , ok = updatedTruststoreSecret .Data [fmt .Sprintf ("%s-keystore.jks" , cluster2Name )]
1960
+ // compare the secrets in reaper's truststore with the actual secrets the cluster uses
1961
+ verifyTruststoreFingerprints (t , f , ctx , namespace , cluster1Name , cluster1DcName , c1ts , c1ks )
1962
+
1963
+ c2ts , ok := updatedTruststoreSecret .Data [fmt .Sprintf ("%s-keystore.jks" , cluster2Name )]
1960
1964
require .True (t , ok , "truststore secret should have key %s" , cluster2Name )
1961
- _ , ok = updatedTruststoreSecret .Data [fmt .Sprintf ("%s-keystore.jks" , cluster2Name )]
1965
+ c2ks , ok : = updatedTruststoreSecret .Data [fmt .Sprintf ("%s-keystore.jks" , cluster2Name )]
1962
1966
require .True (t , ok , "truststore secret should have key %s" , cluster2Name )
1967
+
1968
+ verifyTruststoreFingerprints (t , f , ctx , namespace , cluster2Name , cluster2DcName , c2ts , c2ks )
1963
1969
}
1964
1970
1965
1971
func checkKeyspaceNeverCreated (
@@ -2386,3 +2392,20 @@ func CheckLabelsAnnotationsCreated(dcKey framework.ClusterKey, t *testing.T, ctx
2386
2392
assert .True (t , cassDC .Spec .AdditionalAnnotations ["anAnnotationKeyClusterLevel" ] == "anAnnotationValueClusterLevel" )
2387
2393
return nil
2388
2394
}
2395
+
2396
+ func verifyTruststoreFingerprints (
2397
+ t * testing.T ,
2398
+ f * framework.E2eFramework ,
2399
+ ctx context.Context ,
2400
+ namespace , clusterName , dcName string ,
2401
+ reapersTruststore , reapersKeystore []byte ,
2402
+ ) {
2403
+ c1SecretName := fmt .Sprintf ("%s-%s-%s-c-mgtm-ks" , clusterName , clusterName , dcName )
2404
+ c1SecretKey := types.NamespacedName {Namespace : namespace , Name : c1SecretName }
2405
+ c1Secret := & corev1.Secret {}
2406
+ err := f .Client .Get (ctx , c1SecretKey , c1Secret )
2407
+ require .NoError (t , err , "failed to get secret %s" , c1SecretKey )
2408
+ actualTs , actualKs := c1Secret .Data ["truststore.jks" ], c1Secret .Data ["keystore.jks" ]
2409
+ require .Equal (t , sha256 .Sum256 (reapersTruststore ), sha256 .Sum256 (actualTs ))
2410
+ require .Equal (t , sha256 .Sum256 (reapersKeystore ), sha256 .Sum256 (actualKs ))
2411
+ }
0 commit comments