Skip to content

Commit 1e3972e

Browse files
lint the test file
1 parent a5cc126 commit 1e3972e

File tree

1 file changed

+45
-44
lines changed

1 file changed

+45
-44
lines changed

pkg/api/pagination_test.go

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ import (
44
"testing"
55
"time"
66

7-
"github.com/docker/cagent/pkg/chat"
8-
"github.com/docker/cagent/pkg/session"
97
"github.com/stretchr/testify/assert"
108
"github.com/stretchr/testify/require"
9+
10+
"github.com/docker/cagent/pkg/chat"
11+
"github.com/docker/cagent/pkg/session"
1112
)
1213

1314
func TestEncodeDecode(t *testing.T) {
@@ -39,7 +40,7 @@ func TestDecodeInvalidCursor(t *testing.T) {
3940

4041
func createTestMessages(count int) []session.Message {
4142
messages := make([]session.Message, count)
42-
for i := 0; i < count; i++ {
43+
for i := range count {
4344
role := chat.MessageRoleUser
4445
if i%2 == 1 {
4546
role = chat.MessageRoleAssistant
@@ -59,11 +60,11 @@ func createTestMessages(count int) []session.Message {
5960

6061
func TestPaginateMessages_FirstPage(t *testing.T) {
6162
messages := createTestMessages(100)
62-
63+
6364
params := PaginationParams{
6465
Limit: 10,
6566
}
66-
67+
6768
paginated, meta, err := PaginateMessages(messages, params)
6869
require.NoError(t, err)
6970
assert.Len(t, paginated, 10)
@@ -72,187 +73,187 @@ func TestPaginateMessages_FirstPage(t *testing.T) {
7273
assert.True(t, meta.HasMore)
7374
assert.NotEmpty(t, meta.NextCursor)
7475
assert.NotEmpty(t, meta.PrevCursor)
75-
76+
7677
// Should get first 10 messages
7778
assert.Equal(t, "Message A", paginated[0].Message.Content)
7879
assert.Equal(t, "Message J", paginated[9].Message.Content)
7980
}
8081

8182
func TestPaginateMessages_WithAfterCursor(t *testing.T) {
8283
messages := createTestMessages(100)
83-
84+
8485
// Get first page
8586
firstPageParams := PaginationParams{Limit: 10}
8687
firstPage, firstMeta, err := PaginateMessages(messages, firstPageParams)
8788
require.NoError(t, err)
88-
89+
8990
// Get second page using nextCursor
9091
secondPageParams := PaginationParams{
9192
Limit: 10,
9293
After: firstMeta.NextCursor,
9394
}
9495
secondPage, secondMeta, err := PaginateMessages(messages, secondPageParams)
9596
require.NoError(t, err)
96-
97+
9798
assert.Len(t, secondPage, 10)
9899
assert.True(t, secondMeta.HasMore)
99-
100+
100101
// Should get messages 11-20
101102
assert.Equal(t, "Message K", secondPage[0].Message.Content)
102103
assert.Equal(t, "Message T", secondPage[9].Message.Content)
103-
104+
104105
// No overlap with first page
105106
assert.NotEqual(t, firstPage[9].Message.Content, secondPage[0].Message.Content)
106107
}
107108

108109
func TestPaginateMessages_WithBeforeCursor(t *testing.T) {
109110
messages := createTestMessages(100)
110-
111+
111112
// Get a page in the middle (starting at index 50)
112113
middleCursor, _ := EncodeCursor(MessageCursor{
113114
Timestamp: messages[50].Message.CreatedAt,
114115
Index: 50,
115116
})
116-
117+
117118
params := PaginationParams{
118119
Limit: 10,
119120
Before: middleCursor,
120121
}
121-
122+
122123
paginated, meta, err := PaginateMessages(messages, params)
123124
require.NoError(t, err)
124-
125+
125126
assert.Len(t, paginated, 10)
126127
assert.True(t, meta.HasMore) // There are older messages
127-
128+
128129
// Should get 10 messages before index 50 (indices 40-49)
129130
assert.Equal(t, "Message "+string(rune('A'+40)), paginated[0].Message.Content)
130131
assert.Equal(t, "Message "+string(rune('A'+49)), paginated[9].Message.Content)
131132
}
132133

133134
func TestPaginateMessages_DefaultLimit(t *testing.T) {
134135
messages := createTestMessages(100)
135-
136+
136137
params := PaginationParams{
137138
Limit: 0, // Should use default
138139
}
139-
140+
140141
paginated, meta, err := PaginateMessages(messages, params)
141142
require.NoError(t, err)
142-
143+
143144
assert.Len(t, paginated, DefaultLimit)
144145
assert.Equal(t, DefaultLimit, meta.Limit)
145146
}
146147

147148
func TestPaginateMessages_MaxLimit(t *testing.T) {
148149
messages := createTestMessages(300)
149-
150+
150151
params := PaginationParams{
151152
Limit: 500, // Should be capped at MaxLimit
152153
}
153-
154+
154155
paginated, meta, err := PaginateMessages(messages, params)
155156
require.NoError(t, err)
156-
157+
157158
assert.Len(t, paginated, MaxLimit)
158159
assert.Equal(t, MaxLimit, meta.Limit)
159160
}
160161

161162
func TestPaginateMessages_EmptyMessages(t *testing.T) {
162163
messages := []session.Message{}
163-
164+
164165
params := PaginationParams{
165166
Limit: 10,
166167
}
167-
168+
168169
paginated, meta, err := PaginateMessages(messages, params)
169170
require.NoError(t, err)
170-
171-
assert.Len(t, paginated, 0)
171+
172+
assert.Empty(t, paginated)
172173
assert.Equal(t, 0, meta.TotalMessages)
173174
assert.False(t, meta.HasMore)
174175
}
175176

176177
func TestPaginateMessages_LastPage(t *testing.T) {
177178
messages := createTestMessages(25)
178-
179+
179180
// Get first page
180181
firstPageParams := PaginationParams{Limit: 10}
181182
_, firstMeta, err := PaginateMessages(messages, firstPageParams)
182183
require.NoError(t, err)
183-
184+
184185
// Get second page
185186
secondPageParams := PaginationParams{
186187
Limit: 10,
187188
After: firstMeta.NextCursor,
188189
}
189190
_, secondMeta, err := PaginateMessages(messages, secondPageParams)
190191
require.NoError(t, err)
191-
192+
192193
// Get third page (last page, only 5 messages)
193194
thirdPageParams := PaginationParams{
194195
Limit: 10,
195196
After: secondMeta.NextCursor,
196197
}
197198
thirdPage, thirdMeta, err := PaginateMessages(messages, thirdPageParams)
198199
require.NoError(t, err)
199-
200-
assert.Len(t, thirdPage, 5) // Only 5 messages left
200+
201+
assert.Len(t, thirdPage, 5) // Only 5 messages left
201202
assert.False(t, thirdMeta.HasMore) // No more messages
202203
assert.Equal(t, 25, thirdMeta.TotalMessages)
203204
}
204205

205206
func TestPaginateMessages_AfterLastMessage(t *testing.T) {
206207
messages := createTestMessages(10)
207-
208+
208209
// Create cursor pointing to last message
209210
lastCursor, _ := EncodeCursor(MessageCursor{
210211
Timestamp: messages[9].Message.CreatedAt,
211212
Index: 9,
212213
})
213-
214+
214215
params := PaginationParams{
215216
Limit: 10,
216217
After: lastCursor,
217218
}
218-
219+
219220
paginated, meta, err := PaginateMessages(messages, params)
220221
require.NoError(t, err)
221-
222-
assert.Len(t, paginated, 0)
222+
223+
assert.Empty(t, paginated)
223224
assert.False(t, meta.HasMore)
224225
}
225226

226227
func TestPaginateMessages_BeforeFirstMessage(t *testing.T) {
227228
messages := createTestMessages(10)
228-
229+
229230
// Create cursor pointing to first message
230231
firstCursor, _ := EncodeCursor(MessageCursor{
231232
Timestamp: messages[0].Message.CreatedAt,
232233
Index: 0,
233234
})
234-
235+
235236
params := PaginationParams{
236237
Limit: 10,
237238
Before: firstCursor,
238239
}
239-
240+
240241
paginated, meta, err := PaginateMessages(messages, params)
241242
require.NoError(t, err)
242-
243-
assert.Len(t, paginated, 0)
243+
244+
assert.Empty(t, paginated)
244245
assert.False(t, meta.HasMore)
245246
}
246247

247248
func TestPaginateMessages_InvalidCursor(t *testing.T) {
248249
messages := createTestMessages(10)
249-
250+
250251
params := PaginationParams{
251252
Limit: 10,
252253
After: "invalid-cursor",
253254
}
254-
255+
255256
_, _, err := PaginateMessages(messages, params)
256-
assert.Error(t, err)
257+
require.Error(t, err)
257258
assert.Contains(t, err.Error(), "invalid after cursor")
258259
}

0 commit comments

Comments
 (0)