package mapper import ( "testing" helmApi "github.com/fluxcd/helm-controller/api/v2beta1" "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" "edge-infra.dev/pkg/edge/api/graph/model" ) func verifyHelmReleaseEqualModel(helm *helmApi.HelmRelease, model *helmApi.HelmRelease, t *testing.T) { assert.Equal(t, helm.ObjectMeta.Name, model.ObjectMeta.Name) assert.Equal(t, helm.ObjectMeta.Labels["parent-cluster"], model.ObjectMeta.Labels["parent-cluster"]) assert.Equal(t, helm.Spec.Interval.Duration, model.Spec.Interval.Duration) assert.Equal(t, helm.Spec.TargetNamespace, model.Spec.TargetNamespace) assert.Equal(t, helm.Spec.ReleaseName, model.Spec.ReleaseName) assert.Equal(t, helm.Spec.Chart.Spec.Chart, model.Spec.Chart.Spec.Chart) assert.Equal(t, helm.Spec.Chart.Spec.Version, model.Spec.Chart.Spec.Version) assert.Equal(t, helm.Spec.Chart.Spec.SourceRef.Kind, model.Spec.Chart.Spec.SourceRef.Kind) assert.Equal(t, helm.Spec.Chart.Spec.SourceRef.Name, model.Spec.Chart.Spec.SourceRef.Name) } func VerifyHelmRepositoryEqualModel(helmrepo *model.SecretManagerResponse, model *model.HelmRepository, t *testing.T) { repoName, _, _, url := GetHelmSecretData(helmrepo) assert.Equal(t, repoName, model.Name) assert.Equal(t, url, model.URL) assert.Equal(t, *helmrepo.Workload, model.Workload) assert.Equal(t, helmrepo.Name, model.Secret) } func verifyHelmChartResponseModel(version *model.HelmChartResponse, model *model.HelmChartResponse, t *testing.T) { assert.Equal(t, len(version.Versions), len(model.Versions)) assert.Equal(t, version.Name, model.Name) } func verifyServiceAccountEqualModel(ser1 *model.ServiceAccount, ser2 *model.ServiceAccount, t *testing.T) { assert.Equal(t, *(ser1).ProjectID, *(ser2).ProjectID) assert.Equal(t, *(ser1).PrivateKey, *(ser2).PrivateKey) assert.Equal(t, *(ser1).PrivateKeyID, *(ser2).PrivateKeyID) assert.Equal(t, *(ser1).ClientEmail, *(ser2).ClientEmail) assert.Equal(t, *(ser1).TokenURI, *(ser2).TokenURI) } func verifyMachineTypeInforEqualModel(machineType *model.MachineTypeInfo, testMachineInfo *model.MachineTypeInfo, t *testing.T) { assert.Equal(t, machineType.Name, testMachineInfo.Name) assert.Equal(t, machineType.GuestCPUs, testMachineInfo.GuestCPUs) assert.Equal(t, machineType.MemoryGb, testMachineInfo.MemoryGb) } func verifyZonesEqualModel(zones []*string, strArr []*string, t *testing.T) { for i := range zones { assert.Equal(t, zones[i], strArr[i]) } } func verifySecretEqualModel(secret *corev1.Secret, model *model.Secret, t *testing.T) { assert.Equal(t, secret.Name, model.Name) assert.Equal(t, secret.Namespace, model.Namespace) assert.Equal(t, secret.ObjectMeta.CreationTimestamp.Format(TimeFormat), model.CreatedOn) } func verifySecretObjectEqualModel(secret *corev1.Secret, model *corev1.Secret, t *testing.T) { assert.Equal(t, secret.ObjectMeta.Name, model.ObjectMeta.Name) assert.Equal(t, secret.ObjectMeta.Namespace, model.ObjectMeta.Namespace) assert.Equal(t, secret.ObjectMeta.Labels["edge-type"], model.ObjectMeta.Labels["edge-type"]) assert.Equal(t, secret.Data, model.Data) }