From 03e2d6610070384056028714f5b940d4fe315ecb Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Mon, 9 May 2022 14:59:34 +0100 Subject: [PATCH] bugfixes --- syncapi/syncapi_test.go | 21 ++++++++++++--------- test/base.go | 9 ++++++--- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/syncapi/syncapi_test.go b/syncapi/syncapi_test.go index 732bca423..988690490 100644 --- a/syncapi/syncapi_test.go +++ b/syncapi/syncapi_test.go @@ -29,7 +29,6 @@ NextEvent: for _, eventID := range req.EventIDs { for _, r := range s.rooms { for _, ev := range r.Events() { - fmt.Println(ev.EventID()) if ev.EventID() == eventID { res.Events = append(res.Events, ev) continue NextEvent @@ -82,11 +81,9 @@ type syncKeyAPI struct { } func TestSyncAPI(t *testing.T) { - testSync(t, test.DBTypePostgres) - /* - test.WithAllDatabases(t, func(t *testing.T, dbType test.DBType) { - testSync(t, dbType) - }) */ + test.WithAllDatabases(t, func(t *testing.T, dbType test.DBType) { + testSync(t, dbType) + }) } func testSync(t *testing.T, dbType test.DBType) { @@ -119,9 +116,8 @@ func testSync(t *testing.T, dbType test.DBType) { }, })) } - test.MustPublishMsgs(t, jsctx, msgs...) - AddPublicRoutes(base, &syncUserAPI{accounts: []userapi.Device{alice}}, &syncRoomserverAPI{rooms: []*test.Room{room}}, &syncKeyAPI{}) + test.MustPublishMsgs(t, jsctx, msgs...) testCases := []struct { name string @@ -155,7 +151,7 @@ func testSync(t *testing.T, dbType test.DBType) { }, } // TODO: find a better way - time.Sleep(1000 * time.Millisecond) + time.Sleep(500 * time.Millisecond) for _, tc := range testCases { w := httptest.NewRecorder() @@ -171,6 +167,13 @@ func testSync(t *testing.T, dbType test.DBType) { if len(res.Rooms.Join) != len(tc.wantJoinedRooms) { t.Errorf("%s: got %v joined rooms, want %v.\nResponse: %+v", tc.name, len(res.Rooms.Join), len(tc.wantJoinedRooms), res) } + t.Logf("res: %+v", res.Rooms.Join[room.ID]) + + gotEventIDs := make([]string, len(res.Rooms.Join[room.ID].Timeline.Events)) + for i, ev := range res.Rooms.Join[room.ID].Timeline.Events { + gotEventIDs[i] = ev.EventID + } + test.AssertEventIDsEqual(t, gotEventIDs, room.Events()) } } } diff --git a/test/base.go b/test/base.go index 865e587bc..0223f182c 100644 --- a/test/base.go +++ b/test/base.go @@ -30,14 +30,14 @@ func CreateBaseDendrite(t *testing.T, dbType DBType) (*base.BaseDendrite, func() var cfg config.Dendrite cfg.Defaults(false) cfg.Global.JetStream.InMemory = true - // use a distinct prefix else concurrent postgres/sqlite runs will clash since NATS will use - // the file system event with InMemory=true :( - cfg.Global.JetStream.TopicPrefix = fmt.Sprintf("Test_%d_", dbType) switch dbType { case DBTypePostgres: cfg.Global.Defaults(true) // autogen a signing key cfg.MediaAPI.Defaults(true) // autogen a media path + // use a distinct prefix else concurrent postgres/sqlite runs will clash since NATS will use + // the file system event with InMemory=true :( + cfg.Global.JetStream.TopicPrefix = fmt.Sprintf("Test_%d_", dbType) connStr, close := PrepareDBConnectionString(t, dbType) cfg.Global.DatabaseOptions = config.DatabaseOptions{ ConnectionString: config.DataSource(connStr), @@ -48,6 +48,9 @@ func CreateBaseDendrite(t *testing.T, dbType DBType) (*base.BaseDendrite, func() return base.NewBaseDendrite(&cfg, "Test", base.DisableMetrics), close case DBTypeSQLite: cfg.Defaults(true) // sets a sqlite db per component + // use a distinct prefix else concurrent postgres/sqlite runs will clash since NATS will use + // the file system event with InMemory=true :( + cfg.Global.JetStream.TopicPrefix = fmt.Sprintf("Test_%d_", dbType) return base.NewBaseDendrite(&cfg, "Test", base.DisableMetrics), func() { // cleanup db files. This risks getting out of sync as we add more database strings :( dbFiles := []config.DataSource{