1 package mapper
2
3 import (
4 "testing"
5
6 helmApi "github.com/fluxcd/helm-controller/api/v2beta1"
7 "github.com/stretchr/testify/assert"
8 corev1 "k8s.io/api/core/v1"
9
10 "edge-infra.dev/pkg/edge/api/graph/model"
11 )
12
13 func verifyHelmReleaseEqualModel(helm *helmApi.HelmRelease, model *helmApi.HelmRelease, t *testing.T) {
14 assert.Equal(t, helm.ObjectMeta.Name, model.ObjectMeta.Name)
15 assert.Equal(t, helm.ObjectMeta.Labels["parent-cluster"], model.ObjectMeta.Labels["parent-cluster"])
16 assert.Equal(t, helm.Spec.Interval.Duration, model.Spec.Interval.Duration)
17 assert.Equal(t, helm.Spec.TargetNamespace, model.Spec.TargetNamespace)
18 assert.Equal(t, helm.Spec.ReleaseName, model.Spec.ReleaseName)
19 assert.Equal(t, helm.Spec.Chart.Spec.Chart, model.Spec.Chart.Spec.Chart)
20 assert.Equal(t, helm.Spec.Chart.Spec.Version, model.Spec.Chart.Spec.Version)
21 assert.Equal(t, helm.Spec.Chart.Spec.SourceRef.Kind, model.Spec.Chart.Spec.SourceRef.Kind)
22 assert.Equal(t, helm.Spec.Chart.Spec.SourceRef.Name, model.Spec.Chart.Spec.SourceRef.Name)
23 }
24
25 func VerifyHelmRepositoryEqualModel(helmrepo *model.SecretManagerResponse, model *model.HelmRepository, t *testing.T) {
26 repoName, _, _, url := GetHelmSecretData(helmrepo)
27 assert.Equal(t, repoName, model.Name)
28 assert.Equal(t, url, model.URL)
29 assert.Equal(t, *helmrepo.Workload, model.Workload)
30 assert.Equal(t, helmrepo.Name, model.Secret)
31 }
32
33 func verifyHelmChartResponseModel(version *model.HelmChartResponse, model *model.HelmChartResponse, t *testing.T) {
34 assert.Equal(t, len(version.Versions), len(model.Versions))
35 assert.Equal(t, version.Name, model.Name)
36 }
37
38 func verifyServiceAccountEqualModel(ser1 *model.ServiceAccount, ser2 *model.ServiceAccount, t *testing.T) {
39 assert.Equal(t, *(ser1).ProjectID, *(ser2).ProjectID)
40 assert.Equal(t, *(ser1).PrivateKey, *(ser2).PrivateKey)
41 assert.Equal(t, *(ser1).PrivateKeyID, *(ser2).PrivateKeyID)
42 assert.Equal(t, *(ser1).ClientEmail, *(ser2).ClientEmail)
43 assert.Equal(t, *(ser1).TokenURI, *(ser2).TokenURI)
44 }
45
46 func verifyMachineTypeInforEqualModel(machineType *model.MachineTypeInfo, testMachineInfo *model.MachineTypeInfo, t *testing.T) {
47 assert.Equal(t, machineType.Name, testMachineInfo.Name)
48 assert.Equal(t, machineType.GuestCPUs, testMachineInfo.GuestCPUs)
49 assert.Equal(t, machineType.MemoryGb, testMachineInfo.MemoryGb)
50 }
51
52 func verifyZonesEqualModel(zones []*string, strArr []*string, t *testing.T) {
53 for i := range zones {
54 assert.Equal(t, zones[i], strArr[i])
55 }
56 }
57
58 func verifySecretEqualModel(secret *corev1.Secret, model *model.Secret, t *testing.T) {
59 assert.Equal(t, secret.Name, model.Name)
60 assert.Equal(t, secret.Namespace, model.Namespace)
61 assert.Equal(t, secret.ObjectMeta.CreationTimestamp.Format(TimeFormat), model.CreatedOn)
62 }
63
64 func verifySecretObjectEqualModel(secret *corev1.Secret, model *corev1.Secret, t *testing.T) {
65 assert.Equal(t, secret.ObjectMeta.Name, model.ObjectMeta.Name)
66 assert.Equal(t, secret.ObjectMeta.Namespace, model.ObjectMeta.Namespace)
67 assert.Equal(t, secret.ObjectMeta.Labels["edge-type"], model.ObjectMeta.Labels["edge-type"])
68 assert.Equal(t, secret.Data, model.Data)
69 }
70
View as plain text