| 1 | // SPDX-License-Identifier: GPL-3.0-or-later |
| 2 | |
| 3 | package l2topology |
| 4 | |
| 5 | import ( |
| 6 | "net/netip" |
| 7 | "testing" |
| 8 | |
| 9 | "github.com/stretchr/testify/require" |
| 10 | ) |
| 11 | |
| 12 | func TestAddressStrings_DeduplicatesMappedAndUnmappedIPs(t *testing.T) { |
| 13 | addresses := []netip.Addr{ |
| 14 | netip.MustParseAddr("::ffff:10.0.0.1"), |
| 15 | netip.MustParseAddr("10.0.0.1"), |
| 16 | netip.MustParseAddr("2001:db8::1"), |
| 17 | } |
| 18 | |
| 19 | require.Equal(t, []string{"10.0.0.1", "2001:db8::1"}, addressStrings(addresses)) |
| 20 | } |
| 21 | |
| 22 | func TestSortedEndpointIPs_DeduplicatesMappedAndUnmappedIPs(t *testing.T) { |
| 23 | values := map[string]netip.Addr{ |
| 24 | "mapped": netip.MustParseAddr("::ffff:10.0.0.1"), |
| 25 | "unmapped": netip.MustParseAddr("10.0.0.1"), |
| 26 | "ipv6": netip.MustParseAddr("2001:db8::1"), |
| 27 | } |
| 28 | |
| 29 | require.Equal(t, []string{"10.0.0.1", "2001:db8::1"}, sortedEndpointIPs(values)) |
| 30 | } |