Skip to content

Commit 95e0025

Browse files
committed
Test: add tests for window keyset position after first page
Signed-off-by: Artemiy Chereshnevvv <[email protected]>
1 parent 25912da commit 95e0025

File tree

1 file changed

+43
-21
lines changed

1 file changed

+43
-21
lines changed

spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/JdbcRepositoryIntegrationTests.java

Lines changed: 43 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1465,8 +1465,8 @@ void queryByByteArray() {
14651465

14661466
@Test
14671467
void queryByWindowOffset() {
1468-
DummyEntity one = repository.save(createEntity("one"));
1469-
DummyEntity two = repository.save(createEntity("two"));
1468+
repository.save(createEntity("one"));
1469+
repository.save(createEntity("two"));
14701470
DummyEntity three = repository.save(createEntity("three"));
14711471

14721472
WindowIterator<DummyEntity> iter = WindowIterator.of(position -> repository.findFirst2ByOrderByIdPropAsc(position))
@@ -1481,8 +1481,8 @@ void queryByWindowOffset() {
14811481

14821482
@Test
14831483
void queryByWindowKeyset() {
1484-
DummyEntity one = repository.save(createEntity("one"));
1485-
DummyEntity two = repository.save(createEntity("two"));
1484+
repository.save(createEntity("one"));
1485+
repository.save(createEntity("two"));
14861486
DummyEntity three = repository.save(createEntity("three"));
14871487

14881488
WindowIterator<DummyEntity> iter = WindowIterator.of(position -> repository.findFirst2ByOrderByIdPropAsc(position))
@@ -1498,8 +1498,8 @@ void queryByWindowKeyset() {
14981498
@Test
14991499
void queryByWindowKeySetDesc() {
15001500
DummyEntity one = repository.save(createEntity("one"));
1501-
DummyEntity two = repository.save(createEntity("two"));
1502-
DummyEntity three = repository.save(createEntity("three"));
1501+
repository.save(createEntity("two"));
1502+
repository.save(createEntity("three"));
15031503

15041504
WindowIterator<DummyEntity> iter = WindowIterator.of(position -> repository.findFirst2ByOrderByIdPropDesc(position))
15051505
.startingAt(ScrollPosition.keyset());
@@ -1513,10 +1513,10 @@ void queryByWindowKeySetDesc() {
15131513

15141514
@Test
15151515
void queryByWindowKeySetDescBackward() {
1516-
DummyEntity one = repository.save(createEntity("one"));
1517-
DummyEntity two = repository.save(createEntity("two"));
1518-
DummyEntity three = repository.save(createEntity("three"));
1519-
DummyEntity four = repository.save(createEntity("four"));
1516+
repository.save(createEntity("one"));
1517+
repository.save(createEntity("two"));
1518+
repository.save(createEntity("three"));
1519+
repository.save(createEntity("four"));
15201520
DummyEntity five = repository.save(createEntity("five"));
15211521

15221522
WindowIterator<DummyEntity> iter = WindowIterator.of(position -> repository.findFirst2ByOrderByIdPropDesc(position))
@@ -1532,10 +1532,10 @@ void queryByWindowKeySetDescBackward() {
15321532
@Test
15331533
void queryByWindowKeySetAscBackward() {
15341534
DummyEntity one = repository.save(createEntity("one"));
1535-
DummyEntity two = repository.save(createEntity("two"));
1536-
DummyEntity three = repository.save(createEntity("three"));
1537-
DummyEntity four = repository.save(createEntity("four"));
1538-
DummyEntity five = repository.save(createEntity("five"));
1535+
repository.save(createEntity("two"));
1536+
repository.save(createEntity("three"));
1537+
repository.save(createEntity("four"));
1538+
repository.save(createEntity("five"));
15391539

15401540
WindowIterator<DummyEntity> iter = WindowIterator.of(position -> repository.findFirst2ByOrderByIdPropAsc(position))
15411541
.startingAt(ScrollPosition.backward(Map.of("idProp", 5)));
@@ -1561,10 +1561,10 @@ void queryByWindowKeySetEmptyDb() {
15611561

15621562
@Test
15631563
void queryByWindowKeySetTwoKeys() {
1564-
DummyEntity one = repository.save(createEntity("one", it -> it.setPointInTime(Instant.ofEpochSecond(1000))));
1565-
DummyEntity two = repository.save(createEntity("two", it -> it.setPointInTime(Instant.ofEpochSecond(2000))));
1566-
DummyEntity three = repository.save(createEntity("three", it -> it.setPointInTime(Instant.ofEpochSecond(3000))));
1567-
DummyEntity four = repository.save(createEntity("four", it -> it.setPointInTime(Instant.ofEpochSecond(4000))));
1564+
repository.save(createEntity("one", it -> it.setPointInTime(Instant.ofEpochSecond(1000))));
1565+
repository.save(createEntity("two", it -> it.setPointInTime(Instant.ofEpochSecond(2000))));
1566+
repository.save(createEntity("three", it -> it.setPointInTime(Instant.ofEpochSecond(3000))));
1567+
repository.save(createEntity("four", it -> it.setPointInTime(Instant.ofEpochSecond(4000))));
15681568
DummyEntity five = repository.save(createEntity("five", it -> it.setPointInTime(Instant.ofEpochSecond(5000))));
15691569

15701570
WindowIterator<DummyEntity> iter = WindowIterator.of(position -> repository.findFirst2ByOrderByIdPropAsc(position))
@@ -1579,9 +1579,9 @@ void queryByWindowKeySetTwoKeys() {
15791579

15801580
@Test
15811581
void queryByWindowOffsetPosition() {
1582-
DummyEntity one = repository.save(createEntity("one", it -> it.setPointInTime(Instant.ofEpochSecond(1000))));
1583-
DummyEntity two = repository.save(createEntity("two", it -> it.setPointInTime(Instant.ofEpochSecond(2000))));
1584-
DummyEntity three = repository.save(createEntity("three", it -> it.setPointInTime(Instant.ofEpochSecond(3000))));
1582+
repository.save(createEntity("one", it -> it.setPointInTime(Instant.ofEpochSecond(1000))));
1583+
repository.save(createEntity("two", it -> it.setPointInTime(Instant.ofEpochSecond(2000))));
1584+
repository.save(createEntity("three", it -> it.setPointInTime(Instant.ofEpochSecond(3000))));
15851585

15861586
Window<DummyEntity> result = repository.findFirst2ByOrderByIdPropAsc(ScrollPosition.offset());
15871587
assertSoftly(softAssertions -> {
@@ -1594,6 +1594,28 @@ void queryByWindowOffsetPosition() {
15941594
});
15951595
}
15961596

1597+
@Test
1598+
void queryByWindowKeysetPosition() {
1599+
repository.save(createEntity("one", it -> it.setPointInTime(Instant.ofEpochSecond(1000))));
1600+
repository.save(createEntity("two", it -> it.setPointInTime(Instant.ofEpochSecond(2000))));
1601+
repository.save(createEntity("three", it -> it.setPointInTime(Instant.ofEpochSecond(3000))));
1602+
1603+
Window<DummyEntity> result = repository.findFirst2ByOrderByIdPropAsc(ScrollPosition.keyset());
1604+
assertSoftly(softAssertions -> {
1605+
softAssertions.assertThat(result.hasNext()).isTrue();
1606+
softAssertions.assertThat(result.size()).isEqualTo(2);
1607+
1608+
ScrollPosition position = result.positionAt(0);
1609+
softAssertions.assertThat(position.isInitial()).isFalse();
1610+
1611+
Map<String, Object> keys = ((KeysetScrollPosition) position).getKeys();
1612+
softAssertions.assertThat(keys.containsKey("idProp")).isTrue();
1613+
1614+
Long idProp = (Long) keys.get("idProp");
1615+
softAssertions.assertThat(idProp).isEqualTo(2);
1616+
});
1617+
}
1618+
15971619
private Root createRoot(String namePrefix) {
15981620

15991621
return new Root(null, namePrefix,

0 commit comments

Comments
 (0)