github.com/blend/go-sdk@v1.20240719.1/web/local_session_cache_test.go (about)

     1  /*
     2  
     3  Copyright (c) 2024 - Present. Blend Labs, Inc. All rights reserved
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file.
     5  
     6  */
     7  
     8  package web
     9  
    10  import (
    11  	"context"
    12  	"testing"
    13  
    14  	"github.com/blend/go-sdk/assert"
    15  )
    16  
    17  func TestLocalSessionCache(t *testing.T) {
    18  	assert := assert.New(t)
    19  
    20  	lsc := NewLocalSessionCache()
    21  
    22  	session := &Session{UserID: "example-string", SessionID: NewSessionID()}
    23  	assert.Nil(lsc.PersistHandler(context.TODO(), session))
    24  
    25  	fetched, err := lsc.FetchHandler(context.TODO(), session.SessionID)
    26  	assert.Nil(err)
    27  	assert.Equal(session.UserID, fetched.UserID)
    28  
    29  	assert.Nil(lsc.RemoveHandler(context.TODO(), session.SessionID))
    30  
    31  	removed, err := lsc.FetchHandler(context.TODO(), session.SessionID)
    32  	assert.Nil(err)
    33  	assert.Nil(removed)
    34  }