ref(*): relocate 'helm dependency list' testing

Signed-off-by: Pablo Caraballo Llorente <pcaraballo@vmware.com>
pull/10378/head
Pablo Caraballo Llorente 4 years ago
parent 417210dd1d
commit 5fb8aae680
No known key found for this signature in database
GPG Key ID: 48F6CBC570FFA8E1

@ -0,0 +1,77 @@
/*
Copyright The Helm Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package main
import (
"runtime"
"testing"
)
func TestDependencyListCmd(t *testing.T) {
noSuchChart := cmdTestCase{
name: "No such chart",
cmd: "dependency list /no/such/chart",
golden: "output/dependency-list-no-chart-linux.txt",
wantError: true,
}
noDependencies := cmdTestCase{
name: "No dependencies",
cmd: "dependency list testdata/testcharts/alpine",
golden: "output/dependency-list-no-requirements-linux.txt",
}
if runtime.GOOS == "windows" {
noSuchChart.golden = "output/dependency-list-no-chart-windows.txt"
noDependencies.golden = "output/dependency-list-no-requirements-windows.txt"
}
tests := []cmdTestCase{noSuchChart,
noDependencies, {
name: "Dependencies in chart dir",
cmd: "dependency list testdata/testcharts/reqtest",
golden: "output/dependency-list.txt",
}, {
name: "Dependencies in chart archive",
cmd: "dependency list testdata/testcharts/reqtest-0.1.0.tgz",
golden: "output/dependency-list-archive.txt",
}}
runTestCmd(t, tests)
}
func TestList(t *testing.T) {
tests := []cmdTestCase{{
name: "list deps of chart with compressed dependencies",
cmd: "dep list testdata/testcharts/chart-with-compressed-dependencies",
golden: "output/dependency-list-compressed.txt",
}, {
name: "list deps of archived chart with compressed dependencies",
cmd: "dep list testdata/testcharts/chart-with-compressed-dependencies-2.1.8.tgz",
golden: "output/dependency-list-compressed-tgz.txt",
}, {
name: "list deps of chart with uncompressed dependencies",
cmd: "dep list testdata/testcharts/chart-with-uncompressed-dependencies",
golden: "output/dependency-list-uncompressed.txt",
}, {
name: "list deps of archived chart with uncompressed dependencies",
cmd: "dep list testdata/testcharts/chart-with-uncompressed-dependencies-2.1.8.tgz",
golden: "output/dependency-list-uncompressed-tgz.txt",
}, {
name: "list deps of chart with missing dependencies",
cmd: "dep list testdata/testcharts/chart-missing-deps",
golden: "output/dependency-list-missing.txt",
}}
runTestCmd(t, tests)
}

@ -16,42 +16,9 @@ limitations under the License.
package main
import (
"runtime"
"testing"
)
func TestDependencyListCmd(t *testing.T) {
noSuchChart := cmdTestCase{
name: "No such chart",
cmd: "dependency list /no/such/chart",
golden: "output/dependency-list-no-chart-linux.txt",
wantError: true,
}
noDependencies := cmdTestCase{
name: "No dependencies",
cmd: "dependency list testdata/testcharts/alpine",
golden: "output/dependency-list-no-requirements-linux.txt",
}
if runtime.GOOS == "windows" {
noSuchChart.golden = "output/dependency-list-no-chart-windows.txt"
noDependencies.golden = "output/dependency-list-no-requirements-windows.txt"
}
tests := []cmdTestCase{noSuchChart,
noDependencies, {
name: "Dependencies in chart dir",
cmd: "dependency list testdata/testcharts/reqtest",
golden: "output/dependency-list.txt",
}, {
name: "Dependencies in chart archive",
cmd: "dependency list testdata/testcharts/reqtest-0.1.0.tgz",
golden: "output/dependency-list-archive.txt",
}}
runTestCmd(t, tests)
}
func TestDependencyFileCompletion(t *testing.T) {
checkFileCompletion(t, "dependency", false)
}

@ -2,4 +2,3 @@ NAME VERSION REPOSITORY STATUS
reqsubchart 0.1.0 https://example.com/charts unpacked
reqsubchart2 0.2.0 https://example.com/charts unpacked
reqsubchart3 >=0.1.0 https://example.com/charts unpacked

@ -1,3 +1,2 @@
NAME VERSION REPOSITORY STATUS
mariadb 4.x.x https://kubernetes-charts.storage.googleapis.com/ unpacked

@ -1,3 +1,2 @@
NAME VERSION REPOSITORY STATUS
mariadb 4.x.x https://charts.helm.sh/stable/ ok

@ -0,0 +1,3 @@
NAME VERSION REPOSITORY STATUS
reqsubchart 0.1.0 https://example.com/charts unpacked
reqsubchart2 0.2.0 https://example.com/charts missing

@ -1,3 +1,2 @@
NAME VERSION REPOSITORY STATUS
mariadb 4.x.x https://kubernetes-charts.storage.googleapis.com/ unpacked

@ -1,3 +1,2 @@
NAME VERSION REPOSITORY STATUS
mariadb 4.x.x https://charts.helm.sh/stable/ unpacked

@ -2,4 +2,3 @@ NAME VERSION REPOSITORY STATUS
reqsubchart 0.1.0 https://example.com/charts unpacked
reqsubchart2 0.2.0 https://example.com/charts unpacked
reqsubchart3 >=0.1.0 https://example.com/charts ok

@ -17,7 +17,6 @@ limitations under the License.
package action
import (
"bytes"
"io/ioutil"
"os"
"path/filepath"
@ -25,45 +24,10 @@ import (
"github.com/stretchr/testify/assert"
"helm.sh/helm/v3/internal/test"
"helm.sh/helm/v3/pkg/chart"
"helm.sh/helm/v3/pkg/chartutil"
)
func TestList(t *testing.T) {
for _, tcase := range []struct {
chart string
golden string
}{
{
chart: "testdata/charts/chart-with-compressed-dependencies",
golden: "output/list-compressed-deps.txt",
},
{
chart: "testdata/charts/chart-with-compressed-dependencies-2.1.8.tgz",
golden: "output/list-compressed-deps-tgz.txt",
},
{
chart: "testdata/charts/chart-with-uncompressed-dependencies",
golden: "output/list-uncompressed-deps.txt",
},
{
chart: "testdata/charts/chart-with-uncompressed-dependencies-2.1.8.tgz",
golden: "output/list-uncompressed-deps-tgz.txt",
},
{
chart: "testdata/charts/chart-missing-deps",
golden: "output/list-missing-deps.txt",
},
} {
buf := bytes.Buffer{}
if err := NewDependency().List(tcase.chart, &buf); err != nil {
t.Fatal(err)
}
test.AssertGoldenBytes(t, buf.Bytes(), tcase.golden)
}
}
// TestDependencyStatus_Dashes is a regression test to make sure that dashes in
// chart names do not cause resolution problems.
func TestDependencyStatus_Dashes(t *testing.T) {
@ -98,7 +62,7 @@ func TestDependencyStatus_Dashes(t *testing.T) {
}
// Now try to get the deps
stat := NewDependency().dependencyStatus(dir, dep, first)
stat := DependencyStatus(dir, dep, first)
if stat != "ok" {
t.Errorf("Unexpected status: %q", stat)
}

@ -1,3 +0,0 @@
NAME VERSION REPOSITORY STATUS
mariadb 4.x.x https://charts.helm.sh/stable/ missing
Loading…
Cancel
Save