diff --git a/pool/cache_test.go b/pool/cache_test.go index 63350c98..90983058 100644 --- a/pool/cache_test.go +++ b/pool/cache_test.go @@ -4,6 +4,9 @@ import ( "testing" "time" + "github.com/nspcc-dev/neo-go/pkg/crypto/keys" + "github.com/nspcc-dev/neofs-sdk-go/session" + sessiontest "github.com/nspcc-dev/neofs-sdk-go/session/test" "github.com/stretchr/testify/require" ) @@ -29,3 +32,32 @@ func TestSessionCache_GetAccessTime(t *testing.T) { require.True(t, ok) require.NotEqual(t, t1, t3) } + +func TestSessionCache_GetUnmodifiedToken(t *testing.T) { + const key = "Foo" + target := sessiontest.Token() + + pk, err := keys.NewPrivateKey() + require.NoError(t, err) + + check := func(t *testing.T, tok *session.Token, extra string) { + require.Empty(t, tok.Signature().Sign(), extra) + require.Nil(t, tok.Context(), extra) + } + + cache, err := NewCache() + require.NoError(t, err) + + cache.Put(key, target) + value := cache.Get(key) + check(t, value, "before sign") + + err = value.Sign(&pk.PrivateKey) + require.NoError(t, err) + + octx := sessiontest.ObjectContext() + value.SetContext(octx) + + value = cache.Get(key) + check(t, value, "after sign") +}