Files
trivy/magefiles/helm_test.go
Matthieu MOREL a19e0aa1ba fix: octalLiteral from go-critic (#8811)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-05-05 13:49:07 +00:00

93 lines
1.7 KiB
Go

//go:build mage_helm
package main
import (
"os"
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewVersion(t *testing.T) {
tests := []struct {
name string
currentHelmVersion string
currentTrivyVersion string
newTrivyVersion string
newHelmVersion string
}{
{
"created the first patch",
"0.1.0",
"0.55.0",
"0.55.1",
"0.1.1",
},
{
"created the second patch",
"0.1.1",
"0.55.1",
"0.55.2",
"0.1.2",
},
{
"created the second patch but helm chart was changed",
"0.1.2",
"0.55.1",
"0.55.2",
"0.1.3",
},
{
"created a new minor version",
"0.1.1",
"0.55.1",
"0.56.0",
"0.2.0",
},
{
"created a new major version",
"0.1.1",
"0.55.1",
"1.0.0",
"1.0.0",
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
newHelmVersion, err := buildNewHelmVersion(test.currentHelmVersion, test.currentTrivyVersion, test.newTrivyVersion)
assert.NoError(t, err)
assert.Equal(t, test.newHelmVersion, newHelmVersion)
})
}
}
func TestBumpHelmChart_Success(t *testing.T) {
tempFile, err := os.CreateTemp(t.TempDir(), "Chart-*.yaml")
assert.NoError(t, err)
content := `
apiVersion: v2
name: trivy
version: 0.8.0
appVersion: 0.55.0
description: Trivy helm chart
keywords:
- scanner
- trivy
- vulnerability
`
err = os.WriteFile(tempFile.Name(), []byte(content), 0o644)
assert.NoError(t, err)
newVersion, err := bumpHelmChart(tempFile.Name(), "0.55.1")
assert.NoError(t, err)
assert.Equal(t, "0.8.1", newVersion)
updatedContent, err := os.ReadFile(tempFile.Name())
assert.NoError(t, err)
assert.Contains(t, string(updatedContent), "appVersion: 0.55.1")
assert.Contains(t, string(updatedContent), "version: 0.8.1")
}