Move image blobs into separate tables (#618)

* Scene cover fallback to database
* Fix panic if studio not found
* Fix movie studio not being imported/exported
This commit is contained in:
WithoutPants
2020-06-23 09:19:19 +10:00
committed by GitHub
parent f8048dc27c
commit 7a74658a73
31 changed files with 1456 additions and 131 deletions

View File

@@ -210,6 +210,96 @@ func TestStudioUpdateClearParent(t *testing.T) {
}
}
func TestStudioUpdateStudioImage(t *testing.T) {
qb := models.NewStudioQueryBuilder()
// create performer to test against
ctx := context.TODO()
tx := database.DB.MustBeginTx(ctx, nil)
const name = "TestStudioUpdateStudioImage"
created, err := createStudio(tx, name, nil)
if err != nil {
tx.Rollback()
t.Fatalf("Error creating studio: %s", err.Error())
}
image := []byte("image")
err = qb.UpdateStudioImage(created.ID, image, tx)
if err != nil {
tx.Rollback()
t.Fatalf("Error updating studio image: %s", err.Error())
}
if err := tx.Commit(); err != nil {
tx.Rollback()
t.Fatalf("Error committing: %s", err.Error())
}
// ensure image set
storedImage, err := qb.GetStudioImage(created.ID, nil)
if err != nil {
t.Fatalf("Error getting image: %s", err.Error())
}
assert.Equal(t, storedImage, image)
// set nil image
tx = database.DB.MustBeginTx(ctx, nil)
err = qb.UpdateStudioImage(created.ID, nil, tx)
if err == nil {
t.Fatalf("Expected error setting nil image")
}
tx.Rollback()
}
func TestStudioDestroyStudioImage(t *testing.T) {
qb := models.NewStudioQueryBuilder()
// create performer to test against
ctx := context.TODO()
tx := database.DB.MustBeginTx(ctx, nil)
const name = "TestStudioDestroyStudioImage"
created, err := createStudio(tx, name, nil)
if err != nil {
tx.Rollback()
t.Fatalf("Error creating studio: %s", err.Error())
}
image := []byte("image")
err = qb.UpdateStudioImage(created.ID, image, tx)
if err != nil {
tx.Rollback()
t.Fatalf("Error updating studio image: %s", err.Error())
}
if err := tx.Commit(); err != nil {
tx.Rollback()
t.Fatalf("Error committing: %s", err.Error())
}
tx = database.DB.MustBeginTx(ctx, nil)
err = qb.DestroyStudioImage(created.ID, tx)
if err != nil {
tx.Rollback()
t.Fatalf("Error destroying studio image: %s", err.Error())
}
if err := tx.Commit(); err != nil {
tx.Rollback()
t.Fatalf("Error committing: %s", err.Error())
}
// image should be nil
storedImage, err := qb.GetStudioImage(created.ID, nil)
if err != nil {
t.Fatalf("Error getting image: %s", err.Error())
}
assert.Nil(t, storedImage)
}
// TODO Create
// TODO Update
// TODO Destroy