initial commit
This commit is contained in:
82
internal/server/network/backend_networkmanager_state_test.go
Normal file
82
internal/server/network/backend_networkmanager_state_test.go
Normal file
@@ -0,0 +1,82 @@
|
||||
package network
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/AvengeMedia/danklinux/internal/errdefs"
|
||||
mock_gonetworkmanager "github.com/AvengeMedia/danklinux/internal/mocks/github.com/Wifx/gonetworkmanager/v2"
|
||||
"github.com/Wifx/gonetworkmanager/v2"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestNetworkManagerBackend_UpdatePrimaryConnection(t *testing.T) {
|
||||
mockNM := mock_gonetworkmanager.NewMockNetworkManager(t)
|
||||
|
||||
backend, err := NewNetworkManagerBackend(mockNM)
|
||||
assert.NoError(t, err)
|
||||
|
||||
mockNM.EXPECT().GetPropertyActiveConnections().Return([]gonetworkmanager.ActiveConnection{}, nil)
|
||||
mockNM.EXPECT().GetPropertyPrimaryConnection().Return(nil, nil)
|
||||
|
||||
err = backend.updatePrimaryConnection()
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestNetworkManagerBackend_UpdateEthernetState_NoDevice(t *testing.T) {
|
||||
mockNM := mock_gonetworkmanager.NewMockNetworkManager(t)
|
||||
|
||||
backend, err := NewNetworkManagerBackend(mockNM)
|
||||
assert.NoError(t, err)
|
||||
|
||||
backend.ethernetDevice = nil
|
||||
err = backend.updateEthernetState()
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestNetworkManagerBackend_UpdateWiFiState_NoDevice(t *testing.T) {
|
||||
mockNM := mock_gonetworkmanager.NewMockNetworkManager(t)
|
||||
|
||||
backend, err := NewNetworkManagerBackend(mockNM)
|
||||
assert.NoError(t, err)
|
||||
|
||||
backend.wifiDevice = nil
|
||||
err = backend.updateWiFiState()
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestNetworkManagerBackend_ClassifyNMStateReason(t *testing.T) {
|
||||
mockNM := mock_gonetworkmanager.NewMockNetworkManager(t)
|
||||
|
||||
backend, err := NewNetworkManagerBackend(mockNM)
|
||||
assert.NoError(t, err)
|
||||
|
||||
testCases := []struct {
|
||||
reason uint32
|
||||
expected string
|
||||
}{
|
||||
{NmDeviceStateReasonWrongPassword, errdefs.ErrBadCredentials},
|
||||
{NmDeviceStateReasonNoSecrets, errdefs.ErrUserCanceled},
|
||||
{NmDeviceStateReasonSupplicantTimeout, errdefs.ErrBadCredentials},
|
||||
{NmDeviceStateReasonDhcpClientFailed, errdefs.ErrDhcpTimeout},
|
||||
{NmDeviceStateReasonNoSsid, errdefs.ErrNoSuchSSID},
|
||||
{999, errdefs.ErrConnectionFailed},
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
result := backend.classifyNMStateReason(tc.reason)
|
||||
assert.Equal(t, tc.expected, result)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNetworkManagerBackend_GetDeviceIP_NoConfig(t *testing.T) {
|
||||
mockNM := mock_gonetworkmanager.NewMockNetworkManager(t)
|
||||
mockDevice := mock_gonetworkmanager.NewMockDevice(t)
|
||||
|
||||
backend, err := NewNetworkManagerBackend(mockNM)
|
||||
assert.NoError(t, err)
|
||||
|
||||
mockDevice.EXPECT().GetPropertyIP4Config().Return(nil, nil)
|
||||
|
||||
ip := backend.getDeviceIP(mockDevice)
|
||||
assert.Empty(t, ip)
|
||||
}
|
||||
Reference in New Issue
Block a user