pulumi/pkg/pack/version_test.go
2017-06-26 14:46:34 -07:00

54 lines
1.5 KiB
Go

// Copyright 2016-2017, Pulumi Corporation. All rights reserved.
package pack
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestVersionCheck(t *testing.T) {
t.Parallel()
// Legal versions:
assert.Nil(t, Version("1.0.6").Check())
assert.Nil(t, Version("1.0.6-beta").Check())
assert.Nil(t, Version("1.0.6-beta+1").Check())
assert.Nil(t, Version("76abc1f").Check())
assert.Nil(t, Version("83030685c3b8a3dbe96bd10ab055f029667a96b0").Check())
// Illegal versions:
// - Empty
assert.NotNil(t, Version("").Check())
// - Random non-SHA1 hash chars
assert.NotNil(t, Version("a").Check())
assert.NotNil(t, Version("8f93eef78239").Check())
assert.NotNil(t, Version("!@#abcd").Check())
// - Semantic version ranges
assert.NotNil(t, Version(">1.0.6").Check())
}
func TestVersionSpecCheck(t *testing.T) {
t.Parallel()
// Legal versions:
// - Latest
assert.Nil(t, VersionSpec(LatestVersion).Check())
// - Semantic versions
assert.Nil(t, VersionSpec("1.0.6").Check())
assert.Nil(t, VersionSpec("1.0.6-beta").Check())
assert.Nil(t, VersionSpec("1.0.6-beta+1").Check())
assert.Nil(t, VersionSpec("76abc1f").Check())
assert.Nil(t, VersionSpec("83030685c3b8a3dbe96bd10ab055f029667a96b0").Check())
// - Semantic version ranges
assert.NotNil(t, Version(">1.0.6").Check())
// Illegal versions:
// - Empty
assert.NotNil(t, Version("").Check())
// - Random non-SHA1 hash chars
assert.NotNil(t, Version("a").Check())
assert.NotNil(t, Version("8f93eef78239").Check())
assert.NotNil(t, Version("!@#abcd").Check())
}