mirror of
https://github.com/photoprism/photoprism.git
synced 2025-09-26 21:01:58 +08:00
90 lines
2.6 KiB
Go
90 lines
2.6 KiB
Go
package config
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestConfig_BackupPath(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
assert.Contains(t, c.BackupPath(""), "/storage/testdata/backup")
|
|
}
|
|
|
|
func TestConfig_BackupBasePath(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
assert.Contains(t, c.BackupBasePath(), "/storage/testdata/backup")
|
|
path := c.options.BackupPath
|
|
c.options.BackupPath = "./"
|
|
assert.Contains(t, c.BackupBasePath(), "/photoprism/internal/config")
|
|
c.options.BackupPath = path
|
|
}
|
|
|
|
func TestConfig_BackupSchedule(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
assert.Contains(t, c.BackupSchedule(), " * * *")
|
|
schedule := c.options.BackupSchedule
|
|
c.options.BackupSchedule = ""
|
|
assert.Equal(t, "", c.BackupSchedule())
|
|
c.options.BackupSchedule = "invalid"
|
|
assert.Equal(t, "", c.BackupSchedule())
|
|
c.options.BackupSchedule = schedule
|
|
}
|
|
|
|
func TestConfig_BackupRetain(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
assert.Equal(t, DefaultBackupRetain, c.BackupRetain())
|
|
retain := c.options.BackupRetain
|
|
c.options.BackupRetain = -3
|
|
assert.Equal(t, -1, c.BackupRetain())
|
|
c.options.BackupRetain = 0
|
|
assert.Equal(t, DefaultBackupRetain, c.BackupRetain())
|
|
c.options.BackupRetain = retain
|
|
}
|
|
|
|
func TestConfig_BackupDatabase(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
assert.True(t, c.BackupDatabase())
|
|
c.options.DisableBackups = true
|
|
assert.False(t, c.BackupDatabase())
|
|
c.options.DisableBackups = false
|
|
c.options.BackupDatabase = false
|
|
assert.False(t, c.BackupDatabase())
|
|
c.options.BackupDatabase = true
|
|
assert.True(t, c.BackupDatabase())
|
|
}
|
|
|
|
func TestConfig_BackupDatabasePath(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
// Ensure DB defaults (SQLite) so path resolves to sqlite backup path
|
|
c.options.DatabaseDriver = ""
|
|
c.options.DatabaseDsn = ""
|
|
assert.Contains(t, c.BackupDatabasePath(), "/storage/testdata/backup/sqlite")
|
|
}
|
|
|
|
func TestConfig_BackupAlbums(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
assert.True(t, c.BackupAlbums())
|
|
c.options.DisableBackups = true
|
|
assert.False(t, c.BackupAlbums())
|
|
c.options.DisableBackups = false
|
|
c.options.BackupAlbums = false
|
|
assert.False(t, c.BackupAlbums())
|
|
c.options.BackupAlbums = true
|
|
assert.True(t, c.BackupAlbums())
|
|
}
|
|
|
|
func TestConfig_BackupAlbumsPath(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
assert.Contains(t, c.BackupAlbumsPath(), "/albums")
|
|
}
|
|
|
|
func TestConfig_DisableBackups(t *testing.T) {
|
|
c := NewConfig(CliTestContext())
|
|
assert.False(t, c.DisableBackups())
|
|
c.options.DisableBackups = true
|
|
assert.True(t, c.DisableBackups())
|
|
c.options.DisableBackups = false
|
|
assert.False(t, c.DisableBackups())
|
|
}
|