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  }