Files
photoview/api/test_utils/scanner/scanner_helpers.go
2025-07-09 22:25:44 +02:00

59 lines
1.3 KiB
Go

package scanner_utils
import (
"testing"
"time"
"github.com/photoview/photoview/api/graphql/models"
"github.com/photoview/photoview/api/scanner"
"github.com/photoview/photoview/api/scanner/scanner_queue"
"github.com/stretchr/testify/assert"
"gorm.io/gorm"
)
func RunScannerOnUser(t *testing.T, db *gorm.DB, user *models.User) {
start := time.Now()
defer func() {
dur := time.Now().Sub(start)
t.Logf("RunScannerOnUser(user(id:%d)) took %s.", user.ID, dur)
}()
if !assert.NoError(t, scanner_queue.InitializeScannerQueue(db)) {
return
}
if !assert.NoError(t, scanner_queue.AddUserToQueue(user)) {
return
}
// wait for all jobs to finish
scanner_queue.CloseScannerQueue()
if err := scanner.GenerateBlurhashes(db); err != nil {
t.Fatalf("generate blurhashes error: %v", err)
}
}
func RunScannerAll(t *testing.T, db *gorm.DB) {
start := time.Now()
defer func() {
dur := time.Now().Sub(start)
t.Logf("RunScannerAll() took %s.", dur)
}()
if !assert.NoError(t, scanner_queue.InitializeScannerQueue(db)) {
return
}
if !assert.NoError(t, scanner_queue.AddAllToQueue()) {
return
}
// wait for all jobs to finish
scanner_queue.CloseScannerQueue()
if err := scanner.GenerateBlurhashes(db); err != nil {
t.Fatalf("generate blurhashes error: %v", err)
}
}