test: move TestListWithJSONOutput to app_list_test
Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
This commit is contained in:
parent
1838ec0a11
commit
4dd73d4efb
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"bytes"
|
"bytes"
|
||||||
"io"
|
"io"
|
||||||
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
|
@ -255,3 +256,70 @@ func TestListWithEnvironment(t *testing.T) {
|
||||||
testListWithEnvironment(t, configImpl{withPreparedCharts: false})
|
testListWithEnvironment(t, configImpl{withPreparedCharts: false})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testListWithJSONOutput(t *testing.T, cfg configImpl) {
|
||||||
|
cfg.output = "json"
|
||||||
|
|
||||||
|
files := map[string]string{
|
||||||
|
"/path/to/helmfile.d/first.yaml": `
|
||||||
|
environments:
|
||||||
|
default:
|
||||||
|
values:
|
||||||
|
- myrelease2:
|
||||||
|
enabled: false
|
||||||
|
releases:
|
||||||
|
- name: myrelease1
|
||||||
|
chart: mychart1
|
||||||
|
installed: no
|
||||||
|
labels:
|
||||||
|
id: myrelease1
|
||||||
|
- name: myrelease2
|
||||||
|
chart: mychart1
|
||||||
|
condition: myrelease2.enabled
|
||||||
|
`,
|
||||||
|
"/path/to/helmfile.d/second.yaml": `
|
||||||
|
releases:
|
||||||
|
- name: myrelease3
|
||||||
|
chart: mychart1
|
||||||
|
installed: yes
|
||||||
|
- name: myrelease4
|
||||||
|
chart: mychart1
|
||||||
|
labels:
|
||||||
|
id: myrelease1
|
||||||
|
`,
|
||||||
|
}
|
||||||
|
stdout := os.Stdout
|
||||||
|
defer func() { os.Stdout = stdout }()
|
||||||
|
|
||||||
|
var buffer bytes.Buffer
|
||||||
|
logger := helmexec.NewLogger(&buffer, "debug")
|
||||||
|
|
||||||
|
app := appWithFs(&App{
|
||||||
|
OverrideHelmBinary: DefaultHelmBinary,
|
||||||
|
fs: ffs.DefaultFileSystem(),
|
||||||
|
OverrideKubeContext: "default",
|
||||||
|
Env: "default",
|
||||||
|
Logger: logger,
|
||||||
|
Namespace: "testNamespace",
|
||||||
|
}, files)
|
||||||
|
|
||||||
|
expectNoCallsToHelm(app)
|
||||||
|
|
||||||
|
out := testutil.CaptureStdout(func() {
|
||||||
|
err := app.ListReleases(cfg)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
})
|
||||||
|
|
||||||
|
expected := `[{"name":"myrelease1","namespace":"","enabled":true,"installed":false,"labels":"id:myrelease1","chart":"mychart1","version":""},{"name":"myrelease2","namespace":"","enabled":false,"installed":true,"labels":"","chart":"mychart1","version":""},{"name":"myrelease3","namespace":"","enabled":true,"installed":true,"labels":"","chart":"mychart1","version":""},{"name":"myrelease4","namespace":"","enabled":true,"installed":true,"labels":"id:myrelease1","chart":"mychart1","version":""}]
|
||||||
|
`
|
||||||
|
assert.Equal(t, expected, out)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestListWithJSONOutput(t *testing.T) {
|
||||||
|
t.Run("with prepared charts", func(t *testing.T) {
|
||||||
|
testListWithJSONOutput(t, configImpl{withPreparedCharts: true})
|
||||||
|
})
|
||||||
|
t.Run("without prepared charts", func(t *testing.T) {
|
||||||
|
testListWithJSONOutput(t, configImpl{withPreparedCharts: false})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -4627,64 +4627,6 @@ myrelease4 true true id:myrelease1 mychart1
|
||||||
assert.Equal(t, expected, out)
|
assert.Equal(t, expected, out)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestListWithJsonOutput(t *testing.T) {
|
|
||||||
files := map[string]string{
|
|
||||||
"/path/to/helmfile.d/first.yaml": `
|
|
||||||
environments:
|
|
||||||
default:
|
|
||||||
values:
|
|
||||||
- myrelease2:
|
|
||||||
enabled: false
|
|
||||||
releases:
|
|
||||||
- name: myrelease1
|
|
||||||
chart: mychart1
|
|
||||||
installed: no
|
|
||||||
labels:
|
|
||||||
id: myrelease1
|
|
||||||
- name: myrelease2
|
|
||||||
chart: mychart1
|
|
||||||
condition: myrelease2.enabled
|
|
||||||
`,
|
|
||||||
"/path/to/helmfile.d/second.yaml": `
|
|
||||||
releases:
|
|
||||||
- name: myrelease3
|
|
||||||
chart: mychart1
|
|
||||||
installed: yes
|
|
||||||
- name: myrelease4
|
|
||||||
chart: mychart1
|
|
||||||
labels:
|
|
||||||
id: myrelease1
|
|
||||||
`,
|
|
||||||
}
|
|
||||||
stdout := os.Stdout
|
|
||||||
defer func() { os.Stdout = stdout }()
|
|
||||||
|
|
||||||
var buffer bytes.Buffer
|
|
||||||
logger := helmexec.NewLogger(&buffer, "debug")
|
|
||||||
|
|
||||||
app := appWithFs(&App{
|
|
||||||
OverrideHelmBinary: DefaultHelmBinary,
|
|
||||||
fs: ffs.DefaultFileSystem(),
|
|
||||||
OverrideKubeContext: "default",
|
|
||||||
Env: "default",
|
|
||||||
Logger: logger,
|
|
||||||
Namespace: "testNamespace",
|
|
||||||
}, files)
|
|
||||||
|
|
||||||
expectNoCallsToHelm(app)
|
|
||||||
|
|
||||||
out := testutil.CaptureStdout(func() {
|
|
||||||
err := app.ListReleases(configImpl{
|
|
||||||
output: "json",
|
|
||||||
})
|
|
||||||
assert.Nil(t, err)
|
|
||||||
})
|
|
||||||
|
|
||||||
expected := `[{"name":"myrelease1","namespace":"","enabled":true,"installed":false,"labels":"id:myrelease1","chart":"mychart1","version":""},{"name":"myrelease2","namespace":"","enabled":false,"installed":true,"labels":"","chart":"mychart1","version":""},{"name":"myrelease3","namespace":"","enabled":true,"installed":true,"labels":"","chart":"mychart1","version":""},{"name":"myrelease4","namespace":"","enabled":true,"installed":true,"labels":"id:myrelease1","chart":"mychart1","version":""}]
|
|
||||||
`
|
|
||||||
assert.Equal(t, expected, out)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestSetValuesTemplate(t *testing.T) {
|
func TestSetValuesTemplate(t *testing.T) {
|
||||||
files := map[string]string{
|
files := map[string]string{
|
||||||
"/path/to/helmfile.yaml": `
|
"/path/to/helmfile.yaml": `
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue