mirror of
https://github.com/mxpv/podsync.git
synced 2024-05-11 05:55:04 +00:00
52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package database
|
|
|
|
import (
|
|
"github.com/stretchr/testify/require"
|
|
"testing"
|
|
)
|
|
|
|
func TestCreate(t *testing.T) {
|
|
feed := &Feed{
|
|
HashId: "xyz",
|
|
URL: "http://youtube.com",
|
|
}
|
|
|
|
client := createClient(t)
|
|
err := client.CreateFeed(feed)
|
|
require.NoError(t, err)
|
|
require.True(t, feed.Id > 0)
|
|
}
|
|
|
|
func TestGetFeed(t *testing.T) {
|
|
feed := &Feed{
|
|
HashId: "xyz",
|
|
UserId: "123",
|
|
URL: "http://youtube.com",
|
|
}
|
|
|
|
client := createClient(t)
|
|
client.CreateFeed(feed)
|
|
|
|
out, err := client.GetFeed(WithUserId("123"))
|
|
require.NoError(t, err)
|
|
require.Equal(t, 1, len(out))
|
|
require.Equal(t, feed.Id, out[0].Id)
|
|
|
|
out, err = client.GetFeed(WithHashId("xyz"))
|
|
require.NoError(t, err)
|
|
require.Equal(t, 1, len(out))
|
|
require.Equal(t, feed.Id, out[0].Id)
|
|
}
|
|
|
|
const TestDatabaseConnectionUrl = "postgres://postgres:@localhost/podsync?sslmode=disable"
|
|
|
|
func createClient(t *testing.T) *PgStorage {
|
|
pg, err := NewPgStorage(&PgConfig{ConnectionUrl: TestDatabaseConnectionUrl})
|
|
require.NoError(t, err)
|
|
|
|
_, err = pg.db.Model(&Feed{}).Where("1=1").Delete()
|
|
require.NoError(t, err)
|
|
|
|
return pg
|
|
}
|