github.com/cobalt77/jfrog-client-go@v0.14.5/bintray/services/mavensync/mavensync_test.go (about)

     1  package mavensync
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/cobalt77/jfrog-client-go/bintray/services/utils/tests"
     7  	"github.com/cobalt77/jfrog-client-go/bintray/services/versions"
     8  )
     9  
    10  func TestGenerateMavenCentralSyncPath(t *testing.T) {
    11  	testCases := []struct {
    12  		name    string
    13  		path    string
    14  		want    string
    15  		wantErr bool
    16  	}{
    17  		{
    18  			"valid full path should generate valid url and no error",
    19  			"my-subject/my-repo/my-pkg/ver-1.9.1",
    20  			"https://api.bintray.com/maven_central_sync/my-subject/my-repo/my-pkg/versions/ver-1.9.1",
    21  			false,
    22  		},
    23  		{
    24  			"only package path should result in error",
    25  			"my-subject/my-repo/my-pkg",
    26  			"",
    27  			true,
    28  		},
    29  		{
    30  			"only repo path should result in error",
    31  			"my-subject/my-repo",
    32  			"",
    33  			true,
    34  		},
    35  		{
    36  			"only subject path should result in error",
    37  			"my-subject",
    38  			"",
    39  			true,
    40  		},
    41  		{
    42  			"empty path should result in error",
    43  			"",
    44  			"",
    45  			true,
    46  		},
    47  	}
    48  
    49  	for _, tt := range testCases {
    50  		t.Run(tt.name, func(t *testing.T) {
    51  			path, _ := versions.CreatePath(tt.path)
    52  
    53  			got, err := buildSyncURL(tests.CreateBintrayDetails(), path)
    54  			if (err != nil) != tt.wantErr {
    55  				t.Errorf("buildSyncURL() error = %v, wantErr %v", err, tt.wantErr)
    56  				return
    57  			}
    58  			if got != tt.want {
    59  				t.Errorf("buildSyncURL() = %v, want %v", got, tt.want)
    60  			}
    61  		})
    62  	}
    63  }