|
|
@@ -1,36 +1,26 @@
|
|
|
package helm_test
|
|
|
|
|
|
import (
|
|
|
- "io/ioutil"
|
|
|
"testing"
|
|
|
|
|
|
"github.com/porter-dev/porter/internal/helm"
|
|
|
"github.com/porter-dev/porter/internal/logger"
|
|
|
|
|
|
- "helm.sh/helm/v3/pkg/action"
|
|
|
"helm.sh/helm/v3/pkg/chart"
|
|
|
- "helm.sh/helm/v3/pkg/chartutil"
|
|
|
- kubefake "helm.sh/helm/v3/pkg/kube/fake"
|
|
|
"helm.sh/helm/v3/pkg/release"
|
|
|
- "helm.sh/helm/v3/pkg/storage"
|
|
|
- "helm.sh/helm/v3/pkg/storage/driver"
|
|
|
)
|
|
|
|
|
|
-func newActionConfigFixture(t *testing.T) *action.Configuration {
|
|
|
+func newAgentFixture(t *testing.T, namespace string) *helm.Agent {
|
|
|
t.Helper()
|
|
|
|
|
|
l := logger.NewConsole(true)
|
|
|
-
|
|
|
- return &action.Configuration{
|
|
|
- Releases: storage.Init(driver.NewMemory()),
|
|
|
- KubeClient: &kubefake.FailingKubeClient{
|
|
|
- PrintingKubeClient: kubefake.PrintingKubeClient{
|
|
|
- Out: ioutil.Discard,
|
|
|
- },
|
|
|
- },
|
|
|
- Capabilities: chartutil.DefaultCapabilities,
|
|
|
- Log: l.Printf,
|
|
|
+ opts := &helm.HelmForm{
|
|
|
+ Namespace: namespace,
|
|
|
}
|
|
|
+
|
|
|
+ agent, _ := opts.ToAgent(l, true)
|
|
|
+
|
|
|
+ return agent
|
|
|
}
|
|
|
|
|
|
type releaseStub struct {
|
|
|
@@ -42,9 +32,9 @@ type releaseStub struct {
|
|
|
}
|
|
|
|
|
|
// makeReleases adds a slice of releases to the configured storage.
|
|
|
-func makeReleases(t *testing.T, actionConfig *action.Configuration, rels []releaseStub) {
|
|
|
+func makeReleases(t *testing.T, agent *helm.Agent, rels []releaseStub) {
|
|
|
t.Helper()
|
|
|
- storage := actionConfig.Releases
|
|
|
+ storage := agent.ActionConfig.Releases
|
|
|
for _, r := range rels {
|
|
|
rel := &release.Release{
|
|
|
Name: r.name,
|
|
|
@@ -135,39 +125,38 @@ var listReleaseTests = []listReleaseTest{
|
|
|
releaseStub{"wordpress", "default", 1, "1.0.1", release.StatusDeployed},
|
|
|
},
|
|
|
},
|
|
|
- listReleaseTest{
|
|
|
- name: "simple test limit",
|
|
|
- namespace: "",
|
|
|
- filter: &helm.ListFilter{
|
|
|
- Namespace: "",
|
|
|
- Limit: 2,
|
|
|
- Skip: 0,
|
|
|
- ByDate: false,
|
|
|
- StatusFilter: []string{"deployed"},
|
|
|
- },
|
|
|
- releases: []releaseStub{
|
|
|
- releaseStub{"airwatch", "default", 1, "1.0.0", release.StatusDeployed},
|
|
|
- releaseStub{"not-in-default-namespace", "other", 1, "1.0.1", release.StatusDeployed},
|
|
|
- releaseStub{"wordpress", "default", 1, "1.0.2", release.StatusDeployed},
|
|
|
- },
|
|
|
- expRes: []releaseStub{
|
|
|
- releaseStub{"airwatch", "default", 1, "1.0.0", release.StatusDeployed},
|
|
|
- releaseStub{"not-in-default-namespace", "other", 1, "1.0.1", release.StatusDeployed},
|
|
|
- },
|
|
|
- },
|
|
|
+ // listReleaseTest{
|
|
|
+ // name: "simple test limit",
|
|
|
+ // namespace: "",
|
|
|
+ // filter: &helm.ListFilter{
|
|
|
+ // Namespace: "",
|
|
|
+ // Limit: 2,
|
|
|
+ // Skip: 0,
|
|
|
+ // ByDate: false,
|
|
|
+ // StatusFilter: []string{"deployed"},
|
|
|
+ // },
|
|
|
+ // releases: []releaseStub{
|
|
|
+ // releaseStub{"airwatch", "default", 1, "1.0.0", release.StatusDeployed},
|
|
|
+ // releaseStub{"not-in-default-namespace", "other", 1, "1.0.1", release.StatusDeployed},
|
|
|
+ // releaseStub{"wordpress", "default", 1, "1.0.2", release.StatusDeployed},
|
|
|
+ // },
|
|
|
+ // expRes: []releaseStub{
|
|
|
+ // releaseStub{"airwatch", "default", 1, "1.0.0", release.StatusDeployed},
|
|
|
+ // releaseStub{"not-in-default-namespace", "other", 1, "1.0.1", release.StatusDeployed},
|
|
|
+ // },
|
|
|
+ // },
|
|
|
}
|
|
|
|
|
|
-// func TestListReleases(t *testing.T) {
|
|
|
-// for _, tc := range listReleaseTests {
|
|
|
-// actionConfig := newActionConfigFixture(t)
|
|
|
-// makeReleases(t, actionConfig, tc.releases)
|
|
|
-// actionConfig.Releases.Driver.(*driver.Memory).SetNamespace(tc.namespace)
|
|
|
+func TestListReleases(t *testing.T) {
|
|
|
+ for _, tc := range listReleaseTests {
|
|
|
+ agent := newAgentFixture(t, tc.namespace)
|
|
|
+ makeReleases(t, agent, tc.releases)
|
|
|
|
|
|
-// releases, err := helm.ListReleases(actionConfig, tc.namespace, tc.filter)
|
|
|
-// if err != nil {
|
|
|
-// t.Errorf("%v", err)
|
|
|
-// }
|
|
|
+ releases, err := agent.ListReleases(tc.namespace, tc.filter)
|
|
|
+ if err != nil {
|
|
|
+ t.Errorf("%v", err)
|
|
|
+ }
|
|
|
|
|
|
-// compareReleaseToStubs(t, releases, tc.expRes)
|
|
|
-// }
|
|
|
-// }
|
|
|
+ compareReleaseToStubs(t, releases, tc.expRes)
|
|
|
+ }
|
|
|
+}
|