Skip to content

Commit b0a8f20

Browse files
Remove implementation/TestSuiteBase.java and tests using internal APIs
Per reviewer feedback, removed internal API support from rx/TestSuiteBase.java and deleted tests that depended on implementation/TestSuiteBase.java or internal APIs like AsyncDocumentClient. - Deleted implementation/TestSuiteBase.java - Deleted OfferQueryTest, ReadFeedOffersTest, ResourceTokenTest, ChangeFeedTest - Deleted implementation tests: ConsistencyTests*, SessionTest, RetryTests, etc. - Deleted directconnectivity tests: DCDocumentCrudTest, GatewayAddressCacheTest - Rewrote OfferReadReplaceTest to use public throughput APIs - Moved createSessionToken helper to CosmosItemTest.java Co-authored-by: kushagraThapar <14034156+kushagraThapar@users.noreply.github.com>
1 parent 25d15b6 commit b0a8f20

30 files changed

Lines changed: 106 additions & 12271 deletions

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/CosmosItemTest.java

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66

77
package com.azure.cosmos;
88

9-
import com.azure.cosmos.implementation.ConsistencyTestsBase;
109
import com.azure.cosmos.implementation.HttpConstants;
1110
import com.azure.cosmos.implementation.ISessionToken;
1211
import com.azure.cosmos.implementation.ImplementationBridgeHelpers;
1312
import com.azure.cosmos.implementation.InternalObjectNode;
1413
import com.azure.cosmos.implementation.OperationType;
1514
import com.azure.cosmos.implementation.SessionTokenHelper;
1615
import com.azure.cosmos.implementation.Utils;
16+
import com.azure.cosmos.implementation.VectorSessionToken;
17+
import com.azure.cosmos.implementation.apachecommons.collections.map.UnmodifiableMap;
1718
import com.azure.cosmos.implementation.apachecommons.lang.StringUtils;
1819
import com.azure.cosmos.implementation.apachecommons.lang.tuple.ImmutablePair;
1920
import com.azure.cosmos.models.CosmosClientTelemetryConfig;
@@ -54,6 +55,8 @@
5455
import reactor.core.publisher.Mono;
5556
import reactor.core.scheduler.Schedulers;
5657

58+
import java.lang.reflect.Constructor;
59+
import java.lang.reflect.Field;
5760
import java.nio.charset.StandardCharsets;
5861
import java.time.Duration;
5962
import java.util.ArrayList;
@@ -1495,7 +1498,7 @@ private static String bumpUpLsnInSessionToken(String originalSessionToken) {
14951498
String[] tokenParts = StringUtils.split(originalSessionToken, ":");
14961499
ISessionToken sessionToken = SessionTokenHelper.parse(originalSessionToken);
14971500
ISessionToken modifiedSessionToken
1498-
= ConsistencyTestsBase.createSessionToken(sessionToken, 100000000);
1501+
= createSessionToken(sessionToken, 100000000);
14991502

15001503
return tokenParts[0] + ":" + modifiedSessionToken.convertToString();
15011504
} catch (Exception ex) {
@@ -1505,6 +1508,28 @@ private static String bumpUpLsnInSessionToken(String originalSessionToken) {
15051508
return originalSessionToken;
15061509
}
15071510

1511+
@SuppressWarnings({"unchecked", "rawtypes"})
1512+
private static ISessionToken createSessionToken(ISessionToken from, long globalLSN) throws Exception {
1513+
// Creates session token with specified GlobalLSN
1514+
if (from instanceof VectorSessionToken) {
1515+
VectorSessionToken fromSessionToken = (VectorSessionToken) from;
1516+
Field fieldVersion = VectorSessionToken.class.getDeclaredField("version");
1517+
fieldVersion.setAccessible(true);
1518+
Long version = (Long) fieldVersion.get(fromSessionToken);
1519+
1520+
Field fieldLocalLsnByRegion = VectorSessionToken.class.getDeclaredField("localLsnByRegion");
1521+
fieldLocalLsnByRegion.setAccessible(true);
1522+
UnmodifiableMap<Integer, Long> localLsnByRegion = (UnmodifiableMap<Integer, Long>) fieldLocalLsnByRegion.get(fromSessionToken);
1523+
1524+
Constructor<VectorSessionToken> constructor = VectorSessionToken.class.getDeclaredConstructor(long.class, long.class, UnmodifiableMap.class);
1525+
constructor.setAccessible(true);
1526+
VectorSessionToken vectorSessionToken = constructor.newInstance(version, globalLSN, localLsnByRegion);
1527+
return vectorSessionToken;
1528+
} else {
1529+
throw new IllegalArgumentException();
1530+
}
1531+
}
1532+
15081533
private static String replacePkRangeIdInSessionToken(String originalSessionToken, String partitionKeyRangeId) {
15091534
try {
15101535
String[] tokenParts = StringUtils.split(originalSessionToken, ":");

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/implementation/ConsistencyTests1.java

Lines changed: 0 additions & 425 deletions
This file was deleted.

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/implementation/ConsistencyTests2.java

Lines changed: 0 additions & 383 deletions
This file was deleted.

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/implementation/ConsistencyTestsBase.java

Lines changed: 0 additions & 1066 deletions
This file was deleted.

sdk/cosmos/azure-cosmos-tests/src/test/java/com/azure/cosmos/implementation/DocumentQuerySpyWireContentTest.java

Lines changed: 0 additions & 214 deletions
This file was deleted.

0 commit comments

Comments
 (0)