Skip to content

Commit fe71b72

Browse files
Use Long update counts in test code
1 parent fb5358b commit fe71b72

File tree

5 files changed

+41
-38
lines changed

5 files changed

+41
-38
lines changed

src/test/java/oracle/r2dbc/impl/OracleConnectionImplTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -952,7 +952,7 @@ public void testSetAutoCommit() {
952952
"Unexpected value returned by isAutoCommit() before subscribing to"
953953
+ " setAutoCommit(true) publisher");
954954
awaitMany(
955-
List.of(1, 1),
955+
List.of(1L, 1L),
956956
Flux.from(sessionA.createBatch()
957957
.add("INSERT INTO testSetAutoCommit VALUES ('C')")
958958
.add("INSERT INTO testSetAutoCommit VALUES ('C')")

src/test/java/oracle/r2dbc/impl/OracleResultImplTest.java

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ public void testGetRowsUpdated() {
8989
.toIterable()
9090
.iterator();
9191
Result insertResult0 = insertResults.next();
92-
Publisher<Integer> insertCountPublisher0 =
92+
Publisher<Long> insertCountPublisher0 =
9393
insertResult0.getRowsUpdated();
94-
awaitOne(1, insertCountPublisher0);
94+
awaitOne(1L, insertCountPublisher0);
9595

9696
// Expect IllegalStateException from multiple Result consumptions.
9797
assertThrows(IllegalStateException.class,
@@ -100,12 +100,12 @@ public void testGetRowsUpdated() {
100100
() -> insertResult0.map((row, metadata) -> "unexpected"));
101101

102102
// Expect update count publisher to support multiple subscribers
103-
awaitOne(1, insertCountPublisher0);
103+
awaitOne(1L, insertCountPublisher0);
104104

105105
Result insertResult1 = insertResults.next();
106-
Publisher<Integer> insertCountPublisher1 =
106+
Publisher<Long> insertCountPublisher1 =
107107
insertResult1.getRowsUpdated();
108-
awaitOne(1, insertCountPublisher1);
108+
awaitOne(1L, insertCountPublisher1);
109109

110110
// Expect IllegalStateException from multiple Result consumptions.
111111
assertThrows(IllegalStateException.class,
@@ -114,53 +114,53 @@ public void testGetRowsUpdated() {
114114
() -> insertResult1.map((row, metadata) -> "unexpected"));
115115

116116
// Expect update count publisher to support multiple subscribers
117-
awaitOne(1, insertCountPublisher1);
117+
awaitOne(1L, insertCountPublisher1);
118118

119119
// Expect an update count of zero from UPDATE of zero rows
120120
consumeOne(connection.createStatement(
121121
"UPDATE testGetRowsUpdated SET y = 99 WHERE x = 99")
122122
.execute(),
123123
noUpdateResult -> {
124-
Publisher<Integer> noUpdateCountPublisher =
124+
Publisher<Long> noUpdateCountPublisher =
125125
noUpdateResult.getRowsUpdated();
126-
awaitOne(0, noUpdateCountPublisher);
126+
awaitOne(0L, noUpdateCountPublisher);
127127

128128
// Expect IllegalStateException from multiple Result consumptions.
129129
assertThrows(IllegalStateException.class,
130130
() -> noUpdateResult.map((row, metadata) -> "unexpected"));
131131
assertThrows(IllegalStateException.class, noUpdateResult::getRowsUpdated);
132132

133133
// Expect update count publisher to support multiple subscribers
134-
awaitOne(0, noUpdateCountPublisher);
134+
awaitOne(0L, noUpdateCountPublisher);
135135
});
136136

137137
// Expect update count of 2 from UPDATE of 2 rows
138138
consumeOne(connection.createStatement(
139139
"UPDATE testGetRowsUpdated SET y = 2 WHERE x = 0")
140140
.execute(),
141141
updateResult -> {
142-
Publisher<Integer> updateCountPublisher = updateResult.getRowsUpdated();
143-
awaitOne(2, updateCountPublisher);
142+
Publisher<Long> updateCountPublisher = updateResult.getRowsUpdated();
143+
awaitOne(2L, updateCountPublisher);
144144

145145
// Expect IllegalStateException from multiple Result consumptions.
146146
assertThrows(IllegalStateException.class,
147147
() -> updateResult.map((row, metadata) -> "unexpected"));
148148
assertThrows(IllegalStateException.class, updateResult::getRowsUpdated);
149149

150150
// Expect update count publisher to support multiple subscribers
151-
awaitOne(2, updateCountPublisher);
151+
awaitOne(2L, updateCountPublisher);
152152
});
153153

154154
// Expect no update count from SELECT
155155
awaitNone(Mono.from(connection.createStatement(
156156
"SELECT x,y FROM testGetRowsUpdated")
157157
.execute())
158158
.flatMapMany(selectResult -> {
159-
Publisher<Integer> selectCountPublisher =
159+
Publisher<Long> selectCountPublisher =
160160
selectResult.getRowsUpdated();
161161

162162
// Expect update count publisher to support multiple subscribers
163-
Publisher<Integer> result = Flux.concat(
163+
Publisher<Long> result = Flux.concat(
164164
Mono.from(selectCountPublisher).cache(),
165165
Mono.from(selectCountPublisher).cache());
166166

@@ -178,16 +178,16 @@ public void testGetRowsUpdated() {
178178
.bind("x", 0)
179179
.execute(),
180180
deleteResult -> {
181-
Publisher<Integer> deleteCountPublisher = deleteResult.getRowsUpdated();
182-
awaitOne(2, deleteCountPublisher);
181+
Publisher<Long> deleteCountPublisher = deleteResult.getRowsUpdated();
182+
awaitOne(2L, deleteCountPublisher);
183183

184184
// Expect IllegalStateException from multiple Result consumptions.
185185
assertThrows(IllegalStateException.class,
186186
() -> deleteResult.map((row, metadata) -> "unexpected"));
187187
assertThrows(IllegalStateException.class, deleteResult::getRowsUpdated);
188188

189189
// Expect update count publisher to support multiple subscribers
190-
awaitOne(2, deleteCountPublisher);
190+
awaitOne(2L, deleteCountPublisher);
191191
});
192192
}
193193
finally {
@@ -473,7 +473,7 @@ public void testFilter() {
473473
// UpdateCount segment to be published by getRowsUpdated
474474
AtomicReference<UpdateCount> unfilteredUpdateCount =
475475
new AtomicReference<>(null);
476-
awaitOne(1, Flux.from(connection.createStatement(
476+
awaitOne(1L, Flux.from(connection.createStatement(
477477
"INSERT INTO testFilter VALUES (1)")
478478
.execute())
479479
.map(result ->
@@ -529,7 +529,7 @@ public void testFilter() {
529529
.execute())
530530
.block(sqlTimeout());
531531
Result filteredResult = unfilteredResult.filter(segment -> false);
532-
Publisher<Integer> filteredUpdateCounts = filteredResult.getRowsUpdated();
532+
Publisher<Long> filteredUpdateCounts = filteredResult.getRowsUpdated();
533533
assertThrows(
534534
IllegalStateException.class, unfilteredResult::getRowsUpdated);
535535
assertThrows(
@@ -545,13 +545,13 @@ public void testFilter() {
545545
.block(sqlTimeout());
546546
Result filteredResult2 = unfilteredResult2.filter(segment ->
547547
fail("Unexpected invocation"));
548-
Publisher<Integer> unfilteredUpdateCounts =
548+
Publisher<Long> unfilteredUpdateCounts =
549549
unfilteredResult2.getRowsUpdated();
550550
assertThrows(
551551
IllegalStateException.class, filteredResult2::getRowsUpdated);
552552
assertThrows(
553553
IllegalStateException.class, unfilteredResult2::getRowsUpdated);
554-
awaitOne(1, unfilteredUpdateCounts);
554+
awaitOne(1L, unfilteredUpdateCounts);
555555

556556
// Execute an INSERT that fails, and filter Message type segments.
557557
// Expect the Result to not emit {@code onError} when consumed.

src/test/java/oracle/r2dbc/impl/OracleStatementImplTest.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,10 @@
4545
import java.util.NoSuchElementException;
4646
import java.util.concurrent.ForkJoinPool;
4747
import java.util.concurrent.atomic.AtomicInteger;
48+
import java.util.concurrent.atomic.AtomicLong;
4849
import java.util.stream.Collectors;
4950
import java.util.stream.IntStream;
51+
import java.util.stream.LongStream;
5052
import java.util.stream.Stream;
5153

5254
import static java.util.Arrays.asList;
@@ -811,7 +813,7 @@ public void testAdd() {
811813

812814
// Expect the statement to execute with previously added binds, and
813815
// then emit an error if binds are missing in the final set of binds.
814-
List<Signal<Integer>> signals =
816+
List<Signal<Long>> signals =
815817
awaitOne(Flux.from(connection.createStatement(
816818
"INSERT INTO testAdd VALUES (:x, :y)")
817819
.bind("x", 0).bind("y", 1).add()
@@ -911,7 +913,7 @@ public void testExecute() {
911913
selectStatement::execute);
912914

913915
// Expect update to execute when a subscriber subscribes
914-
awaitOne(1,
916+
awaitOne(1L,
915917
Flux.from(updatePublisher)
916918
.flatMap(result -> result.getRowsUpdated()));
917919
awaitQuery(
@@ -1767,9 +1769,9 @@ public void testNoOutImplicitResult() {
17671769
IntStream.range(0, 100)
17681770
.forEach(i -> insert.bind(0, i).add());
17691771
insert.bind(0, 100);
1770-
awaitOne(101, Flux.from(insert.execute())
1772+
awaitOne(101L, Flux.from(insert.execute())
17711773
.flatMap(Result::getRowsUpdated)
1772-
.reduce(0, (total, updateCount) -> total + updateCount));
1774+
.reduce(0L, (total, updateCount) -> total + updateCount));
17731775

17741776
// Create a procedure that returns a cursor
17751777
awaitExecution(connection.createStatement(
@@ -1844,8 +1846,8 @@ public void testNoOutImplicitResult() {
18441846
.collectList()));
18451847

18461848
// Expect Implicit Results to have no update counts
1847-
AtomicInteger count = new AtomicInteger(-9);
1848-
awaitMany(asList(-9, -10),
1849+
AtomicLong count = new AtomicLong(-9);
1850+
awaitMany(asList(-9L, -10L),
18491851
Flux.from(connection.createStatement("BEGIN countDown; END;")
18501852
.execute())
18511853
.concatMap(result ->
@@ -1878,9 +1880,9 @@ public void testOutAndImplicitResult() {
18781880
IntStream.range(0, 100)
18791881
.forEach(i -> insert.bind(0, i).add());
18801882
insert.bind(0, 100);
1881-
awaitOne(101, Flux.from(insert.execute())
1883+
awaitOne(101L, Flux.from(insert.execute())
18821884
.flatMap(Result::getRowsUpdated)
1883-
.reduce(0, (total, updateCount) -> total + updateCount));
1885+
.reduce(0L, (total, updateCount) -> total + updateCount));
18841886

18851887
// Create a procedure that returns a cursor
18861888
awaitExecution(connection.createStatement(
@@ -1961,8 +1963,8 @@ public void testOutAndImplicitResult() {
19611963
.collectList()));
19621964

19631965
// Expect Implicit Results to have no update counts
1964-
AtomicInteger count = new AtomicInteger(-8);
1965-
awaitMany(asList(-8, -9, -10),
1966+
AtomicLong count = new AtomicLong(-8);
1967+
awaitMany(asList(-8L, -9L, -10L),
19661968
Flux.from(connection.createStatement("BEGIN countDown(?); END;")
19671969
.bind(0, Parameters.out(R2dbcType.VARCHAR))
19681970
.execute())
@@ -2083,7 +2085,7 @@ public void testConcurrentFetch() {
20832085

20842086
// Create many statements and execute them in parallel. "Many" should
20852087
// be enough to exhaust the common ForkJoinPool if any thread gets blocked
2086-
Publisher<Integer>[] publishers =
2088+
Publisher<Long>[] publishers =
20872089
new Publisher[ForkJoinPool.getCommonPoolParallelism() * 4];
20882090

20892091
for (int i = 0; i < publishers.length; i++) {
@@ -2098,9 +2100,9 @@ public void testConcurrentFetch() {
20982100
statement.add().bind(0, value);
20992101
});
21002102

2101-
Mono<Integer> mono = Flux.from(statement.execute())
2103+
Mono<Long> mono = Flux.from(statement.execute())
21022104
.flatMap(Result::getRowsUpdated)
2103-
.collect(Collectors.summingInt(Integer::intValue))
2105+
.collect(Collectors.summingLong(Long::longValue))
21042106
.cache();
21052107

21062108
// Execute in parallel, and retain the result for verification later
@@ -2110,7 +2112,7 @@ public void testConcurrentFetch() {
21102112

21112113
// Expect each publisher to emit an update count of 100
21122114
awaitMany(
2113-
IntStream.range(0, publishers.length)
2115+
LongStream.range(0, publishers.length)
21142116
.map(i -> 100)
21152117
.boxed()
21162118
.collect(Collectors.toList()),

src/test/java/oracle/r2dbc/test/OracleTestKit.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,9 @@ private Object extractColumn(String name, Row row) {
213213
* </p>
214214
*/
215215
@Override
216-
public Mono<Integer> extractRowsUpdated(Result result) {
216+
public Mono<Long> extractRowsUpdated(Result result) {
217217
return Flux.from(result.getRowsUpdated())
218-
.reduce(0, (total, updateCount) -> total + updateCount);
218+
.reduce(0L, (total, updateCount) -> total + updateCount);
219219
}
220220

221221
@Override

src/test/java/oracle/r2dbc/util/Awaits.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ public static void awaitUpdate(
269269
expectedCounts,
270270
Flux.from(statement.execute())
271271
.flatMap(result -> Flux.from(result.getRowsUpdated()))
272+
.map(Math::toIntExact)
272273
.collectList()
273274
.block(sqlTimeout()),
274275
"Unexpected update counts");

0 commit comments

Comments
 (0)