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:
WithoutPants
2022-05-19 17:49:32 +10:00
parent 7b5bd80515
commit 964b559309
244 changed files with 7377 additions and 6699 deletions

View File

@@ -13,6 +13,8 @@ import (
"github.com/stretchr/testify/mock"
)
var testCtx = context.Background()
type mockSceneScraper struct {
errIDs []int
results map[int]*scraper.ScrapedScene
@@ -70,11 +72,12 @@ func TestSceneIdentifier_Identify(t *testing.T) {
},
}
repo := mocks.NewTransactionManager()
repo.Scene().(*mocks.SceneReaderWriter).On("Update", mock.MatchedBy(func(partial models.ScenePartial) bool {
mockSceneReaderWriter := &mocks.SceneReaderWriter{}
mockSceneReaderWriter.On("Update", testCtx, mock.MatchedBy(func(partial models.ScenePartial) bool {
return partial.ID != errUpdateID
})).Return(nil, nil)
repo.Scene().(*mocks.SceneReaderWriter).On("Update", mock.MatchedBy(func(partial models.ScenePartial) bool {
mockSceneReaderWriter.On("Update", testCtx, mock.MatchedBy(func(partial models.ScenePartial) bool {
return partial.ID == errUpdateID
})).Return(nil, errors.New("update error"))
@@ -116,6 +119,7 @@ func TestSceneIdentifier_Identify(t *testing.T) {
}
identifier := SceneIdentifier{
SceneReaderUpdater: mockSceneReaderWriter,
DefaultOptions: defaultOptions,
Sources: sources,
SceneUpdatePostHookExecutor: mockHookExecutor{},
@@ -126,7 +130,7 @@ func TestSceneIdentifier_Identify(t *testing.T) {
scene := &models.Scene{
ID: tt.sceneID,
}
if err := identifier.Identify(context.TODO(), repo, scene); (err != nil) != tt.wantErr {
if err := identifier.Identify(testCtx, &mocks.TxnManager{}, scene); (err != nil) != tt.wantErr {
t.Errorf("SceneIdentifier.Identify() error = %v, wantErr %v", err, tt.wantErr)
}
})
@@ -134,7 +138,9 @@ func TestSceneIdentifier_Identify(t *testing.T) {
}
func TestSceneIdentifier_modifyScene(t *testing.T) {
repo := mocks.NewTransactionManager()
repo := models.Repository{
TxnManager: &mocks.TxnManager{},
}
tr := &SceneIdentifier{}
type args struct {
@@ -159,7 +165,7 @@ func TestSceneIdentifier_modifyScene(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if err := tr.modifyScene(context.TODO(), repo, tt.args.scene, tt.args.result); (err != nil) != tt.wantErr {
if err := tr.modifyScene(testCtx, repo, tt.args.scene, tt.args.result); (err != nil) != tt.wantErr {
t.Errorf("SceneIdentifier.modifyScene() error = %v, wantErr %v", err, tt.wantErr)
}
})