|
|
@@ -1,6 +1,7 @@
|
|
|
package keyrotate_test
|
|
|
|
|
|
import (
|
|
|
+ "fmt"
|
|
|
"testing"
|
|
|
|
|
|
"github.com/porter-dev/porter/cmd/migrate/keyrotate"
|
|
|
@@ -21,29 +22,43 @@ func TestClusterModelRotation(t *testing.T) {
|
|
|
|
|
|
setupTestEnv(tester, t)
|
|
|
|
|
|
- for i := 0; i < 100; i++ {
|
|
|
+ for i := 0; i < 1; i++ {
|
|
|
initCluster(tester, t)
|
|
|
}
|
|
|
|
|
|
defer cleanup(tester, t)
|
|
|
|
|
|
- keyrotate.Rotate(tester.DB, tester.Key, &newKey)
|
|
|
+ err := keyrotate.Rotate(tester.DB, tester.Key, &newKey)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("error rotating: %v\n", err)
|
|
|
+ }
|
|
|
|
|
|
// very all clusters decoded properly
|
|
|
repo := gorm.NewClusterRepository(tester.DB, &newKey).(*gorm.ClusterRepository)
|
|
|
|
|
|
clusters := []*models.Cluster{}
|
|
|
|
|
|
- if err := tester.DB.Find(&clusters).Error; err != nil {
|
|
|
+ if err := tester.DB.Preload("TokenCache").Find(&clusters).Error; err != nil {
|
|
|
t.Fatalf("%v\n", err)
|
|
|
}
|
|
|
|
|
|
// decrypt with the old key
|
|
|
- for _, cluster := range clusters {
|
|
|
- repo.DecryptClusterData(cluster, &newKey)
|
|
|
+ for _, c := range clusters {
|
|
|
+ fmt.Println("GOT TOKEN", string(c.TokenCache.Token))
|
|
|
+
|
|
|
+ cluster, err := repo.ReadCluster(c.ID)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("error reading cluster: %v\n", err)
|
|
|
+ }
|
|
|
|
|
|
if string(cluster.CertificateAuthorityData) != "-----BEGIN" {
|
|
|
t.Errorf("%s\n", string(cluster.CertificateAuthorityData))
|
|
|
}
|
|
|
+
|
|
|
+ if string(cluster.TokenCache.Token) != "token-1" {
|
|
|
+ t.Errorf("%s\n", string(cluster.TokenCache.Token))
|
|
|
+ }
|
|
|
}
|
|
|
}
|