@@ -28,8 +28,11 @@ import (
2828 corev1 "k8s.io/api/core/v1"
2929 apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
3030 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
31+ "k8s.io/apimachinery/pkg/runtime"
32+ akoscheme "k8s.io/client-go/kubernetes/scheme"
3133 "sigs.k8s.io/controller-runtime/pkg/client"
3234
35+ akov2 "github.com/mongodb/mongodb-atlas-kubernetes/v2/api/v1"
3336 "github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/crapi"
3437 "github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/crapi/crds"
3538 "github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/crapi/testdata"
@@ -401,10 +404,11 @@ func TestFromAPI(t *testing.T) {
401404}
402405
403406func testFromAPI [S any ](t * testing.T , kind string , target client.Object , input * S , want client.Object , wantDeps ... client.Object ) {
407+ scheme := testScheme (t )
404408 crdsYML := bytes .NewBuffer (testdata .SampleCRDs )
405409 crd , err := extractCRD (kind , bufio .NewScanner (crdsYML ))
406410 require .NoError (t , err )
407- tr , err := crapi .NewTranslator (crd , version , sdkVersion )
411+ tr , err := crapi .NewTranslator (scheme , crd , version , sdkVersion )
408412 require .NoError (t , err )
409413 results , err := tr .FromAPI (target , input )
410414 require .NoError (t , err )
@@ -517,8 +521,7 @@ func TestToAPIAllRefs(t *testing.T) {
517521 "webhookSecret" : ([]byte )("sample-webhook-secret" ),
518522 },
519523 },
520- & corev1.Secret {
521- TypeMeta : metav1.TypeMeta {Kind : "Secret" , APIVersion : "v1" },
524+ & corev1.Secret { // works without type meta set as well
522525 ObjectMeta : metav1.ObjectMeta {Name : "alert-secrets-1" , Namespace : "ns" },
523526 Data : map [string ][]byte {
524527 "webhookUrl" : ([]byte )("sample-webhook-url" ),
@@ -571,10 +574,11 @@ func TestToAPIAllRefs(t *testing.T) {
571574 },
572575 } {
573576 t .Run (tc .name , func (t * testing.T ) {
577+ scheme := testScheme (t )
574578 crdsYML := bytes .NewBuffer (testdata .SampleCRDs )
575579 crd , err := extractCRD (tc .crd , bufio .NewScanner (crdsYML ))
576580 require .NoError (t , err )
577- tr , err := crapi .NewTranslator (crd , version , sdkVersion )
581+ tr , err := crapi .NewTranslator (scheme , crd , version , sdkVersion )
578582 require .NoError (t , err )
579583 require .NoError (t , tr .ToAPI (& tc .target , tc .input , tc .deps ... ))
580584 assert .Equal (t , tc .want , tc .target )
@@ -2015,3 +2019,12 @@ func extractCRD(kind string, scanner *bufio.Scanner) (*apiextensionsv1.CustomRes
20152019 }
20162020 }
20172021}
2022+
2023+ func testScheme (t * testing.T ) * runtime.Scheme {
2024+ t .Helper ()
2025+
2026+ scheme := runtime .NewScheme ()
2027+ require .NoError (t , akov2 .AddToScheme (scheme ))
2028+ require .NoError (t , akoscheme .AddToScheme (scheme ))
2029+ return scheme
2030+ }
0 commit comments