mirror of https://github.com/portainer/portainer
39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
|
package edgestacks
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
portainer "github.com/portainer/portainer/api"
|
||
|
"github.com/portainer/portainer/api/internal/testhelpers"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func Test_updateEndpointRelation_successfulRuns(t *testing.T) {
|
||
|
edgeStackID := portainer.EdgeStackID(5)
|
||
|
endpointRelations := []portainer.EndpointRelation{
|
||
|
{EndpointID: 1, EdgeStacks: map[portainer.EdgeStackID]bool{}},
|
||
|
{EndpointID: 2, EdgeStacks: map[portainer.EdgeStackID]bool{}},
|
||
|
{EndpointID: 3, EdgeStacks: map[portainer.EdgeStackID]bool{}},
|
||
|
{EndpointID: 4, EdgeStacks: map[portainer.EdgeStackID]bool{}},
|
||
|
{EndpointID: 5, EdgeStacks: map[portainer.EdgeStackID]bool{}},
|
||
|
}
|
||
|
|
||
|
relatedIds := []portainer.EndpointID{2, 3}
|
||
|
|
||
|
dataStore := testhelpers.NewDatastore(testhelpers.WithEndpointRelations(endpointRelations))
|
||
|
|
||
|
err := updateEndpointRelations(dataStore.EndpointRelation(), edgeStackID, relatedIds)
|
||
|
|
||
|
assert.NoError(t, err, "updateEndpointRelations should not fail")
|
||
|
|
||
|
relatedSet := map[portainer.EndpointID]bool{}
|
||
|
for _, relationID := range relatedIds {
|
||
|
relatedSet[relationID] = true
|
||
|
}
|
||
|
|
||
|
for _, relation := range endpointRelations {
|
||
|
shouldBeRelated := relatedSet[relation.EndpointID]
|
||
|
assert.Equal(t, shouldBeRelated, relation.EdgeStacks[edgeStackID])
|
||
|
}
|
||
|
}
|