@@ -78,7 +78,7 @@ sqlalchemy_config_kwargs:
7878 pool_pre_ping: true
7979`
8080
81- var invalidSecretContainingTypeYamlString = `
81+ var secretContainingValidTypeYamlString = `
8282type: cassandra
8383hosts:
8484 - 192.168.1.1
@@ -305,37 +305,12 @@ var _ = Describe("FeatureStore Controller - db storage services", func() {
305305
306306 Expect (err .Error ()).To (Equal ("secret key invalid.secret.key doesn't exist in secret online-store-secret" ))
307307
308- By ("Referring to a secret that contains parameter named type" )
309- resource = & feastdevv1alpha1.FeatureStore {}
310- err = k8sClient .Get (ctx , typeNamespacedName , resource )
311- Expect (err ).NotTo (HaveOccurred ())
312-
313- secret := & corev1.Secret {}
314- err = k8sClient .Get (ctx , onlineSecretNamespacedName , secret )
315- Expect (err ).NotTo (HaveOccurred ())
316- secret .Data [string (services .OnlineDBPersistenceCassandraConfigType )] = []byte (invalidSecretContainingTypeYamlString )
317- Expect (k8sClient .Update (ctx , secret )).To (Succeed ())
318-
319- resource .Spec .Services .OnlineStore .Persistence .DBPersistence .SecretRef = corev1.LocalObjectReference {Name : "online-store-secret" }
320- resource .Spec .Services .OnlineStore .Persistence .DBPersistence .SecretKeyName = ""
321- Expect (k8sClient .Update (ctx , resource )).To (Succeed ())
322- resource = & feastdevv1alpha1.FeatureStore {}
323- err = k8sClient .Get (ctx , typeNamespacedName , resource )
324- Expect (err ).NotTo (HaveOccurred ())
325-
326- _ , err = controllerReconciler .Reconcile (ctx , reconcile.Request {
327- NamespacedName : typeNamespacedName ,
328- })
329- Expect (err ).To (HaveOccurred ())
330-
331- Expect (err .Error ()).To (Equal ("secret key cassandra in secret online-store-secret contains invalid tag named type" ))
332-
333308 By ("Referring to a secret that contains parameter named type with invalid value" )
334309 resource = & feastdevv1alpha1.FeatureStore {}
335310 err = k8sClient .Get (ctx , typeNamespacedName , resource )
336311 Expect (err ).NotTo (HaveOccurred ())
337312
338- secret = & corev1.Secret {}
313+ secret : = & corev1.Secret {}
339314 err = k8sClient .Get (ctx , onlineSecretNamespacedName , secret )
340315 Expect (err ).NotTo (HaveOccurred ())
341316 secret .Data [string (services .OnlineDBPersistenceCassandraConfigType )] = []byte (invalidSecretTypeYamlString )
@@ -353,39 +328,7 @@ var _ = Describe("FeatureStore Controller - db storage services", func() {
353328 })
354329 Expect (err ).To (HaveOccurred ())
355330
356- Expect (err .Error ()).To (Equal ("secret key cassandra in secret online-store-secret contains invalid tag named type" ))
357-
358- By ("Referring to a secret that contains parameter named registry_type" )
359- resource = & feastdevv1alpha1.FeatureStore {}
360- err = k8sClient .Get (ctx , typeNamespacedName , resource )
361- Expect (err ).NotTo (HaveOccurred ())
362-
363- secret = & corev1.Secret {}
364- err = k8sClient .Get (ctx , onlineSecretNamespacedName , secret )
365- Expect (err ).NotTo (HaveOccurred ())
366- secret .Data [string (services .OnlineDBPersistenceCassandraConfigType )] = []byte (cassandraYamlString )
367- Expect (k8sClient .Update (ctx , secret )).To (Succeed ())
368-
369- secret = & corev1.Secret {}
370- err = k8sClient .Get (ctx , registrySecretNamespacedName , secret )
371- Expect (err ).NotTo (HaveOccurred ())
372- secret .Data ["sql_custom_registry_key" ] = nil
373- secret .Data [string (services .RegistryDBPersistenceSQLConfigType )] = []byte (invalidSecretRegistryTypeYamlString )
374- Expect (k8sClient .Update (ctx , secret )).To (Succeed ())
375-
376- resource .Spec .Services .Registry .Local .Persistence .DBPersistence .SecretRef = corev1.LocalObjectReference {Name : "registry-store-secret" }
377- resource .Spec .Services .Registry .Local .Persistence .DBPersistence .SecretKeyName = ""
378- Expect (k8sClient .Update (ctx , resource )).To (Succeed ())
379- resource = & feastdevv1alpha1.FeatureStore {}
380- err = k8sClient .Get (ctx , typeNamespacedName , resource )
381- Expect (err ).NotTo (HaveOccurred ())
382-
383- _ , err = controllerReconciler .Reconcile (ctx , reconcile.Request {
384- NamespacedName : typeNamespacedName ,
385- })
386- Expect (err ).To (HaveOccurred ())
387-
388- Expect (err .Error ()).To (Equal ("secret key sql in secret registry-store-secret contains invalid tag named registry_type" ))
331+ Expect (err .Error ()).To (Equal ("secret key cassandra in secret online-store-secret contains tag named type with value wrong" ))
389332 })
390333
391334 It ("should successfully reconcile the resource" , func () {
@@ -506,6 +449,60 @@ var _ = Describe("FeatureStore Controller - db storage services", func() {
506449 Expect (err ).NotTo (HaveOccurred ())
507450 Expect (controllerutil .HasControllerReference (svc )).To (BeTrue ())
508451 Expect (svc .Spec .Ports [0 ].TargetPort ).To (Equal (intstr .FromInt (int (services .FeastServiceConstants [services .RegistryFeastType ].TargetHttpPort ))))
452+
453+ By ("Referring to a secret that contains parameter named type" )
454+ resource = & feastdevv1alpha1.FeatureStore {}
455+ err = k8sClient .Get (ctx , typeNamespacedName , resource )
456+ Expect (err ).NotTo (HaveOccurred ())
457+
458+ secret := & corev1.Secret {}
459+ err = k8sClient .Get (ctx , onlineSecretNamespacedName , secret )
460+ Expect (err ).NotTo (HaveOccurred ())
461+ secret .Data [string (services .OnlineDBPersistenceCassandraConfigType )] = []byte (secretContainingValidTypeYamlString )
462+ Expect (k8sClient .Update (ctx , secret )).To (Succeed ())
463+
464+ resource .Spec .Services .OnlineStore .Persistence .DBPersistence .SecretRef = corev1.LocalObjectReference {Name : "online-store-secret" }
465+ resource .Spec .Services .OnlineStore .Persistence .DBPersistence .SecretKeyName = ""
466+ Expect (k8sClient .Update (ctx , resource )).To (Succeed ())
467+ resource = & feastdevv1alpha1.FeatureStore {}
468+ err = k8sClient .Get (ctx , typeNamespacedName , resource )
469+ Expect (err ).NotTo (HaveOccurred ())
470+
471+ _ , err = controllerReconciler .Reconcile (ctx , reconcile.Request {
472+ NamespacedName : typeNamespacedName ,
473+ })
474+
475+ Expect (err ).To (Not (HaveOccurred ()))
476+
477+ By ("Referring to a secret that contains parameter named registry_type" )
478+ resource = & feastdevv1alpha1.FeatureStore {}
479+ err = k8sClient .Get (ctx , typeNamespacedName , resource )
480+ Expect (err ).NotTo (HaveOccurred ())
481+
482+ secret = & corev1.Secret {}
483+ err = k8sClient .Get (ctx , onlineSecretNamespacedName , secret )
484+ Expect (err ).NotTo (HaveOccurred ())
485+ secret .Data [string (services .OnlineDBPersistenceCassandraConfigType )] = []byte (cassandraYamlString )
486+ Expect (k8sClient .Update (ctx , secret )).To (Succeed ())
487+
488+ secret = & corev1.Secret {}
489+ err = k8sClient .Get (ctx , registrySecretNamespacedName , secret )
490+ Expect (err ).NotTo (HaveOccurred ())
491+ secret .Data ["sql_custom_registry_key" ] = nil
492+ secret .Data [string (services .RegistryDBPersistenceSQLConfigType )] = []byte (invalidSecretRegistryTypeYamlString )
493+ Expect (k8sClient .Update (ctx , secret )).To (Succeed ())
494+
495+ resource .Spec .Services .Registry .Local .Persistence .DBPersistence .SecretRef = corev1.LocalObjectReference {Name : "registry-store-secret" }
496+ resource .Spec .Services .Registry .Local .Persistence .DBPersistence .SecretKeyName = ""
497+ Expect (k8sClient .Update (ctx , resource )).To (Succeed ())
498+ resource = & feastdevv1alpha1.FeatureStore {}
499+ err = k8sClient .Get (ctx , typeNamespacedName , resource )
500+ Expect (err ).NotTo (HaveOccurred ())
501+
502+ _ , err = controllerReconciler .Reconcile (ctx , reconcile.Request {
503+ NamespacedName : typeNamespacedName ,
504+ })
505+ Expect (err ).To (Not (HaveOccurred ()))
509506 })
510507
511508 It ("should properly encode a feature_store.yaml config" , func () {
0 commit comments