1
0
mirror of https://github.com/mxpv/podsync.git synced 2024-05-11 05:55:04 +00:00
Files
mxpv-podsync/web/pkg/database/pg_test.go
2017-07-22 22:08:38 -07:00

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
}