@@ -354,4 +354,30 @@ class FossilDBSuite extends FlatSpec with BeforeAndAfterEach with TestHelpers wi
354354 assert(testData1 == reply.value)
355355 }
356356
357+ " ListVersions" should " list all versions" in {
358+ client.put(PutRequest (collectionA, aKey, Some (0 ), testData1))
359+ client.put(PutRequest (collectionA, aKey, Some (2 ), testData1))
360+ client.put(PutRequest (collectionA, aKey, Some (3 ), testData1))
361+ client.put(PutRequest (collectionA, aNotherKey, Some (0 ), testData1))
362+ val reply = client.listVersions(ListVersionsRequest (collectionA, aKey))
363+ assert(reply.versions.length == 3 )
364+ assert(reply.versions.contains(0 ))
365+ assert(! reply.versions.contains(1 ))
366+ assert(reply.versions.contains(2 ))
367+ assert(reply.versions.contains(3 ))
368+ }
369+
370+ " ListVersions" should " support pagination" in {
371+ client.put(PutRequest (collectionA, aKey, Some (0 ), testData1))
372+ client.put(PutRequest (collectionA, aKey, Some (1 ), testData1))
373+ client.put(PutRequest (collectionA, aKey, Some (2 ), testData1))
374+ client.put(PutRequest (collectionA, aKey, Some (3 ), testData1))
375+ client.put(PutRequest (collectionA, aNotherKey, Some (0 ), testData1))
376+ val reply = client.listVersions(ListVersionsRequest (collectionA, aKey, offset = Some (1 ), limit = Some (2 )))
377+ assert(reply.versions.length == 2 )
378+ assert(! reply.versions.contains(0 ))
379+ assert(reply.versions.contains(1 ))
380+ assert(reply.versions.contains(2 ))
381+ }
382+
357383}
0 commit comments