codersdk/deployment_internal_test.go
Rama main · réplica de lectura del repositorio original.
package codersdk
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestRemoveTrailingVersionInfo(t *testing.T) {
t.Parallel()
testCases := []struct {
Version string
ExpectedAfterStrippingInfo string
}{
{
Version: "v2.16.0+683a720",
ExpectedAfterStrippingInfo: "v2.16.0",
},
{
Version: "v2.16.0-devel+683a720",
ExpectedAfterStrippingInfo: "v2.16.0",
},
{
Version: "v2.16.0+683a720-devel",
ExpectedAfterStrippingInfo: "v2.16.0",
},
// RC versions: preserve the -rc.X suffix, strip build metadata.
{
Version: "v2.32.0-rc.1+abc123",
ExpectedAfterStrippingInfo: "v2.32.0-rc.1",
},
{
Version: "v2.32.0-rc.0",
ExpectedAfterStrippingInfo: "v2.32.0-rc.0",
},
{
Version: "v2.32.0-rc.1+683a720-devel",
ExpectedAfterStrippingInfo: "v2.32.0-rc.1",
},
// Bare devel suffix, no build metadata.
{
Version: "v2.32.0-devel",
ExpectedAfterStrippingInfo: "v2.32.0",
},
// Plain release, identity case.
{
Version: "v2.16.0",
ExpectedAfterStrippingInfo: "v2.16.0",
},
}
for _, tc := range testCases {
t.Run(tc.Version, func(t *testing.T) {
t.Parallel()
stripped := removeTrailingVersionInfo(tc.Version)
require.Equal(t, tc.ExpectedAfterStrippingInfo, stripped)
})
}
}