github.com/argoproj/argo-cd/v3@v3.2.1/util/hydrator/hydrator_test.go (about) 1 package hydrator 2 3 import ( 4 "reflect" 5 "testing" 6 "time" 7 8 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 9 10 appv1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1" 11 ) 12 13 func TestGetCommitMetadata(t *testing.T) { 14 repoURL := "https://github.com/test/argocd-example-apps" 15 drySHA := "3ff41cc5247197a6caf50216c4c76cc29d78a97d" 16 date := &metav1.Time{Time: metav1.Now().Time} 17 revisionAuthor := "test test@test.com" 18 references := make([]appv1.RevisionReference, 0) 19 revReference := appv1.RevisionReference{ 20 Commit: &appv1.CommitMetadata{ 21 Author: "testAuthor", 22 Subject: "test", 23 RepoURL: repoURL, 24 SHA: "3ff41cc5247197a6caf50216c4c76cc29d78a97c", 25 }, 26 } 27 references = append(references, revReference) 28 hydratedCommitMetadata := HydratorCommitMetadata{ 29 RepoURL: repoURL, 30 DrySHA: drySHA, 31 Author: revisionAuthor, 32 Date: date.Format(time.RFC3339), 33 References: references, 34 Subject: "testMessage", 35 } 36 type args struct { 37 repoURL string 38 drySha string 39 dryCommitMetadata *appv1.RevisionMetadata 40 } 41 tests := []struct { 42 name string 43 args args 44 want HydratorCommitMetadata 45 wantErr bool 46 }{ 47 { 48 name: "test GetHydratorCommitMD", 49 args: args{ 50 repoURL: repoURL, 51 drySha: drySHA, 52 dryCommitMetadata: &appv1.RevisionMetadata{ 53 Author: revisionAuthor, 54 Date: date, 55 Message: "testMessage", 56 References: references, 57 }, 58 }, 59 want: hydratedCommitMetadata, 60 }, 61 } 62 for _, tt := range tests { 63 t.Run(tt.name, func(t *testing.T) { 64 got, err := GetCommitMetadata(tt.args.repoURL, tt.args.drySha, tt.args.dryCommitMetadata) 65 if (err != nil) != tt.wantErr { 66 t.Errorf("GetCommitMetadata() error = %v, wantErr %v", err, tt.wantErr) 67 return 68 } 69 if !reflect.DeepEqual(got, tt.want) { 70 t.Errorf("GetCommitMetadata() = %v, want %v", got, tt.want) 71 } 72 }) 73 } 74 }