123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- // Copyright 2021 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
-
- package cache
-
- import (
- "fmt"
- "testing"
- "time"
-
- "code.gitea.io/gitea/modules/setting"
-
- "github.com/stretchr/testify/assert"
- )
-
- func createTestCache() {
- defaultCache, _ = NewStringCache(setting.Cache{
- Adapter: "memory",
- TTL: time.Minute,
- })
- setting.CacheService.TTL = 24 * time.Hour
- }
-
- func TestNewContext(t *testing.T) {
- assert.NoError(t, Init())
-
- setting.CacheService.Cache = setting.Cache{Adapter: "redis", Conn: "some random string"}
- con, err := NewStringCache(setting.Cache{
- Adapter: "rand",
- Conn: "false conf",
- Interval: 100,
- })
- assert.Error(t, err)
- assert.Nil(t, con)
- }
-
- func TestGetCache(t *testing.T) {
- createTestCache()
-
- assert.NotNil(t, GetCache())
- }
-
- func TestGetString(t *testing.T) {
- createTestCache()
-
- data, err := GetString("key", func() (string, error) {
- return "", fmt.Errorf("some error")
- })
- assert.Error(t, err)
- assert.Equal(t, "", data)
-
- data, err = GetString("key", func() (string, error) {
- return "", nil
- })
- assert.NoError(t, err)
- assert.Equal(t, "", data)
-
- data, err = GetString("key", func() (string, error) {
- return "some data", nil
- })
- assert.NoError(t, err)
- assert.Equal(t, "", data)
- Remove("key")
-
- data, err = GetString("key", func() (string, error) {
- return "some data", nil
- })
- assert.NoError(t, err)
- assert.Equal(t, "some data", data)
-
- data, err = GetString("key", func() (string, error) {
- return "", fmt.Errorf("some error")
- })
- assert.NoError(t, err)
- assert.Equal(t, "some data", data)
- Remove("key")
- }
-
- func TestGetInt64(t *testing.T) {
- createTestCache()
-
- data, err := GetInt64("key", func() (int64, error) {
- return 0, fmt.Errorf("some error")
- })
- assert.Error(t, err)
- assert.EqualValues(t, 0, data)
-
- data, err = GetInt64("key", func() (int64, error) {
- return 0, nil
- })
- assert.NoError(t, err)
- assert.EqualValues(t, 0, data)
-
- data, err = GetInt64("key", func() (int64, error) {
- return 100, nil
- })
- assert.NoError(t, err)
- assert.EqualValues(t, 0, data)
- Remove("key")
-
- data, err = GetInt64("key", func() (int64, error) {
- return 100, nil
- })
- assert.NoError(t, err)
- assert.EqualValues(t, 100, data)
-
- data, err = GetInt64("key", func() (int64, error) {
- return 0, fmt.Errorf("some error")
- })
- assert.NoError(t, err)
- assert.EqualValues(t, 100, data)
- Remove("key")
- }
|