photoprism/internal/form/account_test.go
Michael Mayer 3aad02501f Run unit tests in separate databases to avoid conflicts
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 19:34:29 +02:00

56 lines
1.8 KiB
Go

package form
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestNewAccount(t *testing.T) {
t.Run("success", func(t *testing.T) {
account := Account{AccName: "Foo", AccOwner: "bar", AccURL: "test.com", AccType: "test", AccKey: "123", AccUser: "testuser", AccPass: "testpass",
AccError: "", AccShare: true, AccSync: true, RetryLimit: 4, SharePath: "/home", ShareSize: "500", ShareExpires: 3500, SyncPath: "/sync",
SyncInterval: 5, SyncUpload: true, SyncDownload: false, SyncFilenames: true, SyncRaw: false}
r, err := NewAccount(account)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, "Foo", r.AccName)
assert.Equal(t, "bar", r.AccOwner)
assert.Equal(t, "test.com", r.AccURL)
assert.Equal(t, "test", r.AccType)
assert.Equal(t, "123", r.AccKey)
assert.Equal(t, "testuser", r.AccUser)
assert.Equal(t, "testpass", r.AccPass)
assert.Equal(t, "", r.AccError)
assert.Equal(t, false, r.SyncDownload)
assert.Equal(t, true, r.AccShare)
assert.Equal(t, true, r.AccSync)
assert.Equal(t, 4, r.RetryLimit)
assert.Equal(t, "/home", r.SharePath)
assert.Equal(t, "500", r.ShareSize)
assert.Equal(t, 3500, r.ShareExpires)
assert.Equal(t, "/sync", r.SyncPath)
assert.Equal(t, 5, r.SyncInterval)
assert.Equal(t, true, r.SyncUpload)
assert.Equal(t, true, r.SyncFilenames)
assert.Equal(t, false, r.SyncRaw)
})
}
func TestAccount_ServiceDiscovery(t *testing.T) {
t.Run("error = nil", func(t *testing.T) {
account := Account{AccName: "Foo", AccOwner: "bar", AccURL: "test.com", AccType: "test", SyncDownload: false, AccShare: true}
err := account.ServiceDiscovery()
assert.Equal(t, nil, err)
})
t.Run("error != nil", func(t *testing.T) {
account := Account{AccName: "XXX", AccOwner: "bar"}
err := account.ServiceDiscovery()
assert.Equal(t, "service URL is empty", err.Error())
})
}