github.com/renegr87/renegr87@v2.1.1+incompatible/core/ledger/kvledger/txmgmt/statedb/statecouchdb/version_cache_test.go (about)

     1  /*
     2  Copyright IBM Corp. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package statecouchdb
     8  
     9  import (
    10  	"testing"
    11  
    12  	"github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/version"
    13  	"github.com/stretchr/testify/assert"
    14  )
    15  
    16  func TestVersionCache(t *testing.T) {
    17  	verCache := newVersionCache()
    18  	ver1 := version.NewHeight(1, 1)
    19  	ver2 := version.NewHeight(2, 2)
    20  	verCache.setVerAndRev("ns1", "key1", version.NewHeight(1, 1), "rev1")
    21  	verCache.setVerAndRev("ns2", "key2", version.NewHeight(2, 2), "rev2")
    22  
    23  	ver, found := verCache.getVersion("ns1", "key1")
    24  	assert.True(t, found)
    25  	assert.Equal(t, ver1, ver)
    26  
    27  	ver, found = verCache.getVersion("ns2", "key2")
    28  	assert.True(t, found)
    29  	assert.Equal(t, ver2, ver)
    30  
    31  	ver, found = verCache.getVersion("ns1", "key3")
    32  	assert.False(t, found)
    33  	assert.Nil(t, ver)
    34  
    35  	ver, found = verCache.getVersion("ns3", "key4")
    36  	assert.False(t, found)
    37  	assert.Nil(t, ver)
    38  }