From 1d46a3037bdaacb71aa9e7597e9bd4bbb197df31 Mon Sep 17 00:00:00 2001 From: David Robertson Date: Thu, 22 Jun 2023 17:49:15 +0100 Subject: [PATCH] Update tests --- sync3/conn_test.go | 38 ++++++++++++++++----------------- sync3/handler/connstate_test.go | 32 +++++++++++++-------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/sync3/conn_test.go b/sync3/conn_test.go index ef12a214..c326938c 100644 --- a/sync3/conn_test.go +++ b/sync3/conn_test.go @@ -47,7 +47,7 @@ func TestConn(t *testing.T) { // initial request resp, err := c.OnIncomingRequest(ctx, &Request{ pos: 0, - }) + }, time.Now()) assertNoError(t, err) assertPos(t, resp.Pos, 1) assertInt(t, resp.Lists["a"].Count, 101) @@ -55,14 +55,14 @@ func TestConn(t *testing.T) { // happy case, pos=1 resp, err = c.OnIncomingRequest(ctx, &Request{ pos: 1, - }) + }, time.Now()) assertPos(t, resp.Pos, 2) assertInt(t, resp.Lists["a"].Count, 102) assertNoError(t, err) // bogus position returns a 400 _, err = c.OnIncomingRequest(ctx, &Request{ pos: 31415, - }) + }, time.Now()) if err == nil { t.Fatalf("expected error, got none") } @@ -106,7 +106,7 @@ func TestConnBlocking(t *testing.T) { Sort: []string{"hi"}, }, }, - }) + }, time.Now()) }() go func() { defer wg.Done() @@ -118,7 +118,7 @@ func TestConnBlocking(t *testing.T) { Sort: []string{"hi2"}, }, }, - }) + }, time.Now()) }() go func() { wg.Wait() @@ -148,18 +148,18 @@ func TestConnRetries(t *testing.T) { }, }}, nil }}) - resp, err := c.OnIncomingRequest(ctx, &Request{}) + resp, err := c.OnIncomingRequest(ctx, &Request{}, time.Now()) assertPos(t, resp.Pos, 1) assertInt(t, resp.Lists["a"].Count, 20) assertInt(t, callCount, 1) assertNoError(t, err) - resp, err = c.OnIncomingRequest(ctx, &Request{pos: 1}) + resp, err = c.OnIncomingRequest(ctx, &Request{pos: 1}, time.Now()) assertPos(t, resp.Pos, 2) assertInt(t, resp.Lists["a"].Count, 20) assertInt(t, callCount, 2) assertNoError(t, err) // retry! Shouldn't invoke handler again - resp, err = c.OnIncomingRequest(ctx, &Request{pos: 1}) + resp, err = c.OnIncomingRequest(ctx, &Request{pos: 1}, time.Now()) assertPos(t, resp.Pos, 2) assertInt(t, resp.Lists["a"].Count, 20) assertInt(t, callCount, 2) // this doesn't increment @@ -170,7 +170,7 @@ func TestConnRetries(t *testing.T) { "a": { Sort: []string{SortByName}, }, - }}) + }}, time.Now()) assertPos(t, resp.Pos, 2) assertInt(t, resp.Lists["a"].Count, 20) assertInt(t, callCount, 3) // this doesn't increment @@ -191,25 +191,25 @@ func TestConnBufferRes(t *testing.T) { }, }}, nil }}) - resp, err := c.OnIncomingRequest(ctx, &Request{}) + resp, err := c.OnIncomingRequest(ctx, &Request{}, time.Now()) assertNoError(t, err) assertPos(t, resp.Pos, 1) assertInt(t, resp.Lists["a"].Count, 1) assertInt(t, callCount, 1) - resp, err = c.OnIncomingRequest(ctx, &Request{pos: 1}) + resp, err = c.OnIncomingRequest(ctx, &Request{pos: 1}, time.Now()) assertNoError(t, err) assertPos(t, resp.Pos, 2) assertInt(t, resp.Lists["a"].Count, 2) assertInt(t, callCount, 2) // retry with modified request data that shouldn't prompt data to be returned. // should invoke handler again! - resp, err = c.OnIncomingRequest(ctx, &Request{pos: 1, UnsubscribeRooms: []string{"a"}}) + resp, err = c.OnIncomingRequest(ctx, &Request{pos: 1, UnsubscribeRooms: []string{"a"}}, time.Now()) assertNoError(t, err) assertPos(t, resp.Pos, 2) assertInt(t, resp.Lists["a"].Count, 2) assertInt(t, callCount, 3) // this DOES increment, the response is buffered and not returned yet. // retry with same request body, so should NOT invoke handler again and return buffered response - resp, err = c.OnIncomingRequest(ctx, &Request{pos: 2, UnsubscribeRooms: []string{"a"}}) + resp, err = c.OnIncomingRequest(ctx, &Request{pos: 2, UnsubscribeRooms: []string{"a"}}, time.Now()) assertNoError(t, err) assertPos(t, resp.Pos, 3) assertInt(t, resp.Lists["a"].Count, 3) @@ -228,7 +228,7 @@ func TestConnErrors(t *testing.T) { // random errors = 500 errCh <- errors.New("oops") - _, herr := c.OnIncomingRequest(ctx, &Request{}) + _, herr := c.OnIncomingRequest(ctx, &Request{}, time.Now()) if herr.StatusCode != 500 { t.Fatalf("random errors should be status 500, got %d", herr.StatusCode) } @@ -237,7 +237,7 @@ func TestConnErrors(t *testing.T) { StatusCode: 400, Err: errors.New("no way!"), } - _, herr = c.OnIncomingRequest(ctx, &Request{}) + _, herr = c.OnIncomingRequest(ctx, &Request{}, time.Now()) if herr.StatusCode != 400 { t.Fatalf("expected status 400, got %d", herr.StatusCode) } @@ -258,7 +258,7 @@ func TestConnErrorsNoCache(t *testing.T) { } }}) // errors should not be cached - resp, herr := c.OnIncomingRequest(ctx, &Request{}) + resp, herr := c.OnIncomingRequest(ctx, &Request{}, time.Now()) if herr != nil { t.Fatalf("expected no error, got %+v", herr) } @@ -267,12 +267,12 @@ func TestConnErrorsNoCache(t *testing.T) { StatusCode: 400, Err: errors.New("no way!"), } - _, herr = c.OnIncomingRequest(ctx, &Request{pos: resp.PosInt()}) + _, herr = c.OnIncomingRequest(ctx, &Request{pos: resp.PosInt()}, time.Now()) if herr.StatusCode != 400 { t.Fatalf("expected status 400, got %d", herr.StatusCode) } // but doing the exact same request should now work - _, herr = c.OnIncomingRequest(ctx, &Request{pos: resp.PosInt()}) + _, herr = c.OnIncomingRequest(ctx, &Request{pos: resp.PosInt()}, time.Now()) if herr != nil { t.Fatalf("expected no error, got %+v", herr) } @@ -361,7 +361,7 @@ func TestConnBufferRememberInflight(t *testing.T) { var err *internal.HandlerError for i, step := range steps { t.Logf("Executing step %d", i) - resp, err = c.OnIncomingRequest(ctx, step.req) + resp, err = c.OnIncomingRequest(ctx, step.req, time.Now()) if !step.wantErr { assertNoError(t, err) } diff --git a/sync3/handler/connstate_test.go b/sync3/handler/connstate_test.go index 9e8c2d72..2b06d0fe 100644 --- a/sync3/handler/connstate_test.go +++ b/sync3/handler/connstate_test.go @@ -107,7 +107,7 @@ func TestConnStateInitial(t *testing.T) { } return result } - cs := NewConnState(userID, deviceID, userCache, globalCache, &NopExtensionHandler{}, &NopJoinTracker{}, nil, 1000) + cs := NewConnState(userID, deviceID, userCache, globalCache, &NopExtensionHandler{}, &NopJoinTracker{}, nil, nil, 1000) if userID != cs.UserID() { t.Fatalf("UserID returned wrong value, got %v want %v", cs.UserID(), userID) } @@ -118,7 +118,7 @@ func TestConnStateInitial(t *testing.T) { {0, 9}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -168,7 +168,7 @@ func TestConnStateInitial(t *testing.T) { {0, 9}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -206,7 +206,7 @@ func TestConnStateInitial(t *testing.T) { {0, 9}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -272,7 +272,7 @@ func TestConnStateMultipleRanges(t *testing.T) { userCache.LazyRoomDataOverride = mockLazyRoomOverride dispatcher.Register(context.Background(), userCache.UserID, userCache) dispatcher.Register(context.Background(), sync3.DispatcherAllUsers, globalCache) - cs := NewConnState(userID, deviceID, userCache, globalCache, &NopExtensionHandler{}, &NopJoinTracker{}, nil, 1000) + cs := NewConnState(userID, deviceID, userCache, globalCache, &NopExtensionHandler{}, &NopJoinTracker{}, nil, nil, 1000) // request first page res, err := cs.OnIncomingRequest(context.Background(), ConnID, &sync3.Request{ @@ -282,7 +282,7 @@ func TestConnStateMultipleRanges(t *testing.T) { {0, 2}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -308,7 +308,7 @@ func TestConnStateMultipleRanges(t *testing.T) { {0, 2}, {4, 6}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -343,7 +343,7 @@ func TestConnStateMultipleRanges(t *testing.T) { {0, 2}, {4, 6}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -383,7 +383,7 @@ func TestConnStateMultipleRanges(t *testing.T) { {0, 2}, {4, 6}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -451,7 +451,7 @@ func TestBumpToOutsideRange(t *testing.T) { userCache.LazyRoomDataOverride = mockLazyRoomOverride dispatcher.Register(context.Background(), userCache.UserID, userCache) dispatcher.Register(context.Background(), sync3.DispatcherAllUsers, globalCache) - cs := NewConnState(userID, deviceID, userCache, globalCache, &NopExtensionHandler{}, &NopJoinTracker{}, nil, 1000) + cs := NewConnState(userID, deviceID, userCache, globalCache, &NopExtensionHandler{}, &NopJoinTracker{}, nil, nil, 1000) // Ask for A,B res, err := cs.OnIncomingRequest(context.Background(), ConnID, &sync3.Request{ Lists: map[string]sync3.RequestList{"a": { @@ -460,7 +460,7 @@ func TestBumpToOutsideRange(t *testing.T) { {0, 1}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -495,7 +495,7 @@ func TestBumpToOutsideRange(t *testing.T) { {0, 1}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -562,7 +562,7 @@ func TestConnStateRoomSubscriptions(t *testing.T) { } dispatcher.Register(context.Background(), userCache.UserID, userCache) dispatcher.Register(context.Background(), sync3.DispatcherAllUsers, globalCache) - cs := NewConnState(userID, deviceID, userCache, globalCache, &NopExtensionHandler{}, &NopJoinTracker{}, nil, 1000) + cs := NewConnState(userID, deviceID, userCache, globalCache, &NopExtensionHandler{}, &NopJoinTracker{}, nil, nil, 1000) // subscribe to room D res, err := cs.OnIncomingRequest(context.Background(), ConnID, &sync3.Request{ RoomSubscriptions: map[string]sync3.RoomSubscription{ @@ -576,7 +576,7 @@ func TestConnStateRoomSubscriptions(t *testing.T) { {0, 1}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -630,7 +630,7 @@ func TestConnStateRoomSubscriptions(t *testing.T) { {0, 1}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) } @@ -664,7 +664,7 @@ func TestConnStateRoomSubscriptions(t *testing.T) { {0, 1}, }), }}, - }, false) + }, false, time.Now()) if err != nil { t.Fatalf("OnIncomingRequest returned error : %s", err) }