mirror of
https://github.com/portainer/portainer.git
synced 2025-07-21 22:39:41 +02:00
refactor(helm): helm binary to sdk refactor [r8s-229] (#463)
Co-authored-by: stevensbkang <skan070@gmail.com>
This commit is contained in:
parent
0d25f3f430
commit
b5961d79f8
56 changed files with 2222 additions and 819 deletions
72
pkg/libhelm/sdk/list_test.go
Normal file
72
pkg/libhelm/sdk/list_test.go
Normal file
|
@ -0,0 +1,72 @@
|
|||
package sdk
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"helm.sh/helm/v3/pkg/chart"
|
||||
"helm.sh/helm/v3/pkg/release"
|
||||
"helm.sh/helm/v3/pkg/time"
|
||||
)
|
||||
|
||||
func Test_ConvertToReleaseElements(t *testing.T) {
|
||||
is := assert.New(t)
|
||||
|
||||
// Create mock releases
|
||||
releases := []*release.Release{
|
||||
{
|
||||
Name: "release1",
|
||||
Namespace: "default",
|
||||
Version: 1,
|
||||
Info: &release.Info{
|
||||
Status: release.StatusDeployed,
|
||||
LastDeployed: time.Now(),
|
||||
},
|
||||
Chart: &chart.Chart{
|
||||
Metadata: &chart.Metadata{
|
||||
Name: "chart1",
|
||||
Version: "1.0.0",
|
||||
AppVersion: "1.0.0",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "release2",
|
||||
Namespace: "kube-system",
|
||||
Version: 2,
|
||||
Info: &release.Info{
|
||||
Status: release.StatusFailed,
|
||||
LastDeployed: time.Now(),
|
||||
},
|
||||
Chart: &chart.Chart{
|
||||
Metadata: &chart.Metadata{
|
||||
Name: "chart2",
|
||||
Version: "2.0.0",
|
||||
AppVersion: "2.0.0",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// Convert to release elements
|
||||
elements := convertToReleaseElements(releases)
|
||||
|
||||
// Verify conversion
|
||||
is.Len(elements, 2, "should return 2 release elements")
|
||||
|
||||
// Verify first release
|
||||
is.Equal("release1", elements[0].Name, "first release name should be release1")
|
||||
is.Equal("default", elements[0].Namespace, "first release namespace should be default")
|
||||
is.Equal("1", elements[0].Revision, "first release revision should be 1")
|
||||
is.Equal(string(release.StatusDeployed), elements[0].Status, "first release status should be deployed")
|
||||
is.Equal("chart1-1.0.0", elements[0].Chart, "first release chart should be chart1-1.0.0")
|
||||
is.Equal("1.0.0", elements[0].AppVersion, "first release app version should be 1.0.0")
|
||||
|
||||
// Verify second release
|
||||
is.Equal("release2", elements[1].Name, "second release name should be release2")
|
||||
is.Equal("kube-system", elements[1].Namespace, "second release namespace should be kube-system")
|
||||
is.Equal("2", elements[1].Revision, "second release revision should be 2")
|
||||
is.Equal(string(release.StatusFailed), elements[1].Status, "second release status should be failed")
|
||||
is.Equal("chart2-2.0.0", elements[1].Chart, "second release chart should be chart2-2.0.0")
|
||||
is.Equal("2.0.0", elements[1].AppVersion, "second release app version should be 2.0.0")
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue