mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-07-20 05:51:46 -04:00

find -name '*.go' -exec sed -i 's/SPDX-License-Identifier: AGPL-3.0-only/SPDX-License-Identifier: BUSL-1.1/' {} +
67 lines
1.2 KiB
Go
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
|
|
}
|