Skip to content

Commit 76f46d5

Browse files
authored
test: sort npm set policy values before validation (#3358)
* sort set policy values before validation * address linter issues * sort expected values * address feedback
1 parent 4824a8b commit 76f46d5

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

npm/pkg/dataplane/ipsets/ipsetmanager_windows_test.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package ipsets
22

33
import (
4-
"fmt"
4+
"sort"
5+
"strings"
56
"testing"
67

78
"github.com/Azure/azure-container-networking/common"
@@ -375,11 +376,25 @@ func TestFailureOnDeletion(t *testing.T) {
375376
verifyDeletedHNSCache(t, toDeleteSetNames, hns)
376377
}
377378

379+
// sorts the Values field of the hcn set policy setting and returns a copy with sorted values
380+
func getSortedHnsPolicySetting(setting *hcn.SetPolicySetting) hcn.SetPolicySetting {
381+
members := strings.Split(setting.Values, ",")
382+
sort.Strings(members)
383+
copyOfSetting := *setting
384+
copyOfSetting.Values = strings.Join(members, ",")
385+
return copyOfSetting
386+
}
387+
378388
func verifyHNSCache(t *testing.T, expected map[string]hcn.SetPolicySetting, hns *hnswrapper.Hnsv2wrapperFake) {
379389
for setName, setObj := range expected {
380390
cacheObj := hns.Cache.SetPolicy(setObj.Id)
381391
require.NotNil(t, cacheObj)
382-
require.Equal(t, setObj, *cacheObj, fmt.Sprintf("%s mismatch in cache", setName))
392+
393+
// make values always sorted for testing consistency
394+
copyOfCachedObj := getSortedHnsPolicySetting(cacheObj)
395+
copyOfExpectedObj := getSortedHnsPolicySetting(&setObj)
396+
397+
require.Equal(t, copyOfExpectedObj, copyOfCachedObj, setName+" mismatch in cache")
383398
}
384399
}
385400

0 commit comments

Comments
 (0)