photoprism-client-go/test/photo_test.go

88 lines
2.1 KiB
Go

package test
import (
"fmt"
"path"
"testing"
"time"
)
func TestHappyGetPhoto(t *testing.T) {
_, err := Client.V1().GetPhoto(WellKnownPhotoID)
if err != nil {
t.Errorf("expected success getting well known photo: %v", err)
t.FailNow()
}
}
func TestSadGetPhoto(t *testing.T) {
photo, err := Client.V1().GetPhoto(UnknownPhotoID)
if err != nil {
t.Logf("success returning error for unknown photo: %v", err)
return
}
t.Errorf("expected error for unknown photo: %s", photo.UUID)
t.FailNow()
}
func TestHappyUpdatePhoto(t *testing.T) {
photo, err := Client.V1().GetPhoto(WellKnownPhotoID)
if err != nil {
t.Errorf("error getting well known photo: %v", err)
t.FailNow()
return
}
photo.PhotoDescription = fmt.Sprintf("Sample App Description: %s", time.Now().String())
_, err = Client.V1().UpdatePhoto(photo)
if err != nil {
t.Errorf("error updating photo: %v", err)
t.FailNow()
return
}
}
func TestSadUpdatePhoto(t *testing.T) {
photo, err := Client.V1().GetPhoto(WellKnownPhotoID)
if err != nil {
t.Errorf("error getting well known photo: %v", err)
t.FailNow()
return
}
photo.UUID = UnknownPhotoID
photo.PhotoDescription = fmt.Sprintf("Sample App Description: %s", time.Now().String())
photo, err = Client.V1().UpdatePhoto(photo)
if err != nil {
t.Logf("expecting failure at updating photo unknown photo: %v", err)
return
}
t.Errorf("expecting failure updaitng bad photo id: %s", photo.UUID)
t.FailNow()
}
func TestHappyGetPhotoDownload(t *testing.T) {
photo, err := Client.V1().GetPhoto(WellKnownPhotoID)
if err != nil {
t.Errorf("error getting well known photo: %v", err)
t.FailNow()
return
}
file, err := Client.V1().GetPhotoDownload(WellKnownPhotoID)
if err != nil {
t.Errorf("expected success getting well known photo: %v", err)
t.FailNow()
}
for _, f := range photo.Files {
fileName := path.Base(f.FileName)
t.Logf("Downloaded [%s]", fileName)
t.Logf("Photo Bytes: %d", len(file))
}
}
func TestSadGetPhotoDownload(t *testing.T) {
_, err := Client.V1().GetPhotoDownload(UnknownPhotoID)
if err == nil {
t.Errorf("expected failure getting well known photo: %v", err)
t.FailNow()
}
}