summaryrefslogtreecommitdiff
path: root/testrig
diff options
context:
space:
mode:
Diffstat (limited to 'testrig')
-rw-r--r--testrig/federator.go5
-rw-r--r--testrig/mediahandler.go10
-rw-r--r--testrig/processor.go5
-rw-r--r--testrig/storage.go82
-rw-r--r--testrig/testmodels.go10
5 files changed, 24 insertions, 88 deletions
diff --git a/testrig/federator.go b/testrig/federator.go
index b04c01d63..1b5e0fdc5 100644
--- a/testrig/federator.go
+++ b/testrig/federator.go
@@ -22,10 +22,11 @@ import (
"codeberg.org/gruf/go-store/kv"
"github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/federation"
+ "github.com/superseriousbusiness/gotosocial/internal/media"
"github.com/superseriousbusiness/gotosocial/internal/transport"
)
// NewTestFederator returns a federator with the given database and (mock!!) transport controller.
-func NewTestFederator(db db.DB, tc transport.Controller, storage *kv.KVStore) federation.Federator {
- return federation.NewFederator(db, NewTestFederatingDB(db), tc, NewTestTypeConverter(db), NewTestMediaHandler(db, storage))
+func NewTestFederator(db db.DB, tc transport.Controller, storage *kv.KVStore, mediaManager media.Manager) federation.Federator {
+ return federation.NewFederator(db, NewTestFederatingDB(db), tc, NewTestTypeConverter(db), mediaManager)
}
diff --git a/testrig/mediahandler.go b/testrig/mediahandler.go
index ab7fee621..38190eca3 100644
--- a/testrig/mediahandler.go
+++ b/testrig/mediahandler.go
@@ -24,7 +24,11 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/media"
)
-// NewTestMediaHandler returns a media handler with the default test config, and the given db and storage.
-func NewTestMediaHandler(db db.DB, storage *kv.KVStore) media.Handler {
- return media.New(db, storage)
+// NewTestMediaManager returns a media handler with the default test config, and the given db and storage.
+func NewTestMediaManager(db db.DB, storage *kv.KVStore) media.Manager {
+ m, err := media.NewManager(db, storage)
+ if err != nil {
+ panic(err)
+ }
+ return m
}
diff --git a/testrig/processor.go b/testrig/processor.go
index cfcaa612b..4f3f8ae8a 100644
--- a/testrig/processor.go
+++ b/testrig/processor.go
@@ -23,10 +23,11 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/email"
"github.com/superseriousbusiness/gotosocial/internal/federation"
+ "github.com/superseriousbusiness/gotosocial/internal/media"
"github.com/superseriousbusiness/gotosocial/internal/processing"
)
// NewTestProcessor returns a Processor suitable for testing purposes
-func NewTestProcessor(db db.DB, storage *kv.KVStore, federator federation.Federator, emailSender email.Sender) processing.Processor {
- return processing.NewProcessor(NewTestTypeConverter(db), federator, NewTestOauthServer(db), NewTestMediaHandler(db, storage), storage, db, emailSender)
+func NewTestProcessor(db db.DB, storage *kv.KVStore, federator federation.Federator, emailSender email.Sender, mediaManager media.Manager) processing.Processor {
+ return processing.NewProcessor(NewTestTypeConverter(db), federator, NewTestOauthServer(db), mediaManager, storage, db, emailSender)
}
diff --git a/testrig/storage.go b/testrig/storage.go
index a8cf0d838..0e91d7dbe 100644
--- a/testrig/storage.go
+++ b/testrig/storage.go
@@ -19,20 +19,16 @@
package testrig
import (
- "bytes"
- "errors"
"fmt"
- "io"
"os"
"codeberg.org/gruf/go-store/kv"
"codeberg.org/gruf/go-store/storage"
- "codeberg.org/gruf/go-store/util"
)
// NewTestStorage returns a new in memory storage with the default test config
func NewTestStorage() *kv.KVStore {
- storage, err := kv.OpenStorage(&inMemStorage{storage: map[string][]byte{}, overwrite: false})
+ storage, err := kv.OpenStorage(storage.OpenMemory(200, false))
if err != nil {
panic(err)
}
@@ -113,79 +109,3 @@ func StandardStorageTeardown(s *kv.KVStore) {
}
}
}
-
-type inMemStorage struct {
- storage map[string][]byte
- overwrite bool
-}
-
-func (s *inMemStorage) Clean() error {
- return nil
-}
-
-func (s *inMemStorage) ReadBytes(key string) ([]byte, error) {
- b, ok := s.storage[key]
- if !ok {
- return nil, errors.New("key not found")
- }
- return b, nil
-}
-
-func (s *inMemStorage) ReadStream(key string) (io.ReadCloser, error) {
- b, err := s.ReadBytes(key)
- if err != nil {
- return nil, err
- }
- return util.NopReadCloser(bytes.NewReader(b)), nil
-}
-
-func (s *inMemStorage) WriteBytes(key string, value []byte) error {
- if _, ok := s.storage[key]; ok && !s.overwrite {
- return errors.New("key already in storage")
- }
- s.storage[key] = copyBytes(value)
- return nil
-}
-
-func (s *inMemStorage) WriteStream(key string, r io.Reader) error {
- b, err := io.ReadAll(r)
- if err != nil {
- return err
- }
- return s.WriteBytes(key, b)
-}
-
-func (s *inMemStorage) Stat(key string) (bool, error) {
- _, ok := s.storage[key]
- return ok, nil
-}
-
-func (s *inMemStorage) Remove(key string) error {
- if _, ok := s.storage[key]; !ok {
- return errors.New("key not found")
- }
- delete(s.storage, key)
- return nil
-}
-
-func (s *inMemStorage) WalkKeys(opts storage.WalkKeysOptions) error {
- if opts.WalkFn == nil {
- return errors.New("invalid walkfn")
- }
- for key := range s.storage {
- opts.WalkFn(entry(key))
- }
- return nil
-}
-
-type entry string
-
-func (e entry) Key() string {
- return string(e)
-}
-
-func copyBytes(b []byte) []byte {
- p := make([]byte, len(b))
- copy(p, b)
- return p
-}
diff --git a/testrig/testmodels.go b/testrig/testmodels.go
index 203aaef96..9a9ea5d2f 100644
--- a/testrig/testmodels.go
+++ b/testrig/testmodels.go
@@ -66,6 +66,16 @@ func NewTestTokens() map[string]*gtsmodel.Token {
AccessCreateAt: time.Now(),
AccessExpiresAt: time.Now().Add(72 * time.Hour),
},
+ "admin_account": {
+ ID: "01FS4TP8ANA5VE92EAPA9E0M7Q",
+ ClientID: "01F8MGWSJCND9BWBD4WGJXBM93",
+ UserID: "01F8MGWYWKVKS3VS8DV1AMYPGE",
+ RedirectURI: "http://localhost:8080",
+ Scope: "read write follow push admin",
+ Access: "AININALKNENFNF98717NAMG4LWE4NJITMWUXM2M4MTRHZDEX",
+ AccessCreateAt: time.Now(),
+ AccessExpiresAt: time.Now().Add(72 * time.Hour),
+ },
}
return tokens
}