| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package repository
- import (
- "context"
- "testing"
- "time"
- "github.com/Wei-Shaw/sub2api/internal/service"
- "github.com/alicebob/miniredis/v2"
- "github.com/redis/go-redis/v9"
- "github.com/stretchr/testify/require"
- )
- func TestImageTaskStoreRoundTripAndTTL(t *testing.T) {
- mr := miniredis.RunT(t)
- rdb := redis.NewClient(&redis.Options{Addr: mr.Addr()})
- t.Cleanup(func() { _ = rdb.Close() })
- store := NewImageTaskStore(rdb)
- task := &service.ImageTaskRecord{
- ID: "imgtask_123",
- UserID: 7,
- APIKeyID: 9,
- Status: service.ImageTaskStatusProcessing,
- CreatedAt: 100,
- ExpiresAt: 200,
- }
- require.NoError(t, store.Save(context.Background(), task, 24*time.Hour))
- got, err := store.Get(context.Background(), task.ID)
- require.NoError(t, err)
- require.Equal(t, task, got)
- require.Equal(t, 24*time.Hour, mr.TTL(imageTaskKey(task.ID)))
- }
- func TestImageTaskStoreMissing(t *testing.T) {
- mr := miniredis.RunT(t)
- rdb := redis.NewClient(&redis.Options{Addr: mr.Addr()})
- t.Cleanup(func() { _ = rdb.Close() })
- store := NewImageTaskStore(rdb)
- _, err := store.Get(context.Background(), "imgtask_missing")
- require.ErrorIs(t, err, service.ErrImageTaskNotFound)
- }
|