From 4807b64dea38ecad9d9eebc2459d8e243e88eebd Mon Sep 17 00:00:00 2001 From: Jakub Rusz Date: Mon, 30 Mar 2020 20:59:35 +0200 Subject: [PATCH] tests: add coverage for compose_result.go --- internal/common/compose_result_test.go | 80 ++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 internal/common/compose_result_test.go diff --git a/internal/common/compose_result_test.go b/internal/common/compose_result_test.go new file mode 100644 index 000000000..501ee171c --- /dev/null +++ b/internal/common/compose_result_test.go @@ -0,0 +1,80 @@ +package common + +import ( + "bytes" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestWriteFull(t *testing.T) { + + const testOptions = `{"msg": "test"}` + + testStage := stage{ + Name: "testStage", + Options: []byte(testOptions), + Success: true, + Output: "Finished", + } + + testBuild := build{ + Stages: []stage{testStage}, + TreeID: "treeID", + Success: true, + } + + testAssembler := assembler{ + Name: "testAssembler", + Options: []byte(testOptions), + Success: true, + Output: "Done", + } + + testComposeResult := ComposeResult{ + TreeID: "TreeID", + OutputID: "OutputID", + Build: &testBuild, + Stages: []stage{testStage}, + Assembler: &testAssembler, + Success: true, + } + + var b bytes.Buffer + assert.NoError(t, testComposeResult.Write(&b)) + expectedMessage := + `Build pipeline: +Stage testStage +{ + "msg": "test" +} + +Output: +Finished +Stages: +Stage: testStage +{ + "msg": "test" +} + +Output: +Finished +Assembler testAssembler: +{ + "msg": "test" +} + +Output: +Done +` + assert.Equal(t, expectedMessage, b.String()) +} + +func TestWriteEmpty(t *testing.T) { + + testComposeResult := ComposeResult{} + + var b bytes.Buffer + assert.NoError(t, testComposeResult.Write(&b)) + assert.Equal(t, "The compose result is empty.\n", b.String()) + +}