github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/utils/precheckrunner/remoteurlchecker_test.go (about) 1 package precheckrunner 2 3 import ( 4 "encoding/json" 5 "path/filepath" 6 "testing" 7 8 "github.com/jfrog/jfrog-client-go/artifactory/services" 9 "github.com/jfrog/jfrog-client-go/utils/io/fileutils" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 var remoteUrlCheckerTestDir = filepath.Join("testdata", "remoteurlchecker") 14 15 func TestRemoteUrlRequest(t *testing.T) { 16 // Read mock "GET artifactory/api/repository/nuget-remote" response 17 nugetRepo, err := fileutils.ReadFile(filepath.Join(remoteUrlCheckerTestDir, "nuget_repo.json")) 18 assert.NoError(t, err) 19 20 // Create RemoteRepositoryCheck test object 21 var remoteRepositories []interface{} 22 var remoteRepository services.RemoteRepositoryBaseParams 23 assert.NoError(t, json.Unmarshal(nugetRepo, &remoteRepository)) 24 remoteRepositoryCheck := NewRemoteRepositoryCheck(nil, append(remoteRepositories, remoteRepository)) 25 26 // Run and verify createRemoteUrlRequest 27 remoteUrlRequest, err := remoteRepositoryCheck.createRemoteUrlRequest() 28 assert.NoError(t, err) 29 assert.Len(t, remoteUrlRequest, 1) 30 assert.Equal(t, "nuget-remote", remoteUrlRequest[0].Key) 31 assert.Equal(t, "https://www.nuget.org/", remoteUrlRequest[0].Url) 32 assert.Equal(t, "nuget", remoteUrlRequest[0].RepoType) 33 assert.Equal(t, "admin", remoteUrlRequest[0].Username) 34 assert.Equal(t, "password", remoteUrlRequest[0].Password) 35 } 36 37 func TestEmptyRemoteUrlRequest(t *testing.T) { 38 // Create RemoteRepositoryCheck test object 39 remoteRepositoryCheck := NewRemoteRepositoryCheck(nil, []interface{}{}) 40 41 // Run and verify createRemoteUrlRequest 42 remoteUrlRequest, err := remoteRepositoryCheck.createRemoteUrlRequest() 43 assert.NoError(t, err) 44 assert.Empty(t, remoteUrlRequest) 45 }