From 7ad261936939857b353a30a7852bb89b070622ac Mon Sep 17 00:00:00 2001 From: Mike Shoup Date: Fri, 26 Oct 2018 10:12:22 -0600 Subject: [PATCH] Add CLI tests --- cli_test.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 cli_test.go diff --git a/cli_test.go b/cli_test.go new file mode 100644 index 0000000..cf9dbf1 --- /dev/null +++ b/cli_test.go @@ -0,0 +1,39 @@ +package main + +import ( + "bufio" + "bytes" + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_ReadInput(t *testing.T) { + // Test basic input + buf := bytes.NewBufferString("foobar\n") + reader := bufio.NewReader(buf) + resp := ReadInput(reader, "") + assert.Equal(t, "foobar", resp) + + // Test default input + buf = bytes.NewBufferString("\n") + reader = bufio.NewReader(buf) + resp = ReadInput(reader, "default") + assert.Equal(t, "default", resp) + + // Test that a panic occurred + buf = bytes.NewBufferString("") + reader = bufio.NewReader(buf) + assert.Panics(t, func() { ReadInput(reader, "") }) +} + +func Test_ParsePort(t *testing.T) { + // Test that 600 is parsed succesfully + port, err := ParsePort(":600") + assert.Equal(t, uint16(600), port) + assert.Equal(t, nil, err) + + // Test failure + port, err = ParsePort("") + assert.NotEqual(t, nil, err) +}