summaryrefslogtreecommitdiff
path: root/testrig/util.go
diff options
context:
space:
mode:
Diffstat (limited to 'testrig/util.go')
-rw-r--r--testrig/util.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/testrig/util.go b/testrig/util.go
index d7183df1c..4e52d12b5 100644
--- a/testrig/util.go
+++ b/testrig/util.go
@@ -20,6 +20,7 @@ package testrig
import (
"bytes"
"context"
+ "fmt"
"io"
"mime/multipart"
"net/url"
@@ -27,7 +28,11 @@ import (
"time"
"github.com/superseriousbusiness/gotosocial/internal/messages"
+ tlprocessor "github.com/superseriousbusiness/gotosocial/internal/processing/timeline"
"github.com/superseriousbusiness/gotosocial/internal/state"
+ "github.com/superseriousbusiness/gotosocial/internal/timeline"
+ "github.com/superseriousbusiness/gotosocial/internal/typeutils"
+ "github.com/superseriousbusiness/gotosocial/internal/visibility"
)
func StartWorkers(state *state.State) {
@@ -47,6 +52,28 @@ func StopWorkers(state *state.State) {
_ = state.Workers.Media.Stop()
}
+func StartTimelines(state *state.State, filter *visibility.Filter, typeConverter typeutils.TypeConverter) {
+ state.Timelines.Home = timeline.NewManager(
+ tlprocessor.HomeTimelineGrab(state),
+ tlprocessor.HomeTimelineFilter(state, filter),
+ tlprocessor.HomeTimelineStatusPrepare(state, typeConverter),
+ tlprocessor.SkipInsert(),
+ )
+ if err := state.Timelines.Home.Start(); err != nil {
+ panic(fmt.Sprintf("error starting home timeline: %s", err))
+ }
+
+ state.Timelines.List = timeline.NewManager(
+ tlprocessor.ListTimelineGrab(state),
+ tlprocessor.ListTimelineFilter(state, filter),
+ tlprocessor.ListTimelineStatusPrepare(state, typeConverter),
+ tlprocessor.SkipInsert(),
+ )
+ if err := state.Timelines.List.Start(); err != nil {
+ panic(fmt.Sprintf("error starting list timeline: %s", err))
+ }
+}
+
// CreateMultipartFormData is a handy function for taking a fieldname and a filename, and creating a multipart form bytes buffer
// with the file contents set in the given fieldname. The extraFields param can be used to add extra FormFields to the request, as necessary.
// The returned bytes.Buffer b can be used like so: