You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by sp...@apache.org on 2021/05/31 02:07:11 UTC

[apisix-go-plugin-runner] 04/22: test: for main's version cmd

This is an automated email from the ASF dual-hosted git repository.

spacewander pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-go-plugin-runner.git

commit b2496e11c5f181a809583f50758f47c6584585b7
Author: spacewander <sp...@gmail.com>
AuthorDate: Wed May 19 11:45:47 2021 +0800

    test: for main's version cmd
---
 cmd/go-runner/main.go      |  9 +++++++--
 cmd/go-runner/main_test.go | 21 +++++++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/cmd/go-runner/main.go b/cmd/go-runner/main.go
index 38b83be..74851db 100644
--- a/cmd/go-runner/main.go
+++ b/cmd/go-runner/main.go
@@ -16,6 +16,7 @@ package main
 
 import (
 	"fmt"
+	"io"
 	"os"
 
 	"github.com/spf13/cobra"
@@ -23,6 +24,10 @@ import (
 	"github.com/apache/apisix-go-plugin-runner/internal/server"
 )
 
+var (
+	InfoOut io.Writer = os.Stdout
+)
+
 func newVersionCommand() *cobra.Command {
 	var long bool
 	cmd := &cobra.Command{
@@ -30,9 +35,9 @@ func newVersionCommand() *cobra.Command {
 		Short: "version",
 		Run: func(cmd *cobra.Command, _ []string) {
 			if long {
-				fmt.Print(longVersion())
+				fmt.Fprint(InfoOut, longVersion())
 			} else {
-				fmt.Printf("version %s\n", shortVersion())
+				fmt.Fprintf(InfoOut, "version %s\n", shortVersion())
 			}
 		},
 	}
diff --git a/cmd/go-runner/main_test.go b/cmd/go-runner/main_test.go
new file mode 100644
index 0000000..49d7446
--- /dev/null
+++ b/cmd/go-runner/main_test.go
@@ -0,0 +1,21 @@
+package main
+
+import (
+	"bytes"
+	"os"
+	"strings"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func TestVersion(t *testing.T) {
+	args := []string{"version", "--long"}
+	os.Args = append([]string{"cmd"}, args...)
+
+	var b bytes.Buffer
+	InfoOut = &b
+	main()
+
+	assert.True(t, strings.Contains(b.String(), "Building OS/Arch"))
+}