[#352] container: Implement iterators over attributes

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
Evgenii Stratonikov 2025-04-05 07:51:32 +03:00 committed by Evgenii Stratonikov
parent 88bc9eeb26
commit a0e4d16dbb
3 changed files with 133 additions and 7 deletions

View file

@ -2,6 +2,7 @@ package container_test
import (
"crypto/sha256"
"maps"
"strconv"
"testing"
"time"
@ -159,9 +160,9 @@ func TestContainer_Attribute(t *testing.T) {
val.SetAttribute(attrKey2, attrVal2)
var i int
val.IterateUserAttributes(func(key, val string) {
for range val.UserAttributes() {
i++
})
}
require.Equal(t, 1, i)
var msg v2container.Container
@ -177,11 +178,7 @@ func TestContainer_Attribute(t *testing.T) {
require.Equal(t, attrVal1, val2.Attribute(attrKey1))
require.Equal(t, attrVal2, val2.Attribute(attrKey2))
m := map[string]string{}
val2.IterateAttributes(func(key, val string) {
m[key] = val
})
m := maps.Collect(val2.Attributes())
require.GreaterOrEqual(t, len(m), 2)
require.Equal(t, attrVal1, m[attrKey1])