Skip to content

Commit

Permalink
Move ipam tests to their own file:
Browse files Browse the repository at this point in the history
Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
  • Loading branch information
jacobweinstock committed Nov 27, 2024
1 parent fdb83a4 commit 9614a33
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 37 deletions.
46 changes: 46 additions & 0 deletions internal/iso/ipam_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package iso

import (
"net"
"net/netip"
"testing"

"github.com/google/go-cmp/cmp"
"github.com/tinkerbell/smee/internal/dhcp/data"
)

func TestParseIPAM(t *testing.T) {
tests := map[string]struct {
input *data.DHCP
want string
}{
"empty": {},
"only MAC": {
input: &data.DHCP{MACAddress: net.HardwareAddr{0xde, 0xed, 0xbe, 0xef, 0xfe, 0xed}},
want: "ipam=de-ed-be-ef-fe-ed::::::::",
},
"everything": {
input: &data.DHCP{
MACAddress: net.HardwareAddr{0xde, 0xed, 0xbe, 0xef, 0xfe, 0xed},
IPAddress: netip.AddrFrom4([4]byte{127, 0, 0, 1}),
SubnetMask: net.IPv4Mask(255, 255, 255, 0),
DefaultGateway: netip.AddrFrom4([4]byte{127, 0, 0, 2}),
NameServers: []net.IP{{1, 1, 1, 1}, {4, 4, 4, 4}},
Hostname: "myhost",
NTPServers: []net.IP{{129, 6, 15, 28}, {129, 6, 15, 29}},
DomainSearch: []string{"example.com", "example.org"},
VLANID: "400",
},
want: "ipam=de-ed-be-ef-fe-ed:400:127.0.0.1:255.255.255.0:127.0.0.2:myhost:1.1.1.1,4.4.4.4:example.com,example.org:129.6.15.28,129.6.15.29",
},
}

for name, tt := range tests {
t.Run(name, func(t *testing.T) {
got := parseIPAM(tt.input)
if diff := cmp.Diff(tt.want, got); diff != "" {
t.Fatalf("diff: %v", diff)
}
})
}
}
37 changes: 0 additions & 37 deletions internal/iso/iso_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"net"
"net/http"
"net/http/httptest"
"net/netip"
"net/url"
"os"
"testing"
Expand Down Expand Up @@ -193,39 +192,3 @@ func (m *mockBackend) GetByIP(context.Context, net.IP) (*data.DHCP, *data.Netboo
}
return d, n, nil
}

func TestParseIPAM(t *testing.T) {
tests := map[string]struct {
input *data.DHCP
want string
}{
"empty": {},
"only MAC": {
input: &data.DHCP{MACAddress: net.HardwareAddr{0xde, 0xed, 0xbe, 0xef, 0xfe, 0xed}},
want: "ipam=de-ed-be-ef-fe-ed::::::::",
},
"everything": {
input: &data.DHCP{
MACAddress: net.HardwareAddr{0xde, 0xed, 0xbe, 0xef, 0xfe, 0xed},
IPAddress: netip.AddrFrom4([4]byte{127, 0, 0, 1}),
SubnetMask: net.IPv4Mask(255, 255, 255, 0),
DefaultGateway: netip.AddrFrom4([4]byte{127, 0, 0, 2}),
NameServers: []net.IP{{1, 1, 1, 1}, {4, 4, 4, 4}},
Hostname: "myhost",
NTPServers: []net.IP{{129, 6, 15, 28}, {129, 6, 15, 29}},
DomainSearch: []string{"example.com", "example.org"},
VLANID: "400",
},
want: "ipam=de-ed-be-ef-fe-ed:400:127.0.0.1:255.255.255.0:127.0.0.2:myhost:1.1.1.1,4.4.4.4:example.com,example.org:129.6.15.28,129.6.15.29",
},
}

for name, tt := range tests {
t.Run(name, func(t *testing.T) {
got := parseIPAM(tt.input)
if diff := cmp.Diff(tt.want, got); diff != "" {
t.Fatalf("diff: %v", diff)
}
})
}
}

0 comments on commit 9614a33

Please sign in to comment.