get.porter.sh/porter@v1.3.0/pkg/pkgmgmt/download_options_test.go (about) 1 package pkgmgmt 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestPackageDownloadOptions_Validate(t *testing.T) { 11 t.Run("unset", func(t *testing.T) { 12 opts := PackageDownloadOptions{} 13 require.NoError(t, opts.Validate()) 14 assert.Equal(t, DefaultPackageMirror, opts.Mirror) 15 }) 16 17 t.Run("valid url", func(t *testing.T) { 18 exampleMirror := "https://example.com" 19 opts := PackageDownloadOptions{Mirror: exampleMirror} 20 require.NoError(t, opts.Validate()) 21 assert.Equal(t, exampleMirror, opts.Mirror) 22 }) 23 24 t.Run("invalid url", func(t *testing.T) { 25 opts := PackageDownloadOptions{Mirror: "$://example.com"} 26 require.Error(t, opts.Validate()) 27 }) 28 } 29 30 func TestPackageDownloadOptions_GetMirror(t *testing.T) { 31 t.Run("mirror unset", func(t *testing.T) { 32 opts := PackageDownloadOptions{} 33 mirror := opts.GetMirror() 34 assert.Equal(t, DefaultPackageMirror, mirror.String()) 35 }) 36 37 t.Run("mirror set", func(t *testing.T) { 38 exampleMirror := "https://example.com" 39 opts := PackageDownloadOptions{Mirror: exampleMirror} 40 require.NoError(t, opts.Validate()) 41 42 result := opts.GetMirror() 43 assert.Equal(t, exampleMirror, result.String()) 44 }) 45 }