github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/resource/deploy/providers/provider_test.go (about) 1 package providers 2 3 import ( 4 "testing" 5 6 "github.com/blang/semver" 7 "github.com/stretchr/testify/assert" 8 9 "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" 10 ) 11 12 func TestProviderRequestNameNil(t *testing.T) { 13 t.Parallel() 14 15 req := NewProviderRequest(nil, "pkg", "") 16 assert.Equal(t, tokens.QName("default"), req.Name()) 17 assert.Equal(t, "pkg", req.String()) 18 } 19 20 func TestProviderRequestNameNoPre(t *testing.T) { 21 t.Parallel() 22 23 ver := semver.MustParse("0.18.1") 24 req := NewProviderRequest(&ver, "pkg", "") 25 assert.Equal(t, "default_0_18_1", req.Name().String()) 26 assert.Equal(t, "pkg-0.18.1", req.String()) 27 } 28 29 func TestProviderRequestNameDev(t *testing.T) { 30 t.Parallel() 31 32 ver := semver.MustParse("0.17.7-dev.1555435978+gb7030aa4.dirty") 33 req := NewProviderRequest(&ver, "pkg", "") 34 assert.Equal(t, "default_0_17_7_dev_1555435978_gb7030aa4_dirty", req.Name().String()) 35 assert.Equal(t, "pkg-0.17.7-dev.1555435978+gb7030aa4.dirty", req.String()) 36 } 37 38 func TestProviderRequestNameNoPreURL(t *testing.T) { 39 t.Parallel() 40 41 ver := semver.MustParse("0.18.1") 42 req := NewProviderRequest(&ver, "pkg", "pulumi.com/pkg") 43 assert.Equal(t, "default_0_18_1_pulumi.com/pkg", req.Name().String()) 44 assert.Equal(t, "pkg-0.18.1-pulumi.com/pkg", req.String()) 45 } 46 47 func TestProviderRequestNameDevURL(t *testing.T) { 48 t.Parallel() 49 50 ver := semver.MustParse("0.17.7-dev.1555435978+gb7030aa4.dirty") 51 req := NewProviderRequest(&ver, "pkg", "company.com/artifact-storage/pkg") 52 assert.Equal(t, "default_0_17_7_dev_1555435978_gb7030aa4_dirty_company.com/artifact-storage/pkg", req.Name().String()) 53 assert.Equal(t, "pkg-0.17.7-dev.1555435978+gb7030aa4.dirty-company.com/artifact-storage/pkg", req.String()) 54 } 55 56 func TestProviderRequestCanonicalizeURL(t *testing.T) { 57 t.Parallel() 58 59 req := NewProviderRequest(nil, "pkg", "company.com/") 60 assert.Equal(t, "company.com", req.PluginDownloadURL()) 61 assert.Equal(t, "default_company.com", req.Name().String()) 62 }