You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
2.4 KiB
Go
136 lines
2.4 KiB
Go
package docker
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/Masterminds/semver/v3"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestConstraint(t *testing.T) {
|
|
for _, tt := range mobyBuildkitVersions {
|
|
tt := tt
|
|
t.Run(tt.MobyVersionConstraint, func(t *testing.T) {
|
|
_, err := semver.NewConstraint(tt.MobyVersionConstraint)
|
|
require.NoError(t, err)
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestResolveBuildKitVersion(t *testing.T) {
|
|
cases := []struct {
|
|
mobyVersion string
|
|
expected string
|
|
err bool
|
|
}{
|
|
{
|
|
mobyVersion: "18.06.1-ce",
|
|
expected: "v0.0.0+98f1604",
|
|
},
|
|
{
|
|
mobyVersion: "18.09.1-beta1",
|
|
expected: "v0.3.3",
|
|
},
|
|
{
|
|
mobyVersion: "19.03.0-beta1",
|
|
expected: "v0.4.0+b302896",
|
|
},
|
|
{
|
|
mobyVersion: "19.03.5-beta2",
|
|
expected: "v0.6.2+ff93519",
|
|
},
|
|
{
|
|
mobyVersion: "19.03.13-beta1",
|
|
expected: "v0.6.4+da1f4bf",
|
|
},
|
|
{
|
|
mobyVersion: "19.03.13-beta2",
|
|
expected: "v0.6.4+da1f4bf",
|
|
},
|
|
{
|
|
mobyVersion: "19.03.13",
|
|
expected: "v0.6.4+df89d4d",
|
|
},
|
|
{
|
|
mobyVersion: "20.10.3-rc.1",
|
|
expected: "v0.8.1+68bb095",
|
|
},
|
|
{
|
|
mobyVersion: "20.10.3",
|
|
expected: "v0.8.1+68bb095",
|
|
},
|
|
{
|
|
mobyVersion: "20.10.4",
|
|
expected: "v0.8.2",
|
|
},
|
|
{
|
|
mobyVersion: "20.10.16",
|
|
expected: "v0.8.2+bc07b2b8",
|
|
},
|
|
{
|
|
mobyVersion: "20.10.19",
|
|
expected: "v0.8.2+3a1eeca5",
|
|
},
|
|
{
|
|
mobyVersion: "20.10.23",
|
|
expected: "v0.8.2+eeb7b65",
|
|
},
|
|
{
|
|
mobyVersion: "20.10.24",
|
|
expected: "v0.8+unknown",
|
|
},
|
|
{
|
|
mobyVersion: "20.10.50",
|
|
expected: "v0.8+unknown",
|
|
},
|
|
{
|
|
mobyVersion: "22.06.0-beta.0",
|
|
expected: "v0.10.3",
|
|
},
|
|
{
|
|
mobyVersion: "22.06.0",
|
|
expected: "v0.10.3",
|
|
},
|
|
{
|
|
mobyVersion: "23.0.0-rc.4",
|
|
expected: "v0.10.6",
|
|
},
|
|
{
|
|
mobyVersion: "23.0.0",
|
|
expected: "v0.10.6",
|
|
},
|
|
{
|
|
mobyVersion: "23.0.1",
|
|
expected: "v0.10.6+4f0ee09",
|
|
},
|
|
{
|
|
mobyVersion: "23.0.2-rc.1",
|
|
expected: "v0.10.6+70f2ad5",
|
|
},
|
|
{
|
|
mobyVersion: "23.0.3",
|
|
expected: "v0.10.6+70f2ad5",
|
|
},
|
|
{
|
|
mobyVersion: "23.0.5",
|
|
expected: "v0.10.6+d52b2d5",
|
|
},
|
|
{
|
|
mobyVersion: "23.0.7",
|
|
expected: "v0.10+unknown",
|
|
},
|
|
}
|
|
for _, tt := range cases {
|
|
tt := tt
|
|
t.Run(tt.mobyVersion, func(t *testing.T) {
|
|
bkVersion, err := resolveBuildKitVersion(tt.mobyVersion)
|
|
if tt.err {
|
|
require.Error(t, err)
|
|
return
|
|
}
|
|
require.NoError(t, err)
|
|
require.Equal(t, tt.expected, bkVersion)
|
|
})
|
|
}
|
|
}
|