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  }