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 }