airshipctl/cmd/workflow/workflow_list_test.go
2019-05-29 15:15:01 -05:00

60 lines
1.5 KiB
Go

package workflow_test
import (
"testing"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"github.com/ian-howell/airshipctl/cmd"
"github.com/ian-howell/airshipctl/cmd/workflow"
"github.com/ian-howell/airshipctl/pkg/apis/workflow/v1alpha1"
argofake "github.com/ian-howell/airshipctl/pkg/client/clientset/versioned/fake"
wfenv "github.com/ian-howell/airshipctl/pkg/workflow/environment"
"github.com/ian-howell/airshipctl/test"
)
func TestWorkflowList(t *testing.T) {
rootCmd, settings, err := cmd.NewRootCmd(nil)
if err != nil {
t.Fatalf("Could not create root command: %s", err.Error())
}
workflowRoot := workflow.NewWorkflowCommand(settings)
workflowRoot.AddCommand(workflow.NewWorkflowListCommand(settings))
rootCmd.AddCommand(workflowRoot)
cmdTests := []WorkflowCmdTest{
{
CmdTest: &test.CmdTest{
Name: "workflow-list-empty",
CmdLine: "workflow list",
Objs: []runtime.Object{},
},
},
{
CmdTest: &test.CmdTest{
Name: "workflow-list-nonempty",
CmdLine: "workflow list",
Objs: []runtime.Object{},
},
ArgoObjs: []runtime.Object{
&v1alpha1.Workflow{
ObjectMeta: metav1.ObjectMeta{
Name: "fake-wf",
},
Status: v1alpha1.WorkflowStatus{
Phase: "completed",
},
},
},
},
}
for _, tt := range cmdTests {
settings.PluginSettings[workflow.PluginSettingsID] = &wfenv.Settings{
ArgoClient: argofake.NewSimpleClientset(tt.ArgoObjs...),
}
test.RunTest(t, tt.CmdTest, rootCmd)
}
}