github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/core/ledger/kvledger/txmgmt/statemetadata/metadata_test.go (about) 1 /* 2 Copyright hechain. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package statemetadata 8 9 import ( 10 "testing" 11 12 "github.com/hyperledger/fabric-protos-go/ledger/rwset/kvrwset" 13 "github.com/stretchr/testify/require" 14 ) 15 16 func TestSerializeDeSerialize(t *testing.T) { 17 metadataEntries := []*kvrwset.KVMetadataEntry{} 18 metadataEntries = append(metadataEntries, &kvrwset.KVMetadataEntry{Name: "metadata_1", Value: []byte("metadata_value_1")}) 19 metadataEntries = append(metadataEntries, &kvrwset.KVMetadataEntry{Name: "metadata_2", Value: []byte("metadata_value_2")}) 20 metadataEntries = append(metadataEntries, &kvrwset.KVMetadataEntry{Name: "metadata_3", Value: []byte("metadata_value_3")}) 21 22 serializedMetadata, err := Serialize(metadataEntries) 23 require.NoError(t, err) 24 deserializedMetadata, err := Deserialize(serializedMetadata) 25 require.NoError(t, err) 26 27 expectedMetadata := map[string][]byte{ 28 "metadata_1": []byte("metadata_value_1"), 29 "metadata_2": []byte("metadata_value_2"), 30 "metadata_3": []byte("metadata_value_3"), 31 } 32 require.Equal(t, expectedMetadata, deserializedMetadata) 33 }