mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 20:34:37 +03:00
Restructure data layer (#2532)
* Add new txn manager interface * Add txn management to sqlite * Rename get to getByID * Add contexts to repository methods * Update query builders * Add context to reader writer interfaces * Use repository in resolver * Tighten interfaces * Tighten interfaces in dlna * Tighten interfaces in match package * Tighten interfaces in scraper package * Tighten interfaces in scan code * Tighten interfaces on autotag package * Remove ReaderWriter usage * Merge database package into sqlite
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package studio
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"github.com/stashapp/stash/pkg/models"
|
||||
@@ -169,39 +170,40 @@ func initTestTable() {
|
||||
|
||||
func TestToJSON(t *testing.T) {
|
||||
initTestTable()
|
||||
ctx := context.Background()
|
||||
|
||||
mockStudioReader := &mocks.StudioReaderWriter{}
|
||||
|
||||
imageErr := errors.New("error getting image")
|
||||
|
||||
mockStudioReader.On("GetImage", studioID).Return(imageBytes, nil).Once()
|
||||
mockStudioReader.On("GetImage", noImageID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetImage", errImageID).Return(nil, imageErr).Once()
|
||||
mockStudioReader.On("GetImage", missingParentStudioID).Return(imageBytes, nil).Maybe()
|
||||
mockStudioReader.On("GetImage", errStudioID).Return(imageBytes, nil).Maybe()
|
||||
mockStudioReader.On("GetImage", errAliasID).Return(imageBytes, nil).Maybe()
|
||||
mockStudioReader.On("GetImage", ctx, studioID).Return(imageBytes, nil).Once()
|
||||
mockStudioReader.On("GetImage", ctx, noImageID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetImage", ctx, errImageID).Return(nil, imageErr).Once()
|
||||
mockStudioReader.On("GetImage", ctx, missingParentStudioID).Return(imageBytes, nil).Maybe()
|
||||
mockStudioReader.On("GetImage", ctx, errStudioID).Return(imageBytes, nil).Maybe()
|
||||
mockStudioReader.On("GetImage", ctx, errAliasID).Return(imageBytes, nil).Maybe()
|
||||
|
||||
parentStudioErr := errors.New("error getting parent studio")
|
||||
|
||||
mockStudioReader.On("Find", parentStudioID).Return(&parentStudio, nil)
|
||||
mockStudioReader.On("Find", missingStudioID).Return(nil, nil)
|
||||
mockStudioReader.On("Find", errParentStudioID).Return(nil, parentStudioErr)
|
||||
mockStudioReader.On("Find", ctx, parentStudioID).Return(&parentStudio, nil)
|
||||
mockStudioReader.On("Find", ctx, missingStudioID).Return(nil, nil)
|
||||
mockStudioReader.On("Find", ctx, errParentStudioID).Return(nil, parentStudioErr)
|
||||
|
||||
aliasErr := errors.New("error getting aliases")
|
||||
|
||||
mockStudioReader.On("GetAliases", studioID).Return([]string{"alias"}, nil).Once()
|
||||
mockStudioReader.On("GetAliases", noImageID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetAliases", errImageID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetAliases", missingParentStudioID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetAliases", errAliasID).Return(nil, aliasErr).Once()
|
||||
mockStudioReader.On("GetAliases", ctx, studioID).Return([]string{"alias"}, nil).Once()
|
||||
mockStudioReader.On("GetAliases", ctx, noImageID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetAliases", ctx, errImageID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetAliases", ctx, missingParentStudioID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetAliases", ctx, errAliasID).Return(nil, aliasErr).Once()
|
||||
|
||||
mockStudioReader.On("GetStashIDs", studioID).Return(stashIDs, nil).Once()
|
||||
mockStudioReader.On("GetStashIDs", noImageID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetStashIDs", missingParentStudioID).Return(stashIDs, nil).Once()
|
||||
mockStudioReader.On("GetStashIDs", ctx, studioID).Return(stashIDs, nil).Once()
|
||||
mockStudioReader.On("GetStashIDs", ctx, noImageID).Return(nil, nil).Once()
|
||||
mockStudioReader.On("GetStashIDs", ctx, missingParentStudioID).Return(stashIDs, nil).Once()
|
||||
|
||||
for i, s := range scenarios {
|
||||
studio := s.input
|
||||
json, err := ToJSON(mockStudioReader, &studio)
|
||||
json, err := ToJSON(ctx, mockStudioReader, &studio)
|
||||
|
||||
switch {
|
||||
case !s.err && err != nil:
|
||||
|
||||
Reference in New Issue
Block a user