git.frostfs.info/TrueCloudLab/frostfs-sdk-go@v0.0.0-20241022124111-5361f0ecebd3/pool/cache_test.go (about)

     1  package pool
     2  
     3  import (
     4  	"testing"
     5  
     6  	"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/session"
     7  	sessiontest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/session/test"
     8  	"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestSessionCache_GetUnmodifiedToken(t *testing.T) {
    13  	const key = "Foo"
    14  	target := *sessiontest.Object()
    15  
    16  	pk, err := keys.NewPrivateKey()
    17  	require.NoError(t, err)
    18  
    19  	check := func(t *testing.T, tok session.Object, extra string) {
    20  		require.False(t, tok.VerifySignature(), extra)
    21  	}
    22  
    23  	cache, err := newCache(0)
    24  	require.NoError(t, err)
    25  
    26  	cache.Put(key, target)
    27  	value, ok := cache.Get(key)
    28  	require.True(t, ok)
    29  	check(t, value, "before sign")
    30  
    31  	err = value.Sign(pk.PrivateKey)
    32  	require.NoError(t, err)
    33  
    34  	value, ok = cache.Get(key)
    35  	require.True(t, ok)
    36  	check(t, value, "after sign")
    37  }