kubekey/pkg/executor/pipeline_executor_test.go
II 865913fea9
feat: add more golangci lint rule. (#2366)
Signed-off-by: joyceliu <joyceliu@yunify.com>
Co-authored-by: joyceliu <joyceliu@yunify.com>
2024-08-21 16:33:36 +08:00

39 lines
815 B
Go

package executor
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestPipelineExecutor_DealRunOnce(t *testing.T) {
testcases := []struct {
name string
runOnce bool
hosts []string
batchHosts [][]string
except [][]string
}{
{
name: "runonce is false",
runOnce: false,
batchHosts: [][]string{{"node1", "node2"}},
except: [][]string{{"node1", "node2"}},
},
{
name: "runonce is true",
runOnce: true,
hosts: []string{"node1"},
batchHosts: [][]string{{"node1", "node2"}},
except: [][]string{{"node1"}},
},
}
for _, tc := range testcases {
t.Run(tc.name, func(t *testing.T) {
pipelineExecutor{}.dealRunOnce(tc.runOnce, tc.hosts, &tc.batchHosts)
assert.Equal(t, tc.batchHosts, tc.except)
})
}
}