mirror of
https://github.com/photoprism/photoprism.git
synced 2026-01-23 02:24:24 +00:00
Tests: Add unit tests #4294
This commit is contained in:
parent
acf7fbf20e
commit
a03865b0f0
4 changed files with 260 additions and 0 deletions
|
|
@ -29,6 +29,38 @@ func TestAlbums(t *testing.T) {
|
|||
|
||||
assert.Equal(t, 30, count)
|
||||
|
||||
count, err = Albums(backupPath, false)
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
assert.Equal(t, 0, count)
|
||||
|
||||
if err = os.RemoveAll(backupPath); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRestoreAlbums(t *testing.T) {
|
||||
backupPath, err := filepath.Abs("./testdata/albums")
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err = os.MkdirAll(backupPath, fs.ModeDir); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
count, err := RestoreAlbums(backupPath, true)
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
assert.Equal(t, 0, count)
|
||||
|
||||
if err = os.RemoveAll(backupPath); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
|
|||
54
internal/backup/database_test.go
Normal file
54
internal/backup/database_test.go
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
package backup
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/photoprism/photoprism/pkg/fs"
|
||||
)
|
||||
|
||||
func TestDatabase(t *testing.T) {
|
||||
t.Run("DatabaseNotFoundToStdOut", func(t *testing.T) {
|
||||
|
||||
backupPath, err := filepath.Abs("./testdata/sqlite")
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err = os.MkdirAll(backupPath, fs.ModeDir); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = Database(backupPath, "", true, true, 2)
|
||||
|
||||
assert.Error(t, err)
|
||||
|
||||
if err = os.RemoveAll(backupPath); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
})
|
||||
t.Run("DatabaseNotFound", func(t *testing.T) {
|
||||
|
||||
backupPath, err := filepath.Abs("./testdata/sqlite")
|
||||
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err = os.MkdirAll(backupPath, fs.ModeDir); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = Database(backupPath, "", false, true, 2)
|
||||
|
||||
assert.Error(t, err)
|
||||
|
||||
if err = os.RemoveAll(backupPath); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -74,6 +74,38 @@ func TestAlbum_SaveAsYaml(t *testing.T) {
|
|||
t.Error(err)
|
||||
}
|
||||
|
||||
if err = os.RemoveAll(backupPath); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
t.Run("FilenameEmpty", func(t *testing.T) {
|
||||
m := AlbumFixtures.Get("berlin-2019")
|
||||
|
||||
if found := m.Find(); found == nil {
|
||||
t.Fatal("should find album")
|
||||
} else {
|
||||
m = *found
|
||||
}
|
||||
|
||||
backupPath := fs.Abs("testdata/TestAlbum_SaveAsYaml")
|
||||
|
||||
err := m.SaveAsYaml("")
|
||||
|
||||
assert.Error(t, err)
|
||||
|
||||
if err = os.RemoveAll(backupPath); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
t.Run("NoAlbumUID", func(t *testing.T) {
|
||||
m := Album{}
|
||||
|
||||
backupPath := fs.Abs("testdata/TestAlbum_SaveAsYaml")
|
||||
|
||||
err := m.SaveAsYaml("")
|
||||
|
||||
assert.Error(t, err)
|
||||
|
||||
if err = os.RemoveAll(backupPath); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
|
@ -96,6 +128,30 @@ func TestAlbum_YamlFileName(t *testing.T) {
|
|||
assert.Equal(t, "/foo/bar/album/as6sg6bxpogaaba9.yml", fileName)
|
||||
assert.Equal(t, "album/as6sg6bxpogaaba9.yml", relName)
|
||||
})
|
||||
t.Run("NoAlbumUID", func(t *testing.T) {
|
||||
m := Album{}
|
||||
|
||||
fileName, relName, err := m.YamlFileName("/foo/bar")
|
||||
|
||||
assert.Error(t, err)
|
||||
assert.Equal(t, "", fileName)
|
||||
assert.Equal(t, "", relName)
|
||||
})
|
||||
t.Run("BackupPathEmpty", func(t *testing.T) {
|
||||
m := AlbumFixtures.Get("berlin-2019")
|
||||
|
||||
if found := m.Find(); found == nil {
|
||||
t.Fatal("should find album")
|
||||
} else {
|
||||
m = *found
|
||||
}
|
||||
|
||||
fileName, relName, err := m.YamlFileName("")
|
||||
|
||||
assert.Error(t, err)
|
||||
assert.Equal(t, "", fileName)
|
||||
assert.Equal(t, "album/as6sg6bxpogaaba9.yml", relName)
|
||||
})
|
||||
}
|
||||
|
||||
func TestAlbum_SaveBackupYaml(t *testing.T) {
|
||||
|
|
@ -117,6 +173,31 @@ func TestAlbum_SaveBackupYaml(t *testing.T) {
|
|||
t.Error(err)
|
||||
}
|
||||
})
|
||||
t.Run("NoAlbumUID", func(t *testing.T) {
|
||||
m := Album{}
|
||||
|
||||
backupPath := fs.Abs("testdata/TestAlbum_SaveBackupYaml")
|
||||
|
||||
if err := fs.MkdirAll(backupPath); err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
err := m.SaveBackupYaml(backupPath)
|
||||
|
||||
assert.Error(t, err)
|
||||
|
||||
if err := os.RemoveAll(backupPath); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
t.Run("BackupPathEmpty", func(t *testing.T) {
|
||||
m := AlbumFixtures.Get("berlin-2019")
|
||||
|
||||
err := m.SaveBackupYaml("")
|
||||
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
func TestAlbum_LoadFromYaml(t *testing.T) {
|
||||
|
|
@ -159,4 +240,11 @@ func TestAlbum_LoadFromYaml(t *testing.T) {
|
|||
assert.Equal(t, len(a.Photos), len(m.Photos))
|
||||
}
|
||||
})
|
||||
t.Run("EmptyFilename", func(t *testing.T) {
|
||||
m := Album{}
|
||||
|
||||
err := m.LoadFromYaml("")
|
||||
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,6 +43,24 @@ func TestPhoto_SaveAsYaml(t *testing.T) {
|
|||
t.Fatal(err)
|
||||
}
|
||||
})
|
||||
t.Run("FilenameEmpty", func(t *testing.T) {
|
||||
m := PhotoFixtures.Get("Photo01")
|
||||
m.PreloadFiles()
|
||||
|
||||
err := m.SaveAsYaml("")
|
||||
|
||||
assert.Error(t, err)
|
||||
})
|
||||
t.Run("NoPhotoUID", func(t *testing.T) {
|
||||
m := Photo{}
|
||||
m.PreloadFiles()
|
||||
|
||||
fileName := filepath.Join(os.TempDir(), ".photoprism_test.yml")
|
||||
|
||||
err := m.SaveAsYaml(fileName)
|
||||
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
func TestPhoto_YamlFileName(t *testing.T) {
|
||||
|
|
@ -86,8 +104,76 @@ func TestPhoto_SaveSidecarYaml(t *testing.T) {
|
|||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := os.RemoveAll(basePath); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
t.Run("PhotoNameEmpty", func(t *testing.T) {
|
||||
m := Photo{}
|
||||
m.PreloadFiles()
|
||||
|
||||
basePath := fs.Abs("testdata/yaml")
|
||||
originalsPath := filepath.Join(basePath, "originals")
|
||||
sidecarPath := filepath.Join(basePath, "sidecar")
|
||||
|
||||
t.Logf("originalsPath: %s", originalsPath)
|
||||
t.Logf("sidecarPath: %s", sidecarPath)
|
||||
|
||||
if err := fs.MkdirAll(originalsPath); err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
if err := fs.MkdirAll(sidecarPath); err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
err := m.SaveSidecarYaml(originalsPath, sidecarPath)
|
||||
|
||||
assert.Error(t, err)
|
||||
|
||||
if err := os.RemoveAll(basePath); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
t.Run("PhotoUIDEmpty", func(t *testing.T) {
|
||||
m := Photo{PhotoName: "testphoto"}
|
||||
m.PreloadFiles()
|
||||
|
||||
basePath := fs.Abs("testdata/yaml")
|
||||
originalsPath := filepath.Join(basePath, "originals")
|
||||
sidecarPath := filepath.Join(basePath, "sidecar")
|
||||
|
||||
t.Logf("originalsPath: %s", originalsPath)
|
||||
t.Logf("sidecarPath: %s", sidecarPath)
|
||||
|
||||
if err := fs.MkdirAll(originalsPath); err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
if err := fs.MkdirAll(sidecarPath); err != nil {
|
||||
t.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
err := m.SaveSidecarYaml(originalsPath, sidecarPath)
|
||||
|
||||
assert.Error(t, err)
|
||||
|
||||
if err := os.RemoveAll(basePath); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestPhoto_LoadFromYaml(t *testing.T) {
|
||||
t.Run("EmptyFilename", func(t *testing.T) {
|
||||
m := Photo{}
|
||||
|
||||
err := m.LoadFromYaml("")
|
||||
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue