ref(*): remove error if no tests found on test cmd

* resolves #1973
pull/2011/head
Michelle Noorali 8 years ago
parent 28fbd42c66
commit e52746cbef

@ -17,8 +17,6 @@ limitations under the License.
package hooks
import (
"errors"
"k8s.io/helm/pkg/proto/hapi/release"
)
@ -40,13 +38,8 @@ const (
)
// FilterTestHooks filters the list of hooks are returns only testing hooks.
func FilterTestHooks(hooks []*release.Hook) ([]*release.Hook, error) {
func FilterTestHooks(hooks []*release.Hook) []*release.Hook {
testHooks := []*release.Hook{}
notFoundErr := errors.New("no tests found")
if len(hooks) == 0 {
return nil, notFoundErr
}
for _, h := range hooks {
for _, e := range h.Events {
@ -57,9 +50,5 @@ func FilterTestHooks(hooks []*release.Hook) ([]*release.Hook, error) {
}
}
if len(testHooks) == 0 {
return nil, notFoundErr
}
return testHooks, nil
return testHooks
}

@ -63,7 +63,7 @@ func TestDeleteTestPods(t *testing.T) {
mockTestEnv.DeleteTestPods(mockTestSuite.TestManifests)
stream := mockTestEnv.Stream.(mockStream)
stream := mockTestEnv.Stream.(*mockStream)
if len(stream.messages) != 0 {
t.Errorf("Expected 0 errors, got at least one: %v", stream.messages)
}
@ -82,9 +82,9 @@ func TestDeleteTestPodsFailingDelete(t *testing.T) {
mockTestEnv.DeleteTestPods(mockTestSuite.TestManifests)
stream := mockTestEnv.Stream.(mockStream)
if len(stream.messages) == 1 {
t.Errorf("Expected 1 error, got none: %v", stream.messages)
stream := mockTestEnv.Stream.(*mockStream)
if len(stream.messages) != 1 {
t.Errorf("Expected 1 error, got: %v", len(stream.messages))
}
}
@ -100,7 +100,7 @@ func newMockTestingEnvironment() *MockTestingEnvironment {
Namespace: "default",
KubeClient: tEnv.KubeClient,
Timeout: 5,
Stream: mockStream{},
Stream: &mockStream{},
},
}
}

@ -64,6 +64,10 @@ func NewTestSuite(rel *release.Release) (*TestSuite, error) {
func (ts *TestSuite) Run(env *Environment) error {
ts.StartedAt = timeconv.Now()
if len(ts.TestManifests) == 0 {
env.streamMessage("No Tests Found")
}
for _, testManifest := range ts.TestManifests {
test, err := newTest(testManifest)
if err != nil {
@ -147,10 +151,7 @@ func expectedSuccess(hookTypes []string) (bool, error) {
}
func extractTestManifestsFromHooks(h []*release.Hook) ([]string, error) {
testHooks, err := hooks.FilterTestHooks(h)
if err != nil {
return nil, err
}
testHooks := hooks.FilterTestHooks(h)
tests := []string{}
for _, h := range testHooks {

@ -139,6 +139,37 @@ func TestRun(t *testing.T) {
}
func TestRunEmptyTestSuite(t *testing.T) {
ts := testSuiteFixture([]string{})
mockTestEnv := testEnvFixture()
if err := ts.Run(mockTestEnv); err != nil {
t.Errorf("%s", err)
}
if ts.StartedAt == nil {
t.Errorf("Expected StartedAt to not be nil. Got: %v", ts.StartedAt)
}
if ts.CompletedAt == nil {
t.Errorf("Expected CompletedAt to not be nil. Got: %v", ts.CompletedAt)
}
if len(ts.Results) != 0 {
t.Errorf("Expected 0 test result. Got %v", len(ts.Results))
}
stream := mockTestEnv.Stream.(*mockStream)
if len(stream.messages) == 0 {
t.Errorf("Expected at least one message, Got: %v", len(stream.messages))
} else {
msg := stream.messages[0].Msg
if msg != "No Tests Found" {
t.Errorf("Expected message 'No Tests Found', Got: %v", msg)
}
}
}
func TestRunSuccessWithTestFailureHook(t *testing.T) {
ts := testSuiteFixture([]string{manifestWithTestFailureHook})
env := testEnvFixture()
@ -246,9 +277,6 @@ func testFixture() *test {
}
func testSuiteFixture(testManifests []string) *TestSuite {
if len(testManifests) == 0 {
testManifests = []string{manifestWithTestSuccessHook, manifestWithTestFailureHook}
}
testResults := []*release.TestRun{}
ts := &TestSuite{
TestManifests: testManifests,
@ -274,10 +302,11 @@ type mockStream struct {
messages []*services.TestReleaseResponse
}
func (rs mockStream) Send(m *services.TestReleaseResponse) error {
func (rs *mockStream) Send(m *services.TestReleaseResponse) error {
rs.messages = append(rs.messages, m)
return nil
}
func (rs mockStream) SetHeader(m metadata.MD) error { return nil }
func (rs mockStream) SendHeader(m metadata.MD) error { return nil }
func (rs mockStream) SetTrailer(m metadata.MD) {}

Loading…
Cancel
Save