mirror of
https://github.com/mxpv/podsync.git
synced 2024-05-11 05:55:04 +00:00
Implement Redis storage
This commit is contained in:
69
web/pkg/storage/redis_test.go
Normal file
69
web/pkg/storage/redis_test.go
Normal file
@@ -0,0 +1,69 @@
|
||||
package storage
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/mxpv/podsync/web/pkg/api"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestRedisStorage_GetFeed(t *testing.T) {
|
||||
t.Skip("run redis tests manually")
|
||||
|
||||
client := createRedisClient(t)
|
||||
|
||||
keys, err := client.keys()
|
||||
require.NoError(t, err)
|
||||
|
||||
require.True(t, len(keys) > 0)
|
||||
|
||||
for idx, key := range keys {
|
||||
if key == "keygen" {
|
||||
continue
|
||||
}
|
||||
|
||||
feed, err := client.GetFeed(key)
|
||||
require.NoError(t, err, "feed %s (id = %d) failed", key, idx)
|
||||
require.NotNil(t, feed)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRedisStorage_CreateFeed(t *testing.T) {
|
||||
t.Skip("run redis tests manually")
|
||||
|
||||
client := createRedisClient(t)
|
||||
|
||||
hashId := strconv.FormatInt(time.Now().UTC().UnixNano(), 10)
|
||||
|
||||
err := client.CreateFeed(&api.Feed{
|
||||
Id: 123,
|
||||
HashId: hashId,
|
||||
UserId: "321",
|
||||
URL: "https://youtube.com/123",
|
||||
PageSize: 45,
|
||||
Quality: api.LowQuality,
|
||||
Format: api.AudioFormat,
|
||||
})
|
||||
|
||||
require.NoError(t, err)
|
||||
|
||||
feed, err := client.GetFeed(hashId)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, int64(123), feed.Id)
|
||||
require.Equal(t, hashId, feed.HashId)
|
||||
require.Equal(t, "321", feed.UserId)
|
||||
require.Equal(t, "https://youtube.com/123", feed.URL)
|
||||
require.Equal(t, 45, feed.PageSize)
|
||||
require.Equal(t, api.LowQuality, feed.Quality)
|
||||
require.Equal(t, api.AudioFormat, feed.Format)
|
||||
}
|
||||
|
||||
func createRedisClient(t *testing.T) *RedisStorage {
|
||||
client, err := NewRedisStorage("redis://localhost")
|
||||
require.NoError(t, err)
|
||||
|
||||
return client
|
||||
}
|
Reference in New Issue
Block a user