mirror of https://github.com/helm/helm.git
Print test status
Signed-off-by: Jacob LeGrone <git@jacob.work>
This commit is contained in:
parent
6f18519957
commit
0645b92c1b
|
@ -24,6 +24,7 @@ import (
|
|||
|
||||
"helm.sh/helm/v3/cmd/helm/require"
|
||||
"helm.sh/helm/v3/pkg/action"
|
||||
"helm.sh/helm/v3/pkg/cli/output"
|
||||
)
|
||||
|
||||
const releaseTestHelp = `
|
||||
|
@ -35,6 +36,7 @@ The tests to be run are defined in the chart that was installed.
|
|||
|
||||
func newReleaseTestCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
|
||||
client := action.NewReleaseTesting(cfg)
|
||||
var outfmt output.Format
|
||||
|
||||
cmd := &cobra.Command{
|
||||
Use: "test [RELEASE]",
|
||||
|
@ -42,7 +44,12 @@ func newReleaseTestCmd(cfg *action.Configuration, out io.Writer) *cobra.Command
|
|||
Long: releaseTestHelp,
|
||||
Args: require.ExactArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
return client.Run(args[0])
|
||||
rel, err := client.Run(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return outfmt.Write(out, &statusPrinter{rel, settings.Debug})
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -97,13 +97,15 @@ func (s statusPrinter) WriteTable(out io.Writer) error {
|
|||
fmt.Fprintf(out, "REVISION: %d\n", s.release.Version)
|
||||
|
||||
executions := executionsByHookEvent(s.release)
|
||||
if tests, ok := executions[release.HookTest]; ok {
|
||||
if tests, ok := executions[release.HookTest]; !ok || len(tests) == 0 {
|
||||
fmt.Fprintln(out, "TEST SUITE: None")
|
||||
} else {
|
||||
for _, h := range tests {
|
||||
// Don't print anything if hook has not been initiated
|
||||
if h.LastRun.StartedAt.IsZero() {
|
||||
continue
|
||||
}
|
||||
fmt.Fprintf(out, "TEST SUITE: %s\n%s\n%s\n%s\n\n",
|
||||
fmt.Fprintf(out, "TEST SUITE: %s\n%s\n%s\n%s\n",
|
||||
h.Name,
|
||||
fmt.Sprintf("Last Started: %s", h.LastRun.StartedAt.Format(time.ANSIC)),
|
||||
fmt.Sprintf("Last Completed: %s", h.LastRun.CompletedAt.Format(time.ANSIC)),
|
||||
|
|
|
@ -3,6 +3,7 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
USER-SUPPLIED VALUES:
|
||||
name: value
|
||||
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,5 +3,6 @@ LAST DEPLOYED: Sat Jan 16 00:00:00 2016
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 0
|
||||
TEST SUITE: None
|
||||
NOTES:
|
||||
release notes
|
||||
|
|
|
@ -7,9 +7,7 @@ TEST SUITE: passing-test
|
|||
Last Started: Mon Jan 2 15:04:05 2006
|
||||
Last Completed: Mon Jan 2 15:04:07 2006
|
||||
Phase: Succeeded
|
||||
|
||||
TEST SUITE: failing-test
|
||||
Last Started: Mon Jan 2 15:10:05 2006
|
||||
Last Completed: Mon Jan 2 15:10:07 2006
|
||||
Phase: Failed
|
||||
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Sat Jan 16 00:00:00 2016
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 0
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -3,3 +3,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 1
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -4,3 +4,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 2
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -4,3 +4,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 2
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -4,3 +4,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 5
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -4,3 +4,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 6
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -4,3 +4,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 4
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -4,3 +4,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 3
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -4,3 +4,4 @@ LAST DEPLOYED: Fri Sep 2 22:04:05 1977
|
|||
NAMESPACE: default
|
||||
STATUS: deployed
|
||||
REVISION: 3
|
||||
TEST SUITE: None
|
||||
|
|
|
@ -40,25 +40,25 @@ func NewReleaseTesting(cfg *Configuration) *ReleaseTesting {
|
|||
}
|
||||
|
||||
// Run executes 'helm test' against the given release.
|
||||
func (r *ReleaseTesting) Run(name string) error {
|
||||
func (r *ReleaseTesting) Run(name string) (*release.Release, error) {
|
||||
if err := r.cfg.KubeClient.IsReachable(); err != nil {
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := validateReleaseName(name); err != nil {
|
||||
return errors.Errorf("releaseTest: Release name is invalid: %s", name)
|
||||
return nil, errors.Errorf("releaseTest: Release name is invalid: %s", name)
|
||||
}
|
||||
|
||||
// finds the non-deleted release with the given name
|
||||
rel, err := r.cfg.Releases.Last(name)
|
||||
if err != nil {
|
||||
return err
|
||||
return rel, err
|
||||
}
|
||||
|
||||
if err := r.cfg.execHook(rel, release.HookTest, r.Timeout); err != nil {
|
||||
r.cfg.Releases.Update(rel)
|
||||
return err
|
||||
return rel, err
|
||||
}
|
||||
|
||||
return r.cfg.Releases.Update(rel)
|
||||
return rel, r.cfg.Releases.Update(rel)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue