mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-08 09:14:18 +01:00
5db130a12e
* feature: support new management service protocol * chore: add more logging to track networkmap serial * refactor: organize peer update code in engine * chore: fix lint issues * refactor: extract Signal client interface * test: add signal client mock * refactor: introduce Management Service client interface * chore: place management and signal clients mocks to respective packages * test: add Serial test to the engine * fix: lint issues * test: unit tests for a networkMapUpdate * test: unit tests Sync update
50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package client
|
|
|
|
import (
|
|
"github.com/wiretrustee/wiretrustee/management/proto"
|
|
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
|
)
|
|
|
|
type MockClient struct {
|
|
CloseFunc func() error
|
|
SyncFunc func(msgHandler func(msg *proto.SyncResponse) error) error
|
|
GetServerPublicKeyFunc func() (*wgtypes.Key, error)
|
|
RegisterFunc func(serverKey wgtypes.Key, setupKey string) (*proto.LoginResponse, error)
|
|
LoginFunc func(serverKey wgtypes.Key) (*proto.LoginResponse, error)
|
|
}
|
|
|
|
func (m *MockClient) Close() error {
|
|
if m.CloseFunc == nil {
|
|
return nil
|
|
}
|
|
return m.CloseFunc()
|
|
}
|
|
|
|
func (m *MockClient) Sync(msgHandler func(msg *proto.SyncResponse) error) error {
|
|
if m.SyncFunc == nil {
|
|
return nil
|
|
}
|
|
return m.SyncFunc(msgHandler)
|
|
}
|
|
|
|
func (m *MockClient) GetServerPublicKey() (*wgtypes.Key, error) {
|
|
if m.GetServerPublicKeyFunc == nil {
|
|
return nil, nil
|
|
}
|
|
return m.GetServerPublicKeyFunc()
|
|
}
|
|
|
|
func (m *MockClient) Register(serverKey wgtypes.Key, setupKey string) (*proto.LoginResponse, error) {
|
|
if m.RegisterFunc == nil {
|
|
return nil, nil
|
|
}
|
|
return m.RegisterFunc(serverKey, setupKey)
|
|
}
|
|
|
|
func (m *MockClient) Login(serverKey wgtypes.Key) (*proto.LoginResponse, error) {
|
|
if m.LoginFunc == nil {
|
|
return nil, nil
|
|
}
|
|
return m.LoginFunc(serverKey)
|
|
}
|