From 7627d08914ab4cfa6fd73f17e586f4b0f1a0bbc1 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Mon, 19 Feb 2024 17:02:56 +0300 Subject: [PATCH] Revert "[#972] Use require.ElementsMatch() where possible" This reverts commit 6d9707ff1fcb70b5e6eaf6c1c7cd0a1af597f541. Signed-off-by: Evgenii Stratonikov --- pkg/local_object_storage/engine/list_test.go | 12 +++++++++++- .../metabase/containers_test.go | 12 +++++++++++- pkg/local_object_storage/metabase/list_test.go | 14 +++++++++++++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/pkg/local_object_storage/engine/list_test.go b/pkg/local_object_storage/engine/list_test.go index 4fc9569c..7bb1ac0f 100644 --- a/pkg/local_object_storage/engine/list_test.go +++ b/pkg/local_object_storage/engine/list_test.go @@ -3,6 +3,7 @@ package engine import ( "context" "path/filepath" + "sort" "testing" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/core/object" @@ -17,6 +18,13 @@ import ( "github.com/stretchr/testify/require" ) +func sortAddresses(addrWithType []object.AddressWithType) []object.AddressWithType { + sort.Slice(addrWithType, func(i, j int) bool { + return addrWithType[i].Address.EncodeToString() < addrWithType[j].Address.EncodeToString() + }) + return addrWithType +} + func TestListWithCursor(t *testing.T) { t.Parallel() @@ -90,6 +98,7 @@ func TestListWithCursor(t *testing.T) { require.NoError(t, err) expected = append(expected, object.AddressWithType{Type: objectSDK.TypeRegular, Address: object.AddressOf(obj)}) } + expected = sortAddresses(expected) var prm ListWithCursorPrm prm.count = tt.batchSize @@ -104,7 +113,8 @@ func TestListWithCursor(t *testing.T) { prm.cursor = res.Cursor() } - require.ElementsMatch(t, expected, got) + got = sortAddresses(got) + require.Equal(t, expected, got) }) } } diff --git a/pkg/local_object_storage/metabase/containers_test.go b/pkg/local_object_storage/metabase/containers_test.go index 66c56256..e7762ded 100644 --- a/pkg/local_object_storage/metabase/containers_test.go +++ b/pkg/local_object_storage/metabase/containers_test.go @@ -3,6 +3,7 @@ package meta_test import ( "context" "math/rand" + "sort" "testing" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/core/object" @@ -124,9 +125,18 @@ func TestDB_ContainersCount(t *testing.T) { } } + sort.Slice(expected, func(i, j int) bool { + return expected[i].EncodeToString() < expected[j].EncodeToString() + }) + got, err := db.Containers(context.Background()) require.NoError(t, err) - require.ElementsMatch(t, expected, got) + + sort.Slice(got, func(i, j int) bool { + return got[i].EncodeToString() < got[j].EncodeToString() + }) + + require.Equal(t, expected, got) } func TestDB_ContainerSize(t *testing.T) { diff --git a/pkg/local_object_storage/metabase/list_test.go b/pkg/local_object_storage/metabase/list_test.go index e1ccb4e0..25c0e35b 100644 --- a/pkg/local_object_storage/metabase/list_test.go +++ b/pkg/local_object_storage/metabase/list_test.go @@ -3,6 +3,7 @@ package meta_test import ( "context" "errors" + "sort" "testing" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/core/object" @@ -127,6 +128,8 @@ func TestLisObjectsWithCursor(t *testing.T) { expected = append(expected, object.AddressWithType{Address: object.AddressOf(child), Type: objectSDK.TypeRegular}) } + expected = sortAddresses(expected) + t.Run("success with various count", func(t *testing.T) { for countPerReq := 1; countPerReq <= total; countPerReq++ { got := make([]object.AddressWithType, 0, total) @@ -148,7 +151,9 @@ func TestLisObjectsWithCursor(t *testing.T) { _, _, err = metaListWithCursor(db, uint32(countPerReq), cursor) require.ErrorIs(t, err, meta.ErrEndOfListing, "count:%d", countPerReq, cursor) - require.ElementsMatch(t, expected, got, "count:%d", countPerReq) + + got = sortAddresses(got) + require.Equal(t, expected, got, "count:%d", countPerReq) } }) @@ -211,6 +216,13 @@ func TestAddObjectDuringListingWithCursor(t *testing.T) { } } +func sortAddresses(addrWithType []object.AddressWithType) []object.AddressWithType { + sort.Slice(addrWithType, func(i, j int) bool { + return addrWithType[i].Address.EncodeToString() < addrWithType[j].Address.EncodeToString() + }) + return addrWithType +} + func metaListWithCursor(db *meta.DB, count uint32, cursor *meta.Cursor) ([]object.AddressWithType, *meta.Cursor, error) { var listPrm meta.ListPrm listPrm.SetCount(count)