mirror of
https://github.com/thegeeklab/wp-opentofu.git
synced 2024-11-09 18:00:40 +00:00
Refactor all tests to utilize goblin
This commit is contained in:
parent
5401f4f43f
commit
3e6f75540f
201
plugin_test.go
201
plugin_test.go
@ -3,112 +3,11 @@ package main
|
||||
import (
|
||||
"os"
|
||||
"os/exec"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
. "github.com/franela/goblin"
|
||||
)
|
||||
|
||||
func Test_destroyCommand(t *testing.T) {
|
||||
type args struct {
|
||||
config Config
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want *exec.Cmd
|
||||
}{
|
||||
{
|
||||
"default",
|
||||
args{config: Config{}},
|
||||
exec.Command("terraform", "destroy", "-force"),
|
||||
},
|
||||
{
|
||||
"with targets",
|
||||
args{config: Config{Targets: []string{"target1", "target2"}}},
|
||||
exec.Command("terraform", "destroy", "-target=target1", "-target=target2", "-force"),
|
||||
},
|
||||
{
|
||||
"with parallelism",
|
||||
args{config: Config{Parallelism: 5}},
|
||||
exec.Command("terraform", "destroy", "-parallelism=5", "-force"),
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := tfDestroy(tt.args.config); !reflect.DeepEqual(got, tt.want) {
|
||||
t.Errorf("destroyCommand() = %v, want %v", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_applyCommand(t *testing.T) {
|
||||
type args struct {
|
||||
config Config
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want *exec.Cmd
|
||||
}{
|
||||
{
|
||||
"default",
|
||||
args{config: Config{}},
|
||||
exec.Command("terraform", "apply", "plan.tfout"),
|
||||
},
|
||||
{
|
||||
"with targets",
|
||||
args{config: Config{Targets: []string{"target1", "target2"}}},
|
||||
exec.Command("terraform", "apply", "--target", "target1", "--target", "target2", "plan.tfout"),
|
||||
},
|
||||
{
|
||||
"with parallelism",
|
||||
args{config: Config{Parallelism: 5}},
|
||||
exec.Command("terraform", "apply", "-parallelism=5", "plan.tfout"),
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := tfApply(tt.args.config); !reflect.DeepEqual(got, tt.want) {
|
||||
t.Errorf("applyCommand() = %v, want %v", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_planCommand(t *testing.T) {
|
||||
type args struct {
|
||||
config Config
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
destroy bool
|
||||
want *exec.Cmd
|
||||
}{
|
||||
{
|
||||
"default",
|
||||
args{config: Config{}},
|
||||
false,
|
||||
exec.Command("terraform", "plan", "-out=plan.tfout"),
|
||||
},
|
||||
{
|
||||
"destroy",
|
||||
args{config: Config{}},
|
||||
true,
|
||||
exec.Command("terraform", "plan", "-destroy"),
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := tfPlan(tt.args.config, tt.destroy); !reflect.DeepEqual(got, tt.want) {
|
||||
t.Errorf("planCommand() = %v, want %v", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestPlugin(t *testing.T) {
|
||||
g := Goblin(t)
|
||||
|
||||
@ -127,4 +26,104 @@ func TestPlugin(t *testing.T) {
|
||||
g.Assert(os.Getenv("TF_VAR_base64")).Equal("dGVzdA==")
|
||||
})
|
||||
})
|
||||
|
||||
g.Describe("tfApply", func() {
|
||||
g.It("Should return correct apply commands given the arguments", func() {
|
||||
type args struct {
|
||||
config Config
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want *exec.Cmd
|
||||
}{
|
||||
{
|
||||
"default",
|
||||
args{config: Config{}},
|
||||
exec.Command("terraform", "apply", "plan.tfout"),
|
||||
},
|
||||
{
|
||||
"with targets",
|
||||
args{config: Config{Targets: []string{"target1", "target2"}}},
|
||||
exec.Command("terraform", "apply", "--target", "target1", "--target", "target2", "plan.tfout"),
|
||||
},
|
||||
{
|
||||
"with parallelism",
|
||||
args{config: Config{Parallelism: 5}},
|
||||
exec.Command("terraform", "apply", "-parallelism=5", "plan.tfout"),
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
g.Assert(tfApply(tt.args.config)).Equal(tt.want)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
g.Describe("tfDestroy", func() {
|
||||
g.It("Should return correct destroy commands given the arguments", func() {
|
||||
type args struct {
|
||||
config Config
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want *exec.Cmd
|
||||
}{
|
||||
{
|
||||
"default",
|
||||
args{config: Config{}},
|
||||
exec.Command("terraform", "destroy", "-force"),
|
||||
},
|
||||
{
|
||||
"with targets",
|
||||
args{config: Config{Targets: []string{"target1", "target2"}}},
|
||||
exec.Command("terraform", "destroy", "-target=target1", "-target=target2", "-force"),
|
||||
},
|
||||
{
|
||||
"with parallelism",
|
||||
args{config: Config{Parallelism: 5}},
|
||||
exec.Command("terraform", "destroy", "-parallelism=5", "-force"),
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
g.Assert(tfDestroy(tt.args.config)).Equal(tt.want)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
g.Describe("tfPlan", func() {
|
||||
g.It("Should return correct plan commands given the arguments", func() {
|
||||
type args struct {
|
||||
config Config
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
destroy bool
|
||||
want *exec.Cmd
|
||||
}{
|
||||
{
|
||||
"default",
|
||||
args{config: Config{}},
|
||||
false,
|
||||
exec.Command("terraform", "plan", "-out=plan.tfout"),
|
||||
},
|
||||
{
|
||||
"destroy",
|
||||
args{config: Config{}},
|
||||
true,
|
||||
exec.Command("terraform", "plan", "-destroy"),
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
g.Assert(tfPlan(tt.args.config, tt.destroy)).Equal(tt.want)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user