1
0
mirror of https://github.com/mxpv/podsync.git synced 2024-05-11 05:55:04 +00:00
mxpv-podsync/pkg/storage/redis_test.go
2017-08-20 18:49:50 -07:00

72 lines
1.5 KiB
Go

package storage
import (
"strconv"
"testing"
"time"
"github.com/mxpv/podsync/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{
HashId: hashId,
UserId: "321",
Provider: api.Youtube,
LinkType: api.Channel,
ItemId: "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, hashId, feed.HashId)
require.Equal(t, "321", feed.UserId)
require.Equal(t, api.Youtube, feed.Provider)
require.Equal(t, api.Channel, feed.LinkType)
require.Equal(t, "123", feed.ItemId)
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
}