mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-05 20:40:16 -08:00
93 lines
1.7 KiB
Go
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")
|
|
}
|