From e10d8736d400192bef26a41bf86476496934255e Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Wed, 26 Sep 2018 15:28:18 +0800 Subject: [PATCH] test: add TestCommandScriptStop --- plugin_test.go | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/plugin_test.go b/plugin_test.go index 563c06b..57fd983 100644 --- a/plugin_test.go +++ b/plugin_test.go @@ -1,13 +1,13 @@ package main import ( + "bytes" "os" + "strings" "testing" - "bytes" "github.com/appleboy/easyssh-proxy" "github.com/stretchr/testify/assert" - "strings" ) func TestMissingHostOrUser(t *testing.T) { @@ -383,6 +383,40 @@ func TestCommandOutput(t *testing.T) { assert.Equal(t, unindent(expected), unindent(buffer.String())) } +func TestCommandScriptStop(t *testing.T) { + var ( + buffer bytes.Buffer + expected = ` + localhost: ======CMD====== + localhost: mkdir a/b/c + mkdir d/e/f + localhost: ======END====== + localhost: err: mkdir: d/e: No such file or directory + ` + ) + + plugin := Plugin{ + Config: Config{ + Host: []string{"localhost"}, + UserName: "drone-scp", + Port: 22, + KeyPath: "./tests/.ssh/id_rsa", + Script: []string{ + "mkdir a/b/c", + "mkdir d/e/f", + }, + CommandTimeout: 10, + ScriptStop: true, + }, + Writer: &buffer, + } + + err := plugin.Exec() + assert.Nil(t, err) + + assert.Equal(t, unindent(expected), unindent(buffer.String())) +} + func TestEnvOutput(t *testing.T) { var ( buffer bytes.Buffer