MCPcopy
hub / github.com/gotify/server / TestGetMessagesSince

Method TestGetMessagesSince

database/message_test.go:150–224  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

148}
149
150func (s *DatabaseSuite) TestGetMessagesSince() {
151 user := &model.User{Name: "test", Pass: []byte{1}}
152 require.NoError(s.T(), s.db.CreateUser(user))
153
154 app := &model.Application{UserID: user.ID, Token: "A0000000000"}
155 app2 := &model.Application{UserID: user.ID, Token: "A0000000001"}
156 require.NoError(s.T(), s.db.CreateApplication(app))
157 require.NoError(s.T(), s.db.CreateApplication(app2))
158
159 curDate := time.Now()
160 for i := 1; i <= 500; i++ {
161 s.db.CreateMessage(&model.Message{ApplicationID: app.ID, Message: "abc", Date: curDate.Add(time.Duration(i) * time.Second)})
162 s.db.CreateMessage(&model.Message{ApplicationID: app2.ID, Message: "abc", Date: curDate.Add(time.Duration(i) * time.Second)})
163 }
164
165 actual, err := s.db.GetMessagesByUserSince(user.ID, 50, 0)
166 require.NoError(s.T(), err)
167 assert.Len(s.T(), actual, 50)
168 hasIDInclusiveBetween(s.T(), actual, 1000, 951, 1)
169
170 actual, err = s.db.GetMessagesByUserSince(user.ID, 50, 951)
171 require.NoError(s.T(), err)
172 assert.Len(s.T(), actual, 50)
173 hasIDInclusiveBetween(s.T(), actual, 950, 901, 1)
174
175 actual, err = s.db.GetMessagesByUserSince(user.ID, 100, 951)
176 require.NoError(s.T(), err)
177 assert.Len(s.T(), actual, 100)
178 hasIDInclusiveBetween(s.T(), actual, 950, 851, 1)
179
180 actual, err = s.db.GetMessagesByUserSince(user.ID, 100, 51)
181 require.NoError(s.T(), err)
182 assert.Len(s.T(), actual, 50)
183 hasIDInclusiveBetween(s.T(), actual, 50, 1, 1)
184
185 actual, err = s.db.GetMessagesByApplicationSince(app.ID, 50, 0)
186 require.NoError(s.T(), err)
187 assert.Len(s.T(), actual, 50)
188 hasIDInclusiveBetween(s.T(), actual, 999, 901, 2)
189
190 actual, err = s.db.GetMessagesByApplicationSince(app.ID, 50, 901)
191 require.NoError(s.T(), err)
192 assert.Len(s.T(), actual, 50)
193 hasIDInclusiveBetween(s.T(), actual, 899, 801, 2)
194
195 actual, err = s.db.GetMessagesByApplicationSince(app.ID, 100, 666)
196 require.NoError(s.T(), err)
197 assert.Len(s.T(), actual, 100)
198 hasIDInclusiveBetween(s.T(), actual, 665, 467, 2)
199
200 actual, err = s.db.GetMessagesByApplicationSince(app.ID, 100, 101)
201 require.NoError(s.T(), err)
202 assert.Len(s.T(), actual, 50)
203 hasIDInclusiveBetween(s.T(), actual, 99, 1, 2)
204
205 actual, err = s.db.GetMessagesByApplicationSince(app2.ID, 50, 0)
206 require.NoError(s.T(), err)
207 assert.Len(s.T(), actual, 50)

Callers

nothing calls this directly

Calls 6

hasIDInclusiveBetweenFunction · 0.85
CreateUserMethod · 0.65
CreateApplicationMethod · 0.65
CreateMessageMethod · 0.65

Tested by

no test coverage detected