2019-04-17 18:25:02 +00:00
|
|
|
package providers
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/blang/semver"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestProviderRequestNameNil(t *testing.T) {
|
2022-03-04 08:17:41 +00:00
|
|
|
t.Parallel()
|
|
|
|
|
2023-09-11 15:54:07 +00:00
|
|
|
req := NewProviderRequest(nil, "pkg", "", nil)
|
2023-11-20 08:59:00 +00:00
|
|
|
assert.Equal(t, "default", req.Name())
|
2019-04-17 18:25:02 +00:00
|
|
|
assert.Equal(t, "pkg", req.String())
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestProviderRequestNameNoPre(t *testing.T) {
|
2022-03-04 08:17:41 +00:00
|
|
|
t.Parallel()
|
|
|
|
|
2019-04-17 18:25:02 +00:00
|
|
|
ver := semver.MustParse("0.18.1")
|
2023-09-11 15:54:07 +00:00
|
|
|
req := NewProviderRequest(&ver, "pkg", "", nil)
|
2023-11-20 08:59:00 +00:00
|
|
|
assert.Equal(t, "default_0_18_1", req.Name())
|
2019-04-17 18:25:02 +00:00
|
|
|
assert.Equal(t, "pkg-0.18.1", req.String())
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestProviderRequestNameDev(t *testing.T) {
|
2022-03-04 08:17:41 +00:00
|
|
|
t.Parallel()
|
|
|
|
|
2019-04-17 18:25:02 +00:00
|
|
|
ver := semver.MustParse("0.17.7-dev.1555435978+gb7030aa4.dirty")
|
2023-09-11 15:54:07 +00:00
|
|
|
req := NewProviderRequest(&ver, "pkg", "", nil)
|
2023-11-20 08:59:00 +00:00
|
|
|
assert.Equal(t, "default_0_17_7_dev_1555435978_gb7030aa4_dirty", req.Name())
|
2019-04-17 18:25:02 +00:00
|
|
|
assert.Equal(t, "pkg-0.17.7-dev.1555435978+gb7030aa4.dirty", req.String())
|
|
|
|
}
|
2021-12-17 22:52:01 +00:00
|
|
|
|
|
|
|
func TestProviderRequestNameNoPreURL(t *testing.T) {
|
2022-03-04 08:17:41 +00:00
|
|
|
t.Parallel()
|
|
|
|
|
2021-12-17 22:52:01 +00:00
|
|
|
ver := semver.MustParse("0.18.1")
|
2023-09-11 15:54:07 +00:00
|
|
|
req := NewProviderRequest(&ver, "pkg", "pulumi.com/pkg", nil)
|
2023-11-20 08:59:00 +00:00
|
|
|
assert.Equal(t, "default_0_18_1_pulumi.com/pkg", req.Name())
|
2021-12-17 22:52:01 +00:00
|
|
|
assert.Equal(t, "pkg-0.18.1-pulumi.com/pkg", req.String())
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestProviderRequestNameDevURL(t *testing.T) {
|
2022-03-04 08:17:41 +00:00
|
|
|
t.Parallel()
|
|
|
|
|
2021-12-17 22:52:01 +00:00
|
|
|
ver := semver.MustParse("0.17.7-dev.1555435978+gb7030aa4.dirty")
|
2023-09-11 15:54:07 +00:00
|
|
|
req := NewProviderRequest(&ver, "pkg", "company.com/artifact-storage/pkg", nil)
|
2023-11-20 08:59:00 +00:00
|
|
|
assert.Equal(t, "default_0_17_7_dev_1555435978_gb7030aa4_dirty_company.com/artifact-storage/pkg", req.Name())
|
2021-12-17 22:52:01 +00:00
|
|
|
assert.Equal(t, "pkg-0.17.7-dev.1555435978+gb7030aa4.dirty-company.com/artifact-storage/pkg", req.String())
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestProviderRequestCanonicalizeURL(t *testing.T) {
|
2022-03-04 08:17:41 +00:00
|
|
|
t.Parallel()
|
|
|
|
|
2023-09-11 15:54:07 +00:00
|
|
|
req := NewProviderRequest(nil, "pkg", "company.com/", nil)
|
2021-12-17 22:52:01 +00:00
|
|
|
assert.Equal(t, "company.com", req.PluginDownloadURL())
|
2023-11-20 08:59:00 +00:00
|
|
|
assert.Equal(t, "default_company.com", req.Name())
|
2021-12-17 22:52:01 +00:00
|
|
|
}
|