diff --git a/sqlite3/sqlite3.go b/sqlite3/sqlite3.go index 83e7bdb0..5816317c 100644 --- a/sqlite3/sqlite3.go +++ b/sqlite3/sqlite3.go @@ -85,7 +85,7 @@ func (s *Storage) Get(key string) ([]byte, error) { // If the expiration time has already passed, then return nil if time.Now().After(time.Unix(exp, 0)) { - return nil, nil + return []byte{}, nil } return data, nil diff --git a/sqlite3/sqlite3_test.go b/sqlite3/sqlite3_test.go index 4f24317a..7984af23 100644 --- a/sqlite3/sqlite3_test.go +++ b/sqlite3/sqlite3_test.go @@ -1 +1,41 @@ package sqlite3 + +import ( + "testing" + "time" + + "github.com/gofiber/fiber/v2/utils" + _ "github.com/mattn/go-sqlite3" +) + +func getConfig() Config { + cfg := configDefault(Config{}) + cfg.FilePath = ":memory:" + + return cfg +} + +func Test_New(t *testing.T) { + New() +} + +func Test_Get_Set(t *testing.T) { + s := New(getConfig()) + err := s.Set("fiber-10k-stars?", []byte("yes!"), time.Duration(time.Hour*1)) + utils.AssertEqual(t, nil, err) + + b, err := s.Get("fiber-10k-stars?") + utils.AssertEqual(t, nil, err) + utils.AssertEqual(t, []byte("yes!"), b) +} + +func Test_Expiration(t *testing.T) { + s := New(getConfig()) + + err := s.Set("fiber-20k-stars?", []byte("yes!"), time.Duration(time.Nanosecond/2)) + utils.AssertEqual(t, nil, err) + + b, err := s.Get("fiber-20k-stars?") + utils.AssertEqual(t, nil, err) + utils.AssertEqual(t, []byte{}, b) +}