mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-21 04:49:10 +02:00
updated 'resource-routing-bridge/router-peer-change refreshes policy sources' test to expect router peer among changed peer ids
Signed-off-by: Dmitri Dolguikh <dmitri.external@netbird.io>
This commit is contained in:
@@ -8,6 +8,10 @@ import (
|
|||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"github.com/netbirdio/netbird/management/server/affectedpeers"
|
"github.com/netbirdio/netbird/management/server/affectedpeers"
|
||||||
|
resourceTypes "github.com/netbirdio/netbird/management/server/networks/resources/types"
|
||||||
|
networkTypes "github.com/netbirdio/netbird/management/server/networks/types"
|
||||||
|
"github.com/netbirdio/netbird/management/server/posture"
|
||||||
|
"github.com/netbirdio/netbird/management/server/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestAffectedPeers_DependencyCoverageMatrix enumerates each network-map
|
// TestAffectedPeers_DependencyCoverageMatrix enumerates each network-map
|
||||||
@@ -22,88 +26,76 @@ func TestAffectedPeers_DependencyCoverageMatrix(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rows := []row{
|
rows := []row{
|
||||||
<<<<<<< Updated upstream
|
|
||||||
{
|
{
|
||||||
name: "policy-groups/source-group-change refreshes source+routing, excludes unrelated",
|
name: "policy-groups/source-group-change refreshes source+routing, excludes unrelated",
|
||||||
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
||||||
_, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
_, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
return affectedpeers.Change{ChangedGroupIDs: []string{s.sourceGroupID}},
|
return affectedpeers.Change{ChangedGroupIDs: []string{s.sourceGroupID}},
|
||||||
[]string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID} // TODO (dmitri) routerPeer is missing
|
[]string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
=======
|
|
||||||
// {
|
|
||||||
// name: "policy-groups/source-group-change refreshes source+routing, excludes unrelated",
|
|
||||||
// build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
|
||||||
// _, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
|
||||||
// require.NoError(t, err)
|
|
||||||
// return affectedpeers.Change{ChangedGroupIDs: []string{s.sourceGroupID}},
|
|
||||||
// []string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
>>>>>>> Stashed changes
|
|
||||||
{
|
{
|
||||||
name: "resource-routing-bridge/router-peer-change refreshes policy sources",
|
name: "resource-routing-bridge/router-peer-change refreshes policy sources",
|
||||||
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
||||||
_, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
_, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
return affectedpeers.Change{ChangedPeerIDs: []string{s.routerPeerID}},
|
return affectedpeers.Change{ChangedPeerIDs: []string{s.routerPeerID}},
|
||||||
[]string{s.sourcePeerID}, []string{s.unrelatedPeerID}
|
[]string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "policy-change/explicit-policy refreshes source+routing",
|
||||||
|
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
||||||
|
policy := peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID)
|
||||||
|
return affectedpeers.Change{Policies: []*types.Policy{policy}},
|
||||||
|
[]string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "policy-destinationresource/explicit-policy bridges to routing peer",
|
||||||
|
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
||||||
|
policy := peerToResourcePolicyByResource(s.sourceGroupID, s.resourceID)
|
||||||
|
return affectedpeers.Change{Policies: []*types.Policy{policy}},
|
||||||
|
[]string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "resource-change refreshes source+routing on its network",
|
||||||
|
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
||||||
|
_, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
||||||
|
require.NoError(t, err)
|
||||||
|
return affectedpeers.Change{Resources: []*resourceTypes.NetworkResource{
|
||||||
|
{ID: s.resourceID, NetworkID: s.networkID, GroupIDs: []string{s.resourceGroupID}},
|
||||||
|
}},
|
||||||
|
[]string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "network-change refreshes source+routing on that network",
|
||||||
|
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
||||||
|
_, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
||||||
|
require.NoError(t, err)
|
||||||
|
return affectedpeers.Change{Networks: []*networkTypes.Network{{ID: s.networkID}}},
|
||||||
|
[]string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "posture-check-change refreshes source+routing of gated policy",
|
||||||
|
build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
||||||
|
check, err := s.manager.SavePostureChecks(ctx, s.accountID, userID, &posture.Checks{
|
||||||
|
Name: "cov-min-version",
|
||||||
|
Checks: posture.ChecksDefinition{NBVersionCheck: &posture.NBVersionCheck{MinVersion: "0.30.0"}},
|
||||||
|
}, true)
|
||||||
|
require.NoError(t, err)
|
||||||
|
policy := peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID)
|
||||||
|
policy.SourcePostureChecks = []string{check.ID}
|
||||||
|
_, err = s.manager.SavePolicy(ctx, s.accountID, userID, policy, true)
|
||||||
|
require.NoError(t, err)
|
||||||
|
return affectedpeers.Change{PostureCheckIDs: []string{check.ID}},
|
||||||
|
[]string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// name: "policy-change/explicit-policy refreshes source+routing",
|
|
||||||
// build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
|
||||||
// policy := peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID)
|
|
||||||
// return affectedpeers.Change{Policies: []*types.Policy{policy}},
|
|
||||||
// []string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: "policy-destinationresource/explicit-policy bridges to routing peer",
|
|
||||||
// build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
|
||||||
// policy := peerToResourcePolicyByResource(s.sourceGroupID, s.resourceID)
|
|
||||||
// return affectedpeers.Change{Policies: []*types.Policy{policy}},
|
|
||||||
// []string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: "resource-change refreshes source+routing on its network",
|
|
||||||
// build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
|
||||||
// _, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
|
||||||
// require.NoError(t, err)
|
|
||||||
// return affectedpeers.Change{Resources: []*resourceTypes.NetworkResource{
|
|
||||||
// {ID: s.resourceID, NetworkID: s.networkID, GroupIDs: []string{s.resourceGroupID}},
|
|
||||||
// }},
|
|
||||||
// []string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: "network-change refreshes source+routing on that network",
|
|
||||||
// build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
|
||||||
// _, err := s.manager.SavePolicy(ctx, s.accountID, userID, peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID), true)
|
|
||||||
// require.NoError(t, err)
|
|
||||||
// return affectedpeers.Change{Networks: []*networkTypes.Network{{ID: s.networkID}}},
|
|
||||||
// []string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// name: "posture-check-change refreshes source+routing of gated policy",
|
|
||||||
// build: func(t *testing.T, s *routerScenario, ctx context.Context) (affectedpeers.Change, []string, []string) {
|
|
||||||
// check, err := s.manager.SavePostureChecks(ctx, s.accountID, userID, &posture.Checks{
|
|
||||||
// Name: "cov-min-version",
|
|
||||||
// Checks: posture.ChecksDefinition{NBVersionCheck: &posture.NBVersionCheck{MinVersion: "0.30.0"}},
|
|
||||||
// }, true)
|
|
||||||
// require.NoError(t, err)
|
|
||||||
// policy := peerToResourcePolicyByGroup(s.sourceGroupID, s.resourceGroupID)
|
|
||||||
// policy.SourcePostureChecks = []string{check.ID}
|
|
||||||
// _, err = s.manager.SavePolicy(ctx, s.accountID, userID, policy, true)
|
|
||||||
// require.NoError(t, err)
|
|
||||||
// return affectedpeers.Change{PostureCheckIDs: []string{check.ID}},
|
|
||||||
// []string{s.sourcePeerID, s.routerPeerID}, []string{s.unrelatedPeerID}
|
|
||||||
// },
|
|
||||||
// },
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, r := range rows {
|
for _, r := range rows {
|
||||||
|
|||||||
Reference in New Issue
Block a user