Skip to content

Commit d26e7f4

Browse files
committed
fix(unikernels): simplify CommandString and use table-driven tests
Signed-off-by: mdryaan <alikhurshid842001@gmail.com>
1 parent e1d51b4 commit d26e7f4

2 files changed

Lines changed: 32 additions & 20 deletions

File tree

pkg/unikontainers/unikernels/mewz.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,10 @@ type MewzNet struct {
3636
}
3737

3838
func (m *Mewz) CommandString() (string, error) {
39-
var parts []string
4039
if m.Net.Address != "" {
41-
parts = append(parts, fmt.Sprintf("ip=%s/%d", m.Net.Address, m.Net.Mask))
42-
parts = append(parts, fmt.Sprintf("gateway=%s", m.Net.Gateway))
40+
return fmt.Sprintf("ip=%s/%d gateway=%s", m.Net.Address, m.Net.Mask, m.Net.Gateway), nil
4341
}
44-
return strings.Join(parts, " "), nil
42+
return "", nil
4543
}
4644

4745
func (m *Mewz) SupportsBlock() bool {

pkg/unikontainers/unikernels/mewz_test.go

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,38 @@ import (
2121
"github.com/stretchr/testify/require"
2222
)
2323

24-
func TestMewzCommandStringNoNetwork(t *testing.T) {
24+
func TestMewzCommandString(t *testing.T) {
2525
t.Parallel()
26-
m := &Mewz{}
27-
result, err := m.CommandString()
28-
require.NoError(t, err)
29-
assert.Equal(t, "", result, "CommandString should return empty string when no network is configured")
30-
}
3126

32-
func TestMewzCommandStringWithNetwork(t *testing.T) {
33-
t.Parallel()
34-
m := &Mewz{
35-
Net: MewzNet{
36-
Address: "10.0.0.2",
37-
Mask: 24,
38-
Gateway: "10.0.0.1",
27+
testCases := []struct {
28+
name string
29+
mewz *Mewz
30+
expected string
31+
}{
32+
{
33+
name: "no network configured",
34+
mewz: &Mewz{},
35+
expected: "",
36+
},
37+
{
38+
name: "with network configured",
39+
mewz: &Mewz{
40+
Net: MewzNet{
41+
Address: "10.0.0.2",
42+
Mask: 24,
43+
Gateway: "10.0.0.1",
44+
},
45+
},
46+
expected: "ip=10.0.0.2/24 gateway=10.0.0.1",
3947
},
4048
}
41-
result, err := m.CommandString()
42-
require.NoError(t, err)
43-
assert.Equal(t, "ip=10.0.0.2/24 gateway=10.0.0.1", result)
49+
50+
for _, tc := range testCases {
51+
t.Run(tc.name, func(t *testing.T) {
52+
t.Parallel()
53+
result, err := tc.mewz.CommandString()
54+
require.NoError(t, err)
55+
assert.Equal(t, tc.expected, result)
56+
})
57+
}
4458
}

0 commit comments

Comments
 (0)