|
|
|
@ -3,6 +3,7 @@ package api_test
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
"errors"
|
|
|
|
|
"helm.sh/helm/v3/pkg/action"
|
|
|
|
|
"helm.sh/helm/v3/pkg/api"
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
@ -55,7 +56,7 @@ func (s *ServiceTestSuite) TestInstallShouldReturnErrorOnInvalidChart() {
|
|
|
|
|
s.installer.AssertNotCalled(t, "Run")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *ServiceTestSuite) TestInstallShouldReturnErrorOnFailedIntallRun() {
|
|
|
|
|
func (s *ServiceTestSuite) TestInstallShouldReturnErrorOnFailedInstallRun() {
|
|
|
|
|
chartName := "stable/valid-chart"
|
|
|
|
|
cfg := api.InstallConfig{
|
|
|
|
|
Name: "some-component",
|
|
|
|
@ -100,6 +101,77 @@ func (s *ServiceTestSuite) TestInstallShouldReturnResultOnSuccess() {
|
|
|
|
|
s.installer.AssertExpectations(t)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *ServiceTestSuite) TestListShouldReturnErrorOnFailureOfListRun() {
|
|
|
|
|
s.lister.On("SetState", action.ListDeployed)
|
|
|
|
|
s.lister.On("SetStateMask")
|
|
|
|
|
|
|
|
|
|
var releases []*release.Release
|
|
|
|
|
|
|
|
|
|
s.lister.On("Run").Return(releases, errors.New("cluster issue"))
|
|
|
|
|
|
|
|
|
|
releaseStatus := "deployed"
|
|
|
|
|
res, err := s.svc.List(releaseStatus)
|
|
|
|
|
|
|
|
|
|
t := s.T()
|
|
|
|
|
assert.Error(t, err, "cluster issue")
|
|
|
|
|
assert.Nil(t, res)
|
|
|
|
|
|
|
|
|
|
s.lister.AssertExpectations(t)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *ServiceTestSuite) TestListShouldReturnAllReleasesIfNoFilterIsPassed() {
|
|
|
|
|
s.lister.On("SetState", action.ListAll)
|
|
|
|
|
s.lister.On("SetStateMask")
|
|
|
|
|
|
|
|
|
|
var releases []*release.Release
|
|
|
|
|
releases = append(releases,
|
|
|
|
|
&release.Release{Name: "test-release",
|
|
|
|
|
Namespace: "test-namespace",
|
|
|
|
|
Info: &release.Info{Status: release.StatusDeployed}})
|
|
|
|
|
|
|
|
|
|
s.lister.On("Run").Return(releases, nil)
|
|
|
|
|
|
|
|
|
|
releaseStatus := ""
|
|
|
|
|
res, err := s.svc.List(releaseStatus)
|
|
|
|
|
|
|
|
|
|
t := s.T()
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
require.NotNil(t, res)
|
|
|
|
|
|
|
|
|
|
var response []api.Release
|
|
|
|
|
response = append(response, api.Release{"test-release", "test-namespace"})
|
|
|
|
|
|
|
|
|
|
assert.Equal(t, len(res), 1)
|
|
|
|
|
assert.Equal(t, "test-release", response[0].Name)
|
|
|
|
|
assert.Equal(t, "test-namespace", response[0].Namespace)
|
|
|
|
|
|
|
|
|
|
s.lister.AssertExpectations(t)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *ServiceTestSuite) TestListShouldReturnDeployedReleasesIfDeployedIsPassedAsFilter() {
|
|
|
|
|
s.lister.On("SetState", action.ListDeployed)
|
|
|
|
|
s.lister.On("SetStateMask")
|
|
|
|
|
|
|
|
|
|
var releases []*release.Release
|
|
|
|
|
s.lister.On("Run").Return(releases, nil)
|
|
|
|
|
|
|
|
|
|
releaseStatus := "deployed"
|
|
|
|
|
_, err := s.svc.List(releaseStatus)
|
|
|
|
|
|
|
|
|
|
t := s.T()
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
s.lister.AssertExpectations(t)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s *ServiceTestSuite) TestListShouldReturnErrorIfInvalidStatusIsPassedAsFilter() {
|
|
|
|
|
releaseStatus := "invalid"
|
|
|
|
|
_, err := s.svc.List(releaseStatus)
|
|
|
|
|
|
|
|
|
|
t := s.T()
|
|
|
|
|
assert.Error(t, err, "invalid release status")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestServiceSuite(t *testing.T) {
|
|
|
|
|
suite.Run(t, new(ServiceTestSuite))
|
|
|
|
|
}
|