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  }