mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-23 08:33:45 +01:00
0b8387bd2c
* Added Domain Category field and fix store tests * Add GetAccountByDomain method * Add Domain Category to authorization claims * Initial GetAccountWithAuthorizationClaims test cases * Renamed Private Domain map and index it on saving account * New Go build tags * Added NewRegularUser function * Updated restore to account for primary domain account Also, added another test case * Added grouping user of private domains Also added auxiliary methods for update metadata and domain attributes * Update http handles get account method and tests * Fix lint and document another case * Removed unnecessary log * Move use cases to method and add flow comments * Split the new user and existing logic from GetAccountWithAuthorizationClaims * Review: minor corrections Co-authored-by: braginini <bangvalo@gmail.com>
149 lines
6.7 KiB
Go
149 lines
6.7 KiB
Go
package mock_server
|
|
|
|
import (
|
|
"github.com/wiretrustee/wiretrustee/management/server"
|
|
"github.com/wiretrustee/wiretrustee/management/server/jwtclaims"
|
|
"github.com/wiretrustee/wiretrustee/util"
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
)
|
|
|
|
type MockAccountManager struct {
|
|
GetOrCreateAccountByUserFunc func(userId, domain string) (*server.Account, error)
|
|
GetAccountByUserFunc func(userId string) (*server.Account, error)
|
|
AddSetupKeyFunc func(accountId string, keyName string, keyType server.SetupKeyType, expiresIn *util.Duration) (*server.SetupKey, error)
|
|
RevokeSetupKeyFunc func(accountId string, keyId string) (*server.SetupKey, error)
|
|
RenameSetupKeyFunc func(accountId string, keyId string, newName string) (*server.SetupKey, error)
|
|
GetAccountByIdFunc func(accountId string) (*server.Account, error)
|
|
GetAccountByUserOrAccountIdFunc func(userId, accountId, domain string) (*server.Account, error)
|
|
GetAccountWithAuthorizationClaimsFunc func(claims jwtclaims.AuthorizationClaims) (*server.Account, error)
|
|
AccountExistsFunc func(accountId string) (*bool, error)
|
|
AddAccountFunc func(accountId, userId, domain string) (*server.Account, error)
|
|
GetPeerFunc func(peerKey string) (*server.Peer, error)
|
|
MarkPeerConnectedFunc func(peerKey string, connected bool) error
|
|
RenamePeerFunc func(accountId string, peerKey string, newName string) (*server.Peer, 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)
|
|
AddPeerFunc func(setupKey string, peer *server.Peer) (*server.Peer, error)
|
|
}
|
|
|
|
func (am *MockAccountManager) GetOrCreateAccountByUser(userId, domain string) (*server.Account, error) {
|
|
if am.GetOrCreateAccountByUserFunc != nil {
|
|
return am.GetOrCreateAccountByUserFunc(userId, domain)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetOrCreateAccountByUser not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) GetAccountByUser(userId string) (*server.Account, error) {
|
|
if am.GetAccountByUserFunc != nil {
|
|
return am.GetAccountByUserFunc(userId)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetAccountByUser not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) AddSetupKey(accountId string, keyName string, keyType server.SetupKeyType, expiresIn *util.Duration) (*server.SetupKey, error) {
|
|
if am.AddSetupKeyFunc != nil {
|
|
return am.AddSetupKeyFunc(accountId, keyName, keyType, expiresIn)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method AddSetupKey not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) RevokeSetupKey(accountId string, keyId string) (*server.SetupKey, error) {
|
|
if am.RevokeSetupKeyFunc != nil {
|
|
return am.RevokeSetupKeyFunc(accountId, keyId)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method RevokeSetupKey not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) RenameSetupKey(accountId string, keyId string, newName string) (*server.SetupKey, error) {
|
|
if am.RenameSetupKeyFunc != nil {
|
|
return am.RenameSetupKeyFunc(accountId, keyId, newName)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method RenameSetupKey not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) GetAccountById(accountId string) (*server.Account, error) {
|
|
if am.GetAccountByIdFunc != nil {
|
|
return am.GetAccountByIdFunc(accountId)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetAccountById not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) GetAccountByUserOrAccountId(userId, accountId, domain string) (*server.Account, error) {
|
|
if am.GetAccountByUserOrAccountIdFunc != nil {
|
|
return am.GetAccountByUserOrAccountIdFunc(userId, accountId, domain)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetAccountByUserOrAccountId not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) GetAccountWithAuthorizationClaims(claims jwtclaims.AuthorizationClaims) (*server.Account, error) {
|
|
if am.GetAccountWithAuthorizationClaimsFunc != nil {
|
|
return am.GetAccountWithAuthorizationClaimsFunc(claims)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetAccountWithAuthorizationClaims not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) AccountExists(accountId string) (*bool, error) {
|
|
if am.AccountExistsFunc != nil {
|
|
return am.AccountExistsFunc(accountId)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method AccountExists not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) AddAccount(accountId, userId, domain string) (*server.Account, error) {
|
|
if am.AddAccountFunc != nil {
|
|
return am.AddAccountFunc(accountId, userId, domain)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method AddAccount not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) GetPeer(peerKey string) (*server.Peer, error) {
|
|
if am.GetPeerFunc != nil {
|
|
return am.GetPeerFunc(peerKey)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetPeer not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) MarkPeerConnected(peerKey string, connected bool) error {
|
|
if am.MarkPeerConnectedFunc != nil {
|
|
return am.MarkPeerConnectedFunc(peerKey, connected)
|
|
}
|
|
return status.Errorf(codes.Unimplemented, "method MarkPeerConnected not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) RenamePeer(accountId string, peerKey string, newName string) (*server.Peer, error) {
|
|
if am.RenamePeerFunc != nil {
|
|
return am.RenamePeerFunc(accountId, peerKey, newName)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method RenamePeer not implemented")
|
|
}
|
|
|
|
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 not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) GetPeerByIP(accountId string, peerIP string) (*server.Peer, error) {
|
|
if am.GetPeerByIPFunc != nil {
|
|
return am.GetPeerByIPFunc(accountId, peerIP)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetPeerByIP not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) GetNetworkMap(peerKey string) (*server.NetworkMap, error) {
|
|
if am.GetNetworkMapFunc != nil {
|
|
return am.GetNetworkMapFunc(peerKey)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method GetNetworkMap not implemented")
|
|
}
|
|
|
|
func (am *MockAccountManager) AddPeer(setupKey string, peer *server.Peer) (*server.Peer, error) {
|
|
if am.AddPeerFunc != nil {
|
|
return am.AddPeerFunc(setupKey, peer)
|
|
}
|
|
return nil, status.Errorf(codes.Unimplemented, "method AddPeer not implemented")
|
|
}
|