mirror of
https://github.com/netbirdio/netbird.git
synced 2025-01-23 14:28:51 +01:00
Don't allow delete group from peer groups (#2055)
This commit is contained in:
parent
d35a79d3b5
commit
d4c47eaf8a
@ -245,6 +245,11 @@ func (am *DefaultAccountManager) DeleteGroup(accountId, userId, groupID string)
|
|||||||
return &GroupLinkError{"route", string(r.NetID)}
|
return &GroupLinkError{"route", string(r.NetID)}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for _, g := range r.PeerGroups {
|
||||||
|
if g == groupID {
|
||||||
|
return &GroupLinkError{"route", string(r.NetID)}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check DNS links
|
// check DNS links
|
||||||
|
@ -70,6 +70,11 @@ func TestDefaultAccountManager_DeleteGroup(t *testing.T) {
|
|||||||
"grp-for-route",
|
"grp-for-route",
|
||||||
"route",
|
"route",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"route with peer groups",
|
||||||
|
"grp-for-route2",
|
||||||
|
"route",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name server groups",
|
"name server groups",
|
||||||
"grp-for-name-server-grp",
|
"grp-for-name-server-grp",
|
||||||
@ -138,6 +143,14 @@ func initTestGroupAccount(am *DefaultAccountManager) (*Account, error) {
|
|||||||
Peers: make([]string, 0),
|
Peers: make([]string, 0),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
groupForRoute2 := &nbgroup.Group{
|
||||||
|
ID: "grp-for-route2",
|
||||||
|
AccountID: "account-id",
|
||||||
|
Name: "Group for route",
|
||||||
|
Issued: nbgroup.GroupIssuedAPI,
|
||||||
|
Peers: make([]string, 0),
|
||||||
|
}
|
||||||
|
|
||||||
groupForNameServerGroups := &nbgroup.Group{
|
groupForNameServerGroups := &nbgroup.Group{
|
||||||
ID: "grp-for-name-server-grp",
|
ID: "grp-for-name-server-grp",
|
||||||
AccountID: "account-id",
|
AccountID: "account-id",
|
||||||
@ -183,6 +196,11 @@ func initTestGroupAccount(am *DefaultAccountManager) (*Account, error) {
|
|||||||
Groups: []string{groupForRoute.ID},
|
Groups: []string{groupForRoute.ID},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
routePeerGroupResource := &route.Route{
|
||||||
|
ID: "example route with peer groups",
|
||||||
|
PeerGroups: []string{groupForRoute2.ID},
|
||||||
|
}
|
||||||
|
|
||||||
nameServerGroup := &nbdns.NameServerGroup{
|
nameServerGroup := &nbdns.NameServerGroup{
|
||||||
ID: "example name server group",
|
ID: "example name server group",
|
||||||
Groups: []string{groupForNameServerGroups.ID},
|
Groups: []string{groupForNameServerGroups.ID},
|
||||||
@ -209,6 +227,7 @@ func initTestGroupAccount(am *DefaultAccountManager) (*Account, error) {
|
|||||||
}
|
}
|
||||||
account := newAccountWithId(accountID, groupAdminUserID, domain)
|
account := newAccountWithId(accountID, groupAdminUserID, domain)
|
||||||
account.Routes[routeResource.ID] = routeResource
|
account.Routes[routeResource.ID] = routeResource
|
||||||
|
account.Routes[routePeerGroupResource.ID] = routePeerGroupResource
|
||||||
account.NameServerGroups[nameServerGroup.ID] = nameServerGroup
|
account.NameServerGroups[nameServerGroup.ID] = nameServerGroup
|
||||||
account.Policies = append(account.Policies, policy)
|
account.Policies = append(account.Policies, policy)
|
||||||
account.SetupKeys[setupKey.Id] = setupKey
|
account.SetupKeys[setupKey.Id] = setupKey
|
||||||
@ -220,6 +239,7 @@ func initTestGroupAccount(am *DefaultAccountManager) (*Account, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_ = am.SaveGroup(accountID, groupAdminUserID, groupForRoute)
|
_ = am.SaveGroup(accountID, groupAdminUserID, groupForRoute)
|
||||||
|
_ = am.SaveGroup(accountID, groupAdminUserID, groupForRoute2)
|
||||||
_ = am.SaveGroup(accountID, groupAdminUserID, groupForNameServerGroups)
|
_ = am.SaveGroup(accountID, groupAdminUserID, groupForNameServerGroups)
|
||||||
_ = am.SaveGroup(accountID, groupAdminUserID, groupForPolicies)
|
_ = am.SaveGroup(accountID, groupAdminUserID, groupForPolicies)
|
||||||
_ = am.SaveGroup(accountID, groupAdminUserID, groupForSetupKeys)
|
_ = am.SaveGroup(accountID, groupAdminUserID, groupForSetupKeys)
|
||||||
|
Loading…
Reference in New Issue
Block a user