Skip to content

Commit d64f76f

Browse files
committed
metadata_test
Signed-off-by: Angelo De Caro <adc@zurich.ibm.com>
1 parent dbcc8da commit d64f76f

1 file changed

Lines changed: 74 additions & 0 deletions

File tree

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
package meta
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
)
8+
9+
func TestTransferActionMetadata(t *testing.T) {
10+
tests := []struct {
11+
name string
12+
attrs map[interface{}]interface{}
13+
expected map[string][]byte
14+
}{
15+
{
16+
name: "Basic metadata extraction",
17+
attrs: map[interface{}]interface{}{
18+
"TransferMetadataPrefixKey1": []byte("value1"),
19+
"TransferMetadataPrefixKey2": []byte("value2"),
20+
},
21+
expected: map[string][]byte{
22+
"Key1": []byte("value1"),
23+
"Key2": []byte("value2"),
24+
},
25+
},
26+
{
27+
name: "Empty attrs",
28+
attrs: map[interface{}]interface{}{},
29+
expected: map[string][]byte{},
30+
},
31+
{
32+
name: "Non-string keys",
33+
attrs: map[interface{}]interface{}{
34+
123: []byte("value"),
35+
},
36+
expected: map[string][]byte{},
37+
},
38+
{
39+
name: "Invalid value types",
40+
attrs: map[interface{}]interface{}{
41+
"TransferMetadataPrefixKey": 123,
42+
},
43+
expected: map[string][]byte{},
44+
},
45+
{
46+
name: "Exact prefix match",
47+
attrs: map[interface{}]interface{}{
48+
"TransferMetadataPrefix": []byte("value"),
49+
},
50+
expected: map[string][]byte{
51+
"": []byte("value"),
52+
},
53+
},
54+
{
55+
name: "No prefix match",
56+
attrs: map[interface{}]interface{}{
57+
"WrongPrefixKey": []byte("value"),
58+
},
59+
expected: map[string][]byte{},
60+
},
61+
}
62+
63+
for _, tt := range tests {
64+
t.Run(tt.name, func(t *testing.T) {
65+
result := TransferActionMetadata(tt.attrs)
66+
assert.Equal(t, len(result), len(tt.expected), "Expected %d items, got %d", len(tt.expected), len(result))
67+
for key, value := range tt.expected {
68+
gotValue, ok := result[key]
69+
assert.True(t, ok, "Expected key %s to exist in result", key)
70+
assert.Equal(t, value, gotValue, "Expected value for %s: %v, got: %v", key, value, gotValue)
71+
}
72+
})
73+
}
74+
}

0 commit comments

Comments
 (0)