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  }