68 lines
2.5 KiB
Go
68 lines
2.5 KiB
Go
package migrator
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
bolt "go.etcd.io/bbolt"
|
|
|
|
"github.com/umputun/remark42/backend/app/store"
|
|
"github.com/umputun/remark42/backend/app/store/admin"
|
|
"github.com/umputun/remark42/backend/app/store/engine"
|
|
"github.com/umputun/remark42/backend/app/store/service"
|
|
)
|
|
|
|
func TestCommento_Import(t *testing.T) {
|
|
defer os.Remove("/tmp/remark-test.db")
|
|
b, err := engine.NewBoltDB(bolt.Options{}, engine.BoltSite{FileName: "/tmp/remark-test.db", SiteID: "test"})
|
|
require.NoError(t, err, "create store")
|
|
dataStore := service.DataStore{Engine: b, AdminStore: admin.NewStaticStore("12345", nil, []string{}, "")}
|
|
defer dataStore.Close()
|
|
|
|
d := Commento{DataStore: &dataStore}
|
|
fh, err := os.Open("testdata/commento.json")
|
|
require.NoError(t, err)
|
|
size, err := d.Import(fh, "test")
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, 3, size)
|
|
|
|
last, err := dataStore.Last("test", 10, time.Time{}, adminUser)
|
|
assert.NoError(t, err)
|
|
require.Equal(t, 3, len(last), "3 comments imported")
|
|
|
|
t.Log(last[0])
|
|
|
|
c := last[0] // last reverses, get first one
|
|
assert.Equal(t, "Great reply!", c.Text)
|
|
assert.Equal(t, "ea5f7bcd6ac9bb7b657f7d0569831104e1bcf9c253d03c1e16bf9654c49a5ce9", c.ID)
|
|
assert.Equal(t, "7d77e39fcd813241d6281478cc8f21ab5f807d043c750bc1a936bc23b34fb854", c.ParentID)
|
|
assert.Equal(t, store.Locator{SiteID: "test", URL: "https://example.com/blog/post/1"}, c.Locator)
|
|
assert.Equal(t, "Saturnin Uf", c.User.Name)
|
|
assert.Equal(t, "commento_35369aeb6ac5255de30410a0f86dc71eb9c6d0ca", c.User.ID)
|
|
assert.True(t, c.Imported)
|
|
|
|
c = last[2] // anonymous comment
|
|
assert.Equal(t, "Example comment created by user.", c.Text)
|
|
assert.Equal(t, "e7069a7dfcfaed43caf62300a9b0edb1c124ad79d0f5887c93649c15d7f69945", c.ID)
|
|
assert.Equal(t, "", c.ParentID)
|
|
assert.Equal(t, store.Locator{SiteID: "test", URL: "https://example.com/blog/post/2"}, c.Locator)
|
|
assert.Equal(t, "Anonymous", c.User.Name)
|
|
assert.Equal(t, "commento_0a92fab3230134cca6eadd9898325b9b2ae67998", c.User.ID)
|
|
assert.True(t, c.Imported)
|
|
|
|
posts, err := dataStore.List("test", 0, 0)
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, 2, len(posts), "2 posts")
|
|
|
|
count, err := dataStore.Count(store.Locator{SiteID: "test", URL: "https://example.com/blog/post/1"})
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, 2, count)
|
|
|
|
count, err = dataStore.Count(store.Locator{SiteID: "test", URL: "https://example.com/blog/post/2"})
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, 1, count)
|
|
}
|