constellation/bootstrapper/internal/addresses/addresses_test.go
Thomas Tendyck 3b9f7530fb license: change headers
find -name '*.go' -exec sed -i 's/SPDX-License-Identifier: AGPL-3.0-only/SPDX-License-Identifier: BUSL-1.1/' {} +
2025-07-15 23:34:48 +02:00

67 lines
1.2 KiB
Go

/*
Copyright (c) Edgeless Systems GmbH
SPDX-License-Identifier: BUSL-1.1
*/
package addresses_test
import (
"errors"
"net"
"testing"
"github.com/edgelesssys/constellation/v2/bootstrapper/internal/addresses"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestGetMachineNetworkAddresses(t *testing.T) {
_, someAddr, err := net.ParseCIDR("10.9.0.1/24")
require.NoError(t, err)
testCases := map[string]struct {
interfaces []addresses.NetInterface
wantErr bool
}{
"successful": {
interfaces: []addresses.NetInterface{
&mockNetInterface{
addrs: []net.Addr{
someAddr,
},
},
},
},
"unsuccessful": {
interfaces: []addresses.NetInterface{
&mockNetInterface{addrs: nil, err: errors.New("someError")},
},
wantErr: true,
},
}
for name, tc := range testCases {
t.Run(name, func(t *testing.T) {
assert := assert.New(t)
addrs, err := addresses.GetMachineNetworkAddresses(tc.interfaces)
if tc.wantErr {
assert.Error(err)
} else {
assert.Equal([]string{"10.9.0.0"}, addrs)
assert.NoError(err)
}
})
}
}
type mockNetInterface struct {
addrs []net.Addr
err error
}
func (m *mockNetInterface) Addrs() ([]net.Addr, error) {
return m.addrs, m.err
}