2022-02-22 18:18:05 +01:00
|
|
|
package mock_server
|
|
|
|
|
|
|
|
import (
|
2022-09-30 13:47:11 +02:00
|
|
|
nbdns "github.com/netbirdio/netbird/dns"
|
2022-03-26 12:08:54 +01:00
|
|
|
"github.com/netbirdio/netbird/management/server"
|
|
|
|
"github.com/netbirdio/netbird/management/server/jwtclaims"
|
2022-08-18 18:22:15 +02:00
|
|
|
"github.com/netbirdio/netbird/route"
|
2022-02-22 18:18:05 +01:00
|
|
|
"google.golang.org/grpc/codes"
|
|
|
|
"google.golang.org/grpc/status"
|
2022-06-14 10:32:54 +02:00
|
|
|
"time"
|
2022-02-22 18:18:05 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
type MockAccountManager struct {
|
2022-10-13 18:26:31 +02:00
|
|
|
GetOrCreateAccountByUserFunc func(userId, domain string) (*server.Account, error)
|
|
|
|
GetAccountByUserFunc func(userId string) (*server.Account, error)
|
|
|
|
CreateSetupKeyFunc func(accountId string, keyName string, keyType server.SetupKeyType, expiresIn time.Duration, autoGroups []string) (*server.SetupKey, error)
|
2022-11-05 10:24:50 +01:00
|
|
|
GetSetupKeyFunc func(accountID, userID, keyID string) (*server.SetupKey, error)
|
2022-10-13 18:26:31 +02:00
|
|
|
GetAccountByUserOrAccountIdFunc func(userId, accountId, domain string) (*server.Account, error)
|
|
|
|
IsUserAdminFunc func(claims jwtclaims.AuthorizationClaims) (bool, error)
|
|
|
|
AccountExistsFunc func(accountId string) (*bool, error)
|
|
|
|
GetPeerFunc func(peerKey string) (*server.Peer, error)
|
2022-11-05 10:24:50 +01:00
|
|
|
GetPeersFunc func(accountID, userID string) ([]*server.Peer, error)
|
2022-10-13 18:26:31 +02:00
|
|
|
MarkPeerConnectedFunc func(peerKey string, connected bool) error
|
|
|
|
DeletePeerFunc func(accountId string, peerKey string) (*server.Peer, error)
|
|
|
|
GetPeerByIPFunc func(accountId string, peerIP string) (*server.Peer, error)
|
|
|
|
GetNetworkMapFunc func(peerKey string) (*server.NetworkMap, error)
|
|
|
|
GetPeerNetworkFunc func(peerKey string) (*server.Network, error)
|
|
|
|
AddPeerFunc func(setupKey string, userId string, peer *server.Peer) (*server.Peer, error)
|
|
|
|
GetGroupFunc func(accountID, groupID string) (*server.Group, error)
|
|
|
|
SaveGroupFunc func(accountID string, group *server.Group) error
|
|
|
|
UpdateGroupFunc func(accountID string, groupID string, operations []server.GroupUpdateOperation) (*server.Group, error)
|
|
|
|
DeleteGroupFunc func(accountID, groupID string) error
|
|
|
|
ListGroupsFunc func(accountID string) ([]*server.Group, error)
|
|
|
|
GroupAddPeerFunc func(accountID, groupID, peerKey string) error
|
|
|
|
GroupDeletePeerFunc func(accountID, groupID, peerKey string) error
|
|
|
|
GroupListPeersFunc func(accountID, groupID string) ([]*server.Peer, error)
|
2022-11-05 10:24:50 +01:00
|
|
|
GetRuleFunc func(accountID, ruleID, userID string) (*server.Rule, error)
|
2022-10-13 18:26:31 +02:00
|
|
|
SaveRuleFunc func(accountID string, rule *server.Rule) error
|
|
|
|
UpdateRuleFunc func(accountID string, ruleID string, operations []server.RuleUpdateOperation) (*server.Rule, error)
|
|
|
|
DeleteRuleFunc func(accountID, ruleID string) error
|
2022-11-05 10:24:50 +01:00
|
|
|
ListRulesFunc func(accountID, userID string) ([]*server.Rule, error)
|
|
|
|
GetUsersFromAccountFunc func(accountID, userID string) ([]*server.UserInfo, error)
|
2022-10-13 18:26:31 +02:00
|
|
|
UpdatePeerMetaFunc func(peerKey string, meta server.PeerSystemMeta) error
|
|
|
|
UpdatePeerSSHKeyFunc func(peerKey string, sshKey string) error
|
|
|
|
UpdatePeerFunc func(accountID string, peer *server.Peer) (*server.Peer, error)
|
|
|
|
CreateRouteFunc func(accountID string, prefix, peer, description, netID string, masquerade bool, metric int, enabled bool) (*route.Route, error)
|
2022-11-05 10:24:50 +01:00
|
|
|
GetRouteFunc func(accountID, routeID, userID string) (*route.Route, error)
|
2022-10-13 18:26:31 +02:00
|
|
|
SaveRouteFunc func(accountID string, route *route.Route) error
|
|
|
|
UpdateRouteFunc func(accountID string, routeID string, operations []server.RouteUpdateOperation) (*route.Route, error)
|
|
|
|
DeleteRouteFunc func(accountID, routeID string) error
|
2022-11-05 10:24:50 +01:00
|
|
|
ListRoutesFunc func(accountID, userID string) ([]*route.Route, error)
|
2022-10-13 18:26:31 +02:00
|
|
|
SaveSetupKeyFunc func(accountID string, key *server.SetupKey) (*server.SetupKey, error)
|
2022-11-05 10:24:50 +01:00
|
|
|
ListSetupKeysFunc func(accountID, userID string) ([]*server.SetupKey, error)
|
2022-10-13 18:26:31 +02:00
|
|
|
SaveUserFunc func(accountID string, user *server.User) (*server.UserInfo, error)
|
|
|
|
GetNameServerGroupFunc func(accountID, nsGroupID string) (*nbdns.NameServerGroup, error)
|
2022-11-03 18:39:37 +01:00
|
|
|
CreateNameServerGroupFunc func(accountID string, name, description string, nameServerList []nbdns.NameServer, groups []string, primary bool, domains []string, enabled bool) (*nbdns.NameServerGroup, error)
|
2022-10-13 18:26:31 +02:00
|
|
|
SaveNameServerGroupFunc func(accountID string, nsGroupToSave *nbdns.NameServerGroup) error
|
|
|
|
UpdateNameServerGroupFunc func(accountID, nsGroupID string, operations []server.NameServerGroupUpdateOperation) (*nbdns.NameServerGroup, error)
|
|
|
|
DeleteNameServerGroupFunc func(accountID, nsGroupID string) error
|
|
|
|
ListNameServerGroupsFunc func(accountID string) ([]*nbdns.NameServerGroup, error)
|
|
|
|
CreateUserFunc func(accountID string, key *server.UserInfo) (*server.UserInfo, error)
|
2022-11-11 20:36:45 +01:00
|
|
|
GetAccountFromTokenFunc func(claims jwtclaims.AuthorizationClaims) (*server.Account, *server.User, error)
|
2022-05-05 08:58:34 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GetUsersFromAccount mock implementation of GetUsersFromAccount from server.AccountManager interface
|
2022-11-05 10:24:50 +01:00
|
|
|
func (am *MockAccountManager) GetUsersFromAccount(accountID string, userID string) ([]*server.UserInfo, error) {
|
2022-05-05 08:58:34 +02:00
|
|
|
if am.GetUsersFromAccountFunc != nil {
|
2022-11-05 10:24:50 +01:00
|
|
|
return am.GetUsersFromAccountFunc(accountID, userID)
|
2022-05-05 08:58:34 +02:00
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetUsersFromAccount is not implemented")
|
2022-05-03 16:02:51 +02:00
|
|
|
}
|
|
|
|
|
2022-11-07 12:10:56 +01:00
|
|
|
// DeletePeer mock implementation of DeletePeer from server.AccountManager interface
|
|
|
|
func (am *MockAccountManager) DeletePeer(accountId string, peerKey string) (*server.Peer, error) {
|
|
|
|
if am.DeletePeerFunc != nil {
|
|
|
|
return am.DeletePeerFunc(accountId, peerKey)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method DeletePeer is not implemented")
|
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GetOrCreateAccountByUser mock implementation of GetOrCreateAccountByUser from server.AccountManager interface
|
2022-05-03 16:02:51 +02:00
|
|
|
func (am *MockAccountManager) GetOrCreateAccountByUser(
|
|
|
|
userId, domain string,
|
|
|
|
) (*server.Account, error) {
|
2022-02-22 18:18:05 +01:00
|
|
|
if am.GetOrCreateAccountByUserFunc != nil {
|
|
|
|
return am.GetOrCreateAccountByUserFunc(userId, domain)
|
|
|
|
}
|
2022-05-03 16:02:51 +02:00
|
|
|
return nil, status.Errorf(
|
|
|
|
codes.Unimplemented,
|
2022-06-23 17:04:53 +02:00
|
|
|
"method GetOrCreateAccountByUser is not implemented",
|
2022-05-03 16:02:51 +02:00
|
|
|
)
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GetAccountByUser mock implementation of GetAccountByUser from server.AccountManager interface
|
2022-02-22 18:18:05 +01:00
|
|
|
func (am *MockAccountManager) GetAccountByUser(userId string) (*server.Account, error) {
|
|
|
|
if am.GetAccountByUserFunc != nil {
|
|
|
|
return am.GetAccountByUserFunc(userId)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetAccountByUser is not implemented")
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-09-11 23:16:40 +02:00
|
|
|
// CreateSetupKey mock implementation of CreateSetupKey from server.AccountManager interface
|
|
|
|
func (am *MockAccountManager) CreateSetupKey(
|
2022-05-03 16:02:51 +02:00
|
|
|
accountId string,
|
|
|
|
keyName string,
|
|
|
|
keyType server.SetupKeyType,
|
2022-06-14 10:32:54 +02:00
|
|
|
expiresIn time.Duration,
|
2022-09-11 23:16:40 +02:00
|
|
|
autoGroups []string,
|
2022-05-03 16:02:51 +02:00
|
|
|
) (*server.SetupKey, error) {
|
2022-09-11 23:16:40 +02:00
|
|
|
if am.CreateSetupKeyFunc != nil {
|
|
|
|
return am.CreateSetupKeyFunc(accountId, keyName, keyType, expiresIn, autoGroups)
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
2022-09-11 23:16:40 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method CreateSetupKey is not implemented")
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-11-11 20:36:45 +01:00
|
|
|
// GetAccountByUserOrAccountID mock implementation of GetAccountByUserOrAccountID from server.AccountManager interface
|
2022-11-07 17:52:23 +01:00
|
|
|
func (am *MockAccountManager) GetAccountByUserOrAccountID(
|
2022-05-03 16:02:51 +02:00
|
|
|
userId, accountId, domain string,
|
|
|
|
) (*server.Account, error) {
|
2022-02-22 18:18:05 +01:00
|
|
|
if am.GetAccountByUserOrAccountIdFunc != nil {
|
|
|
|
return am.GetAccountByUserOrAccountIdFunc(userId, accountId, domain)
|
|
|
|
}
|
2022-05-03 16:02:51 +02:00
|
|
|
return nil, status.Errorf(
|
|
|
|
codes.Unimplemented,
|
2022-11-07 17:52:23 +01:00
|
|
|
"method GetAccountByUserOrAccountID is not implemented",
|
2022-05-03 16:02:51 +02:00
|
|
|
)
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// AccountExists mock implementation of AccountExists from server.AccountManager interface
|
2022-02-22 18:18:05 +01:00
|
|
|
func (am *MockAccountManager) AccountExists(accountId string) (*bool, error) {
|
|
|
|
if am.AccountExistsFunc != nil {
|
|
|
|
return am.AccountExistsFunc(accountId)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method AccountExists is not implemented")
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GetPeer mock implementation of GetPeer from server.AccountManager interface
|
2022-02-22 18:18:05 +01:00
|
|
|
func (am *MockAccountManager) GetPeer(peerKey string) (*server.Peer, error) {
|
|
|
|
if am.GetPeerFunc != nil {
|
|
|
|
return am.GetPeerFunc(peerKey)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetPeer is not implemented")
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// MarkPeerConnected mock implementation of MarkPeerConnected from server.AccountManager interface
|
2022-02-22 18:18:05 +01:00
|
|
|
func (am *MockAccountManager) MarkPeerConnected(peerKey string, connected bool) error {
|
|
|
|
if am.MarkPeerConnectedFunc != nil {
|
|
|
|
return am.MarkPeerConnectedFunc(peerKey, connected)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return status.Errorf(codes.Unimplemented, "method MarkPeerConnected is not implemented")
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GetPeerByIP mock implementation of GetPeerByIP from server.AccountManager interface
|
2022-02-22 18:18:05 +01:00
|
|
|
func (am *MockAccountManager) GetPeerByIP(accountId string, peerIP string) (*server.Peer, error) {
|
|
|
|
if am.GetPeerByIPFunc != nil {
|
|
|
|
return am.GetPeerByIPFunc(accountId, peerIP)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetPeerByIP is not implemented")
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GetNetworkMap mock implementation of GetNetworkMap from server.AccountManager interface
|
2022-02-22 18:18:05 +01:00
|
|
|
func (am *MockAccountManager) GetNetworkMap(peerKey string) (*server.NetworkMap, error) {
|
|
|
|
if am.GetNetworkMapFunc != nil {
|
|
|
|
return am.GetNetworkMapFunc(peerKey)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetNetworkMap is not implemented")
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
|
|
|
|
2022-06-24 21:30:51 +02:00
|
|
|
// GetPeerNetwork mock implementation of GetPeerNetwork from server.AccountManager interface
|
|
|
|
func (am *MockAccountManager) GetPeerNetwork(peerKey string) (*server.Network, error) {
|
|
|
|
if am.GetPeerNetworkFunc != nil {
|
|
|
|
return am.GetPeerNetworkFunc(peerKey)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetPeerNetwork is not implemented")
|
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// AddPeer mock implementation of AddPeer from server.AccountManager interface
|
2022-05-25 18:26:50 +02:00
|
|
|
func (am *MockAccountManager) AddPeer(
|
|
|
|
setupKey string,
|
|
|
|
userId string,
|
|
|
|
peer *server.Peer,
|
|
|
|
) (*server.Peer, error) {
|
2022-02-22 18:18:05 +01:00
|
|
|
if am.AddPeerFunc != nil {
|
2022-05-05 20:02:15 +02:00
|
|
|
return am.AddPeerFunc(setupKey, userId, peer)
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method AddPeer is not implemented")
|
2022-02-22 18:18:05 +01:00
|
|
|
}
|
2022-05-03 16:02:51 +02:00
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GetGroup mock implementation of GetGroup from server.AccountManager interface
|
2022-05-03 16:02:51 +02:00
|
|
|
func (am *MockAccountManager) GetGroup(accountID, groupID string) (*server.Group, error) {
|
|
|
|
if am.GetGroupFunc != nil {
|
|
|
|
return am.GetGroupFunc(accountID, groupID)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetGroup is not implemented")
|
2022-05-03 16:02:51 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// SaveGroup mock implementation of SaveGroup from server.AccountManager interface
|
2022-05-03 16:02:51 +02:00
|
|
|
func (am *MockAccountManager) SaveGroup(accountID string, group *server.Group) error {
|
|
|
|
if am.SaveGroupFunc != nil {
|
|
|
|
return am.SaveGroupFunc(accountID, group)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return status.Errorf(codes.Unimplemented, "method SaveGroup is not implemented")
|
2022-05-03 16:02:51 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// UpdateGroup mock implementation of UpdateGroup from server.AccountManager interface
|
|
|
|
func (am *MockAccountManager) UpdateGroup(accountID string, groupID string, operations []server.GroupUpdateOperation) (*server.Group, error) {
|
|
|
|
if am.UpdateGroupFunc != nil {
|
|
|
|
return am.UpdateGroupFunc(accountID, groupID, operations)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method UpdateGroup not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteGroup mock implementation of DeleteGroup from server.AccountManager interface
|
2022-05-03 16:02:51 +02:00
|
|
|
func (am *MockAccountManager) DeleteGroup(accountID, groupID string) error {
|
|
|
|
if am.DeleteGroupFunc != nil {
|
|
|
|
return am.DeleteGroupFunc(accountID, groupID)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return status.Errorf(codes.Unimplemented, "method DeleteGroup is not implemented")
|
2022-05-03 16:02:51 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// ListGroups mock implementation of ListGroups from server.AccountManager interface
|
2022-05-03 16:02:51 +02:00
|
|
|
func (am *MockAccountManager) ListGroups(accountID string) ([]*server.Group, error) {
|
|
|
|
if am.ListGroupsFunc != nil {
|
|
|
|
return am.ListGroupsFunc(accountID)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method ListGroups is not implemented")
|
2022-05-03 16:02:51 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GroupAddPeer mock implementation of GroupAddPeer from server.AccountManager interface
|
2022-05-03 16:02:51 +02:00
|
|
|
func (am *MockAccountManager) GroupAddPeer(accountID, groupID, peerKey string) error {
|
|
|
|
if am.GroupAddPeerFunc != nil {
|
|
|
|
return am.GroupAddPeerFunc(accountID, groupID, peerKey)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return status.Errorf(codes.Unimplemented, "method GroupAddPeer is not implemented")
|
2022-05-03 16:02:51 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GroupDeletePeer mock implementation of GroupDeletePeer from server.AccountManager interface
|
2022-05-03 16:02:51 +02:00
|
|
|
func (am *MockAccountManager) GroupDeletePeer(accountID, groupID, peerKey string) error {
|
|
|
|
if am.GroupDeletePeerFunc != nil {
|
|
|
|
return am.GroupDeletePeerFunc(accountID, groupID, peerKey)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return status.Errorf(codes.Unimplemented, "method GroupDeletePeer is not implemented")
|
2022-05-03 16:02:51 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GroupListPeers mock implementation of GroupListPeers from server.AccountManager interface
|
2022-05-03 16:02:51 +02:00
|
|
|
func (am *MockAccountManager) GroupListPeers(accountID, groupID string) ([]*server.Peer, error) {
|
|
|
|
if am.GroupListPeersFunc != nil {
|
|
|
|
return am.GroupListPeersFunc(accountID, groupID)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GroupListPeers is not implemented")
|
2022-05-03 16:02:51 +02:00
|
|
|
}
|
2022-05-21 15:21:39 +02:00
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// GetRule mock implementation of GetRule from server.AccountManager interface
|
2022-11-05 10:24:50 +01:00
|
|
|
func (am *MockAccountManager) GetRule(accountID, ruleID, userID string) (*server.Rule, error) {
|
2022-05-21 15:21:39 +02:00
|
|
|
if am.GetRuleFunc != nil {
|
2022-11-05 10:24:50 +01:00
|
|
|
return am.GetRuleFunc(accountID, ruleID, userID)
|
2022-05-21 15:21:39 +02:00
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetRule is not implemented")
|
2022-05-21 15:21:39 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// SaveRule mock implementation of SaveRule from server.AccountManager interface
|
2022-05-21 15:21:39 +02:00
|
|
|
func (am *MockAccountManager) SaveRule(accountID string, rule *server.Rule) error {
|
|
|
|
if am.SaveRuleFunc != nil {
|
|
|
|
return am.SaveRuleFunc(accountID, rule)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return status.Errorf(codes.Unimplemented, "method SaveRule is not implemented")
|
2022-05-21 15:21:39 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// UpdateRule mock implementation of UpdateRule from server.AccountManager interface
|
|
|
|
func (am *MockAccountManager) UpdateRule(accountID string, ruleID string, operations []server.RuleUpdateOperation) (*server.Rule, error) {
|
|
|
|
if am.UpdateRuleFunc != nil {
|
|
|
|
return am.UpdateRuleFunc(accountID, ruleID, operations)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method UpdateRule not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteRule mock implementation of DeleteRule from server.AccountManager interface
|
2022-05-21 15:21:39 +02:00
|
|
|
func (am *MockAccountManager) DeleteRule(accountID, ruleID string) error {
|
|
|
|
if am.DeleteRuleFunc != nil {
|
|
|
|
return am.DeleteRuleFunc(accountID, ruleID)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return status.Errorf(codes.Unimplemented, "method DeleteRule is not implemented")
|
2022-05-21 15:21:39 +02:00
|
|
|
}
|
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// ListRules mock implementation of ListRules from server.AccountManager interface
|
2022-11-05 10:24:50 +01:00
|
|
|
func (am *MockAccountManager) ListRules(accountID, userID string) ([]*server.Rule, error) {
|
2022-05-21 15:21:39 +02:00
|
|
|
if am.ListRulesFunc != nil {
|
2022-11-05 10:24:50 +01:00
|
|
|
return am.ListRulesFunc(accountID, userID)
|
2022-05-21 15:21:39 +02:00
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method ListRules is not implemented")
|
2022-05-21 15:21:39 +02:00
|
|
|
}
|
2022-05-23 13:03:57 +02:00
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// UpdatePeerMeta mock implementation of UpdatePeerMeta from server.AccountManager interface
|
2022-05-23 13:03:57 +02:00
|
|
|
func (am *MockAccountManager) UpdatePeerMeta(peerKey string, meta server.PeerSystemMeta) error {
|
|
|
|
if am.UpdatePeerMetaFunc != nil {
|
|
|
|
return am.UpdatePeerMetaFunc(peerKey, meta)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return status.Errorf(codes.Unimplemented, "method UpdatePeerMetaFunc is not implemented")
|
2022-05-23 13:03:57 +02:00
|
|
|
}
|
2022-05-25 18:26:50 +02:00
|
|
|
|
2022-06-14 10:32:54 +02:00
|
|
|
// IsUserAdmin mock implementation of IsUserAdmin from server.AccountManager interface
|
2022-05-25 18:26:50 +02:00
|
|
|
func (am *MockAccountManager) IsUserAdmin(claims jwtclaims.AuthorizationClaims) (bool, error) {
|
|
|
|
if am.IsUserAdminFunc != nil {
|
|
|
|
return am.IsUserAdminFunc(claims)
|
|
|
|
}
|
2022-06-23 17:04:53 +02:00
|
|
|
return false, status.Errorf(codes.Unimplemented, "method IsUserAdmin is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdatePeerSSHKey mocks UpdatePeerSSHKey function of the account manager
|
|
|
|
func (am *MockAccountManager) UpdatePeerSSHKey(peerKey string, sshKey string) error {
|
|
|
|
if am.UpdatePeerSSHKeyFunc != nil {
|
|
|
|
return am.UpdatePeerSSHKeyFunc(peerKey, sshKey)
|
|
|
|
}
|
|
|
|
return status.Errorf(codes.Unimplemented, "method UpdatePeerSSHKey is is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdatePeer mocks UpdatePeerFunc function of the account manager
|
|
|
|
func (am *MockAccountManager) UpdatePeer(accountID string, peer *server.Peer) (*server.Peer, error) {
|
|
|
|
if am.UpdatePeerFunc != nil {
|
|
|
|
return am.UpdatePeerFunc(accountID, peer)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method UpdatePeerFunc is is not implemented")
|
2022-05-25 18:26:50 +02:00
|
|
|
}
|
2022-08-18 18:22:15 +02:00
|
|
|
|
|
|
|
// CreateRoute mock implementation of CreateRoute from server.AccountManager interface
|
2022-08-22 14:10:24 +02:00
|
|
|
func (am *MockAccountManager) CreateRoute(accountID string, network, peer, description, netID string, masquerade bool, metric int, enabled bool) (*route.Route, error) {
|
2022-11-05 10:24:50 +01:00
|
|
|
if am.CreateRouteFunc != nil {
|
2022-08-22 14:10:24 +02:00
|
|
|
return am.CreateRouteFunc(accountID, network, peer, description, netID, masquerade, metric, enabled)
|
2022-08-18 18:22:15 +02:00
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method CreateRoute is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetRoute mock implementation of GetRoute from server.AccountManager interface
|
2022-11-05 10:24:50 +01:00
|
|
|
func (am *MockAccountManager) GetRoute(accountID, routeID, userID string) (*route.Route, error) {
|
2022-08-18 18:22:15 +02:00
|
|
|
if am.GetRouteFunc != nil {
|
2022-11-05 10:24:50 +01:00
|
|
|
return am.GetRouteFunc(accountID, routeID, userID)
|
2022-08-18 18:22:15 +02:00
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetRoute is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// SaveRoute mock implementation of SaveRoute from server.AccountManager interface
|
|
|
|
func (am *MockAccountManager) SaveRoute(accountID string, route *route.Route) error {
|
|
|
|
if am.SaveRouteFunc != nil {
|
|
|
|
return am.SaveRouteFunc(accountID, route)
|
|
|
|
}
|
|
|
|
return status.Errorf(codes.Unimplemented, "method SaveRoute is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateRoute mock implementation of UpdateRoute from server.AccountManager interface
|
|
|
|
func (am *MockAccountManager) UpdateRoute(accountID string, ruleID string, operations []server.RouteUpdateOperation) (*route.Route, error) {
|
|
|
|
if am.UpdateRouteFunc != nil {
|
|
|
|
return am.UpdateRouteFunc(accountID, ruleID, operations)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method UpdateRoute not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteRoute mock implementation of DeleteRoute from server.AccountManager interface
|
|
|
|
func (am *MockAccountManager) DeleteRoute(accountID, routeID string) error {
|
|
|
|
if am.DeleteRouteFunc != nil {
|
|
|
|
return am.DeleteRouteFunc(accountID, routeID)
|
|
|
|
}
|
|
|
|
return status.Errorf(codes.Unimplemented, "method DeleteRoute is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// ListRoutes mock implementation of ListRoutes from server.AccountManager interface
|
2022-11-05 10:24:50 +01:00
|
|
|
func (am *MockAccountManager) ListRoutes(accountID, userID string) ([]*route.Route, error) {
|
2022-08-18 18:22:15 +02:00
|
|
|
if am.ListRoutesFunc != nil {
|
2022-11-05 10:24:50 +01:00
|
|
|
return am.ListRoutesFunc(accountID, userID)
|
2022-08-18 18:22:15 +02:00
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method ListRoutes is not implemented")
|
|
|
|
}
|
2022-09-11 23:16:40 +02:00
|
|
|
|
|
|
|
// SaveSetupKey mocks SaveSetupKey of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) SaveSetupKey(accountID string, key *server.SetupKey) (*server.SetupKey, error) {
|
|
|
|
if am.SaveSetupKeyFunc != nil {
|
|
|
|
return am.SaveSetupKeyFunc(accountID, key)
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method SaveSetupKey is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetSetupKey mocks GetSetupKey of the AccountManager interface
|
2022-11-05 10:24:50 +01:00
|
|
|
func (am *MockAccountManager) GetSetupKey(accountID, userID, keyID string) (*server.SetupKey, error) {
|
2022-09-11 23:16:40 +02:00
|
|
|
if am.GetSetupKeyFunc != nil {
|
2022-11-05 10:24:50 +01:00
|
|
|
return am.GetSetupKeyFunc(accountID, userID, keyID)
|
2022-09-11 23:16:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetSetupKey is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// ListSetupKeys mocks ListSetupKeys of the AccountManager interface
|
2022-11-05 10:24:50 +01:00
|
|
|
func (am *MockAccountManager) ListSetupKeys(accountID, userID string) ([]*server.SetupKey, error) {
|
2022-09-11 23:16:40 +02:00
|
|
|
if am.ListSetupKeysFunc != nil {
|
2022-11-05 10:24:50 +01:00
|
|
|
return am.ListSetupKeysFunc(accountID, userID)
|
2022-09-11 23:16:40 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method ListSetupKeys is not implemented")
|
|
|
|
}
|
2022-09-22 09:06:32 +02:00
|
|
|
|
|
|
|
// SaveUser mocks SaveUser of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) SaveUser(accountID string, user *server.User) (*server.UserInfo, error) {
|
|
|
|
if am.SaveUserFunc != nil {
|
|
|
|
return am.SaveUserFunc(accountID, user)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method SaveUser is not implemented")
|
|
|
|
}
|
2022-09-30 13:47:11 +02:00
|
|
|
|
|
|
|
// GetNameServerGroup mocks GetNameServerGroup of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) GetNameServerGroup(accountID, nsGroupID string) (*nbdns.NameServerGroup, error) {
|
|
|
|
if am.GetNameServerGroupFunc != nil {
|
|
|
|
return am.GetNameServerGroupFunc(accountID, nsGroupID)
|
|
|
|
}
|
|
|
|
return nil, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// CreateNameServerGroup mocks CreateNameServerGroup of the AccountManager interface
|
2022-11-03 18:39:37 +01:00
|
|
|
func (am *MockAccountManager) CreateNameServerGroup(accountID string, name, description string, nameServerList []nbdns.NameServer, groups []string, primary bool, domains []string, enabled bool) (*nbdns.NameServerGroup, error) {
|
2022-09-30 13:47:11 +02:00
|
|
|
if am.CreateNameServerGroupFunc != nil {
|
2022-11-03 18:39:37 +01:00
|
|
|
return am.CreateNameServerGroupFunc(accountID, name, description, nameServerList, groups, primary, domains, enabled)
|
2022-09-30 13:47:11 +02:00
|
|
|
}
|
|
|
|
return nil, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// SaveNameServerGroup mocks SaveNameServerGroup of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) SaveNameServerGroup(accountID string, nsGroupToSave *nbdns.NameServerGroup) error {
|
|
|
|
if am.SaveNameServerGroupFunc != nil {
|
|
|
|
return am.SaveNameServerGroupFunc(accountID, nsGroupToSave)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// UpdateNameServerGroup mocks UpdateNameServerGroup of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) UpdateNameServerGroup(accountID, nsGroupID string, operations []server.NameServerGroupUpdateOperation) (*nbdns.NameServerGroup, error) {
|
|
|
|
if am.UpdateNameServerGroupFunc != nil {
|
|
|
|
return am.UpdateNameServerGroupFunc(accountID, nsGroupID, operations)
|
|
|
|
}
|
|
|
|
return nil, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// DeleteNameServerGroup mocks DeleteNameServerGroup of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) DeleteNameServerGroup(accountID, nsGroupID string) error {
|
|
|
|
if am.DeleteNameServerGroupFunc != nil {
|
|
|
|
return am.DeleteNameServerGroupFunc(accountID, nsGroupID)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// ListNameServerGroups mocks ListNameServerGroups of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) ListNameServerGroups(accountID string) ([]*nbdns.NameServerGroup, error) {
|
|
|
|
if am.ListNameServerGroupsFunc != nil {
|
|
|
|
return am.ListNameServerGroupsFunc(accountID)
|
|
|
|
}
|
|
|
|
return nil, nil
|
|
|
|
}
|
2022-10-13 18:26:31 +02:00
|
|
|
|
|
|
|
// CreateUser mocks CreateUser of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) CreateUser(accountID string, invite *server.UserInfo) (*server.UserInfo, error) {
|
|
|
|
if am.CreateUserFunc != nil {
|
|
|
|
return am.CreateUserFunc(accountID, invite)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method CreateUser is not implemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetAccountFromToken mocks GetAccountFromToken of the AccountManager interface
|
2022-11-11 20:36:45 +01:00
|
|
|
func (am *MockAccountManager) GetAccountFromToken(claims jwtclaims.AuthorizationClaims) (*server.Account, *server.User,
|
|
|
|
error) {
|
2022-10-13 18:26:31 +02:00
|
|
|
if am.GetAccountFromTokenFunc != nil {
|
|
|
|
return am.GetAccountFromTokenFunc(claims)
|
|
|
|
}
|
2022-11-11 20:36:45 +01:00
|
|
|
return nil, nil, status.Errorf(codes.Unimplemented, "method GetAccountFromToken is not implemented")
|
2022-10-13 18:26:31 +02:00
|
|
|
}
|
2022-11-05 10:24:50 +01:00
|
|
|
|
|
|
|
// GetPeers mocks GetPeers of the AccountManager interface
|
|
|
|
func (am *MockAccountManager) GetPeers(accountID, userID string) ([]*server.Peer, error) {
|
|
|
|
if am.GetAccountFromTokenFunc != nil {
|
|
|
|
return am.GetPeersFunc(accountID, userID)
|
|
|
|
}
|
|
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetPeersFunc is not implemented")
|
|
|
|
}
|