Skip to content

Commit 8327b12

Browse files
committed
add tests
1 parent c70ca50 commit 8327b12

File tree

12 files changed

+518
-0
lines changed

12 files changed

+518
-0
lines changed

internal/cmd/base/delete_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,16 @@ func TestDelete(t *testing.T) {
4141
Args: []string{"delete", "123"},
4242
ExpOut: "Fetching fake resource\nDeleting fake resource\nFake resource 123 deleted\n",
4343
},
44+
"no flags multiple": {
45+
Args: []string{"delete", "123", "456", "789"},
46+
ExpOut: "Fetching fake resource\nDeleting fake resource\nFake resource 123 deleted\nFetching fake resource\n" +
47+
"Deleting fake resource\nFake resource 456 deleted\nFetching fake resource\nDeleting fake resource\nFake resource 789 deleted\n",
48+
},
4449
"quiet": {
4550
Args: []string{"delete", "123", "--quiet"},
4651
},
52+
"quiet multiple": {
53+
Args: []string{"delete", "123", "456", "789", "--quiet"},
54+
},
4755
})
4856
}

internal/cmd/certificate/delete_test.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package certificate_test
22

33
import (
4+
"fmt"
5+
"strings"
46
"testing"
57

68
"github.com/golang/mock/gomock"
@@ -38,3 +40,47 @@ func TestDelete(t *testing.T) {
3840
assert.Empty(t, errOut)
3941
assert.Equal(t, expOut, out)
4042
}
43+
44+
func TestDeleteMultiple(t *testing.T) {
45+
fx := testutil.NewFixture(t)
46+
defer fx.Finish()
47+
48+
cmd := certificate.DeleteCmd.CobraCommand(fx.State())
49+
fx.ExpectEnsureToken()
50+
51+
certs := []*hcloud.Certificate{
52+
{
53+
ID: 123,
54+
Name: "test1",
55+
},
56+
{
57+
ID: 456,
58+
Name: "test2",
59+
},
60+
{
61+
ID: 789,
62+
Name: "test3",
63+
},
64+
}
65+
66+
expOutBuilder := strings.Builder{}
67+
68+
var names []string
69+
for _, cert := range certs {
70+
names = append(names, cert.Name)
71+
expOutBuilder.WriteString(fmt.Sprintf("certificate %s deleted\n", cert.Name))
72+
fx.Client.CertificateClient.EXPECT().
73+
Get(gomock.Any(), cert.Name).
74+
Return(cert, nil, nil)
75+
fx.Client.CertificateClient.EXPECT().
76+
Delete(gomock.Any(), cert).
77+
Return(nil, nil)
78+
}
79+
80+
out, errOut, err := fx.Run(cmd, names)
81+
expOut := expOutBuilder.String()
82+
83+
assert.NoError(t, err)
84+
assert.Empty(t, errOut)
85+
assert.Equal(t, expOut, out)
86+
}

internal/cmd/firewall/delete_test.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package firewall_test
22

33
import (
4+
"fmt"
5+
"strings"
46
"testing"
57

68
"github.com/golang/mock/gomock"
@@ -38,3 +40,47 @@ func TestDelete(t *testing.T) {
3840
assert.Empty(t, errOut)
3941
assert.Equal(t, expOut, out)
4042
}
43+
44+
func TestDeleteMultiple(t *testing.T) {
45+
fx := testutil.NewFixture(t)
46+
defer fx.Finish()
47+
48+
cmd := firewall.DeleteCmd.CobraCommand(fx.State())
49+
fx.ExpectEnsureToken()
50+
51+
firewalls := []*hcloud.Firewall{
52+
{
53+
ID: 123,
54+
Name: "test1",
55+
},
56+
{
57+
ID: 456,
58+
Name: "test2",
59+
},
60+
{
61+
ID: 789,
62+
Name: "test3",
63+
},
64+
}
65+
66+
expOutBuilder := strings.Builder{}
67+
68+
var names []string
69+
for _, fw := range firewalls {
70+
names = append(names, fw.Name)
71+
expOutBuilder.WriteString(fmt.Sprintf("firewall %s deleted\n", fw.Name))
72+
fx.Client.FirewallClient.EXPECT().
73+
Get(gomock.Any(), fw.Name).
74+
Return(fw, nil, nil)
75+
fx.Client.FirewallClient.EXPECT().
76+
Delete(gomock.Any(), fw).
77+
Return(nil, nil)
78+
}
79+
80+
out, errOut, err := fx.Run(cmd, names)
81+
expOut := expOutBuilder.String()
82+
83+
assert.NoError(t, err)
84+
assert.Empty(t, errOut)
85+
assert.Equal(t, expOut, out)
86+
}

internal/cmd/floatingip/delete_test.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package floatingip_test
22

33
import (
4+
"fmt"
5+
"strings"
46
"testing"
57

68
"github.com/golang/mock/gomock"
@@ -38,3 +40,47 @@ func TestDelete(t *testing.T) {
3840
assert.Empty(t, errOut)
3941
assert.Equal(t, expOut, out)
4042
}
43+
44+
func TestDeleteMultiple(t *testing.T) {
45+
fx := testutil.NewFixture(t)
46+
defer fx.Finish()
47+
48+
cmd := floatingip.DeleteCmd.CobraCommand(fx.State())
49+
fx.ExpectEnsureToken()
50+
51+
ips := []*hcloud.FloatingIP{
52+
{
53+
ID: 123,
54+
Name: "test1",
55+
},
56+
{
57+
ID: 456,
58+
Name: "test2",
59+
},
60+
{
61+
ID: 789,
62+
Name: "test3",
63+
},
64+
}
65+
66+
expOutBuilder := strings.Builder{}
67+
68+
var names []string
69+
for _, ip := range ips {
70+
names = append(names, ip.Name)
71+
expOutBuilder.WriteString(fmt.Sprintf("Floating IP %s deleted\n", ip.Name))
72+
fx.Client.FloatingIPClient.EXPECT().
73+
Get(gomock.Any(), ip.Name).
74+
Return(ip, nil, nil)
75+
fx.Client.FloatingIPClient.EXPECT().
76+
Delete(gomock.Any(), ip).
77+
Return(nil, nil)
78+
}
79+
80+
out, errOut, err := fx.Run(cmd, names)
81+
expOut := expOutBuilder.String()
82+
83+
assert.NoError(t, err)
84+
assert.Empty(t, errOut)
85+
assert.Equal(t, expOut, out)
86+
}

internal/cmd/image/delete_test.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package image_test
22

33
import (
4+
"fmt"
5+
"strings"
46
"testing"
57

68
"github.com/golang/mock/gomock"
@@ -38,3 +40,47 @@ func TestDelete(t *testing.T) {
3840
assert.Empty(t, errOut)
3941
assert.Equal(t, expOut, out)
4042
}
43+
44+
func TestDeleteMultiple(t *testing.T) {
45+
fx := testutil.NewFixture(t)
46+
defer fx.Finish()
47+
48+
cmd := image.DeleteCmd.CobraCommand(fx.State())
49+
fx.ExpectEnsureToken()
50+
51+
images := []*hcloud.Image{
52+
{
53+
ID: 123,
54+
Name: "test1",
55+
},
56+
{
57+
ID: 456,
58+
Name: "test2",
59+
},
60+
{
61+
ID: 789,
62+
Name: "test3",
63+
},
64+
}
65+
66+
expOutBuilder := strings.Builder{}
67+
68+
var names []string
69+
for _, img := range images {
70+
names = append(names, img.Name)
71+
expOutBuilder.WriteString(fmt.Sprintf("image %s deleted\n", img.Name))
72+
fx.Client.ImageClient.EXPECT().
73+
Get(gomock.Any(), img.Name).
74+
Return(img, nil, nil)
75+
fx.Client.ImageClient.EXPECT().
76+
Delete(gomock.Any(), img).
77+
Return(nil, nil)
78+
}
79+
80+
out, errOut, err := fx.Run(cmd, names)
81+
expOut := expOutBuilder.String()
82+
83+
assert.NoError(t, err)
84+
assert.Empty(t, errOut)
85+
assert.Equal(t, expOut, out)
86+
}

internal/cmd/loadbalancer/delete_test.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package loadbalancer_test
22

33
import (
4+
"fmt"
5+
"strings"
46
"testing"
57

68
"github.com/golang/mock/gomock"
@@ -38,3 +40,47 @@ func TestDelete(t *testing.T) {
3840
assert.Empty(t, errOut)
3941
assert.Equal(t, expOut, out)
4042
}
43+
44+
func TestDeleteMultiple(t *testing.T) {
45+
fx := testutil.NewFixture(t)
46+
defer fx.Finish()
47+
48+
cmd := loadbalancer.DeleteCmd.CobraCommand(fx.State())
49+
fx.ExpectEnsureToken()
50+
51+
loadBalancers := []*hcloud.LoadBalancer{
52+
{
53+
ID: 123,
54+
Name: "test1",
55+
},
56+
{
57+
ID: 456,
58+
Name: "test2",
59+
},
60+
{
61+
ID: 789,
62+
Name: "test3",
63+
},
64+
}
65+
66+
expOutBuilder := strings.Builder{}
67+
68+
var names []string
69+
for _, lb := range loadBalancers {
70+
names = append(names, lb.Name)
71+
expOutBuilder.WriteString(fmt.Sprintf("Load Balancer %s deleted\n", lb.Name))
72+
fx.Client.LoadBalancerClient.EXPECT().
73+
Get(gomock.Any(), lb.Name).
74+
Return(lb, nil, nil)
75+
fx.Client.LoadBalancerClient.EXPECT().
76+
Delete(gomock.Any(), lb).
77+
Return(nil, nil)
78+
}
79+
80+
out, errOut, err := fx.Run(cmd, names)
81+
expOut := expOutBuilder.String()
82+
83+
assert.NoError(t, err)
84+
assert.Empty(t, errOut)
85+
assert.Equal(t, expOut, out)
86+
}

internal/cmd/network/delete_test.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package network_test
22

33
import (
4+
"fmt"
5+
"strings"
46
"testing"
57

68
"github.com/golang/mock/gomock"
@@ -38,3 +40,47 @@ func TestDelete(t *testing.T) {
3840
assert.Empty(t, errOut)
3941
assert.Equal(t, expOut, out)
4042
}
43+
44+
func TestDeleteMultiple(t *testing.T) {
45+
fx := testutil.NewFixture(t)
46+
defer fx.Finish()
47+
48+
cmd := network.DeleteCmd.CobraCommand(fx.State())
49+
fx.ExpectEnsureToken()
50+
51+
networks := []*hcloud.Network{
52+
{
53+
ID: 123,
54+
Name: "test1",
55+
},
56+
{
57+
ID: 456,
58+
Name: "test2",
59+
},
60+
{
61+
ID: 789,
62+
Name: "test3",
63+
},
64+
}
65+
66+
expOutBuilder := strings.Builder{}
67+
68+
var names []string
69+
for _, net := range networks {
70+
names = append(names, net.Name)
71+
expOutBuilder.WriteString(fmt.Sprintf("Network %s deleted\n", net.Name))
72+
fx.Client.NetworkClient.EXPECT().
73+
Get(gomock.Any(), net.Name).
74+
Return(net, nil, nil)
75+
fx.Client.NetworkClient.EXPECT().
76+
Delete(gomock.Any(), net).
77+
Return(nil, nil)
78+
}
79+
80+
out, errOut, err := fx.Run(cmd, names)
81+
expOut := expOutBuilder.String()
82+
83+
assert.NoError(t, err)
84+
assert.Empty(t, errOut)
85+
assert.Equal(t, expOut, out)
86+
}

0 commit comments

Comments
 (0)