Skip to content

Commit ccf3971

Browse files
committed
Tests - query tests need 7.1.0 for MB-50132
Any tests that are creating collections and require the indexer to be aware of those collections, needs MB-50132. Change-Id: Idabc2c4b24f8fdda954dbacc9bb1a0548fa898bf Reviewed-on: https://review.couchbase.org/c/couchbase-jvm-clients/+/183226 Reviewed-by: Michael Reiche <[email protected]> Tested-by: Build Bot <[email protected]>
1 parent b113cc3 commit ccf3971

File tree

10 files changed

+46
-18
lines changed

10 files changed

+46
-18
lines changed

java-client/src/integrationTest/java/com/couchbase/client/java/AnalyticsCollectionIntegrationTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import static com.couchbase.client.java.manager.analytics.CreateDatasetAnalyticsOptions.createDatasetAnalyticsOptions;
5454
import static com.couchbase.client.java.manager.analytics.DropDatasetAnalyticsOptions.dropDatasetAnalyticsOptions;
5555
import static com.couchbase.client.java.manager.analytics.DropIndexAnalyticsOptions.dropIndexAnalyticsOptions;
56+
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.REQUIRE_MB_50132;
5657
import static com.couchbase.client.test.Util.waitUntilCondition;
5758
import static java.util.Collections.singletonMap;
5859
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -65,6 +66,7 @@
6566
*/
6667
@IgnoreWhen(
6768
missesCapabilities = {Capabilities.ANALYTICS, Capabilities.COLLECTIONS},
69+
clusterVersionIsBelow = REQUIRE_MB_50132,
6870
clusterTypes = ClusterType.CAVES
6971
)
7072
class AnalyticsCollectionIntegrationTest extends JavaIntegrationTest {

java-client/src/integrationTest/java/com/couchbase/client/java/QueryCollectionIntegrationTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import static com.couchbase.client.core.util.CbThrowables.throwIfUnchecked;
5454
import static com.couchbase.client.java.AsyncUtils.block;
5555
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.DISABLE_QUERY_TESTS_FOR_CLUSTER;
56+
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.REQUIRE_MB_50132;
5657
import static com.couchbase.client.java.query.QueryOptions.queryOptions;
5758
import static com.couchbase.client.test.Util.waitUntilCondition;
5859
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -65,10 +66,10 @@
6566
* <p>
6667
* @author Michael Reiche
6768
*/
68-
// Using SUBDOC_REVIVE_DOCUMENT as a proxy for 7.1.0 so we get fix for MB-50132
6969
@IgnoreWhen(
70-
missesCapabilities = { Capabilities.QUERY, Capabilities.COLLECTIONS, Capabilities.SUBDOC_REVIVE_DOCUMENT },
70+
missesCapabilities = { Capabilities.QUERY, Capabilities.COLLECTIONS },
7171
clusterTypes = { ClusterType.MOCKED, ClusterType.CAVES },
72+
clusterVersionIsBelow = REQUIRE_MB_50132,
7273
clusterVersionEquals = DISABLE_QUERY_TESTS_FOR_CLUSTER
7374
)
7475
class QueryCollectionIntegrationTest extends JavaIntegrationTest {

java-client/src/integrationTest/java/com/couchbase/client/java/QueryConcurrencyIntegrationTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.concurrent.TimeUnit;
3838

3939
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.DISABLE_QUERY_TESTS_FOR_CLUSTER;
40+
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.REQUIRE_MB_50132;
4041
import static com.couchbase.client.java.query.QueryOptions.queryOptions;
4142
import static org.junit.jupiter.api.Assertions.assertEquals;
4243
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -45,6 +46,7 @@
4546
@IgnoreWhen(
4647
missesCapabilities = Capabilities.QUERY,
4748
clusterVersionEquals = DISABLE_QUERY_TESTS_FOR_CLUSTER,
49+
clusterVersionIsBelow = REQUIRE_MB_50132,
4850
clusterTypes = ClusterType.CAVES
4951
)
5052
class QueryConcurrencyIntegrationTest extends JavaIntegrationTest {

java-client/src/integrationTest/java/com/couchbase/client/java/QueryIntegrationTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import java.util.concurrent.CompletableFuture;
5353

5454
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.DISABLE_QUERY_TESTS_FOR_CLUSTER;
55+
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.REQUIRE_MB_50132;
5556
import static com.couchbase.client.java.query.QueryOptions.queryOptions;
5657
import static org.junit.jupiter.api.Assertions.assertEquals;
5758
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -67,6 +68,7 @@
6768
@IgnoreWhen(
6869
missesCapabilities = Capabilities.QUERY,
6970
clusterVersionEquals = DISABLE_QUERY_TESTS_FOR_CLUSTER,
71+
clusterVersionIsBelow = REQUIRE_MB_50132,
7072
clusterTypes = ClusterType.CAVES
7173
)
7274
class QueryIntegrationTest extends JavaIntegrationTest {

java-client/src/integrationTest/java/com/couchbase/client/java/manager/query/QueryCollectionsIndexManagerIntegrationTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import static com.couchbase.client.java.manager.query.DropPrimaryQueryIndexOptions.dropPrimaryQueryIndexOptions;
4848
import static com.couchbase.client.java.manager.query.DropQueryIndexOptions.dropQueryIndexOptions;
4949
import static com.couchbase.client.java.manager.query.GetAllQueryIndexesOptions.getAllQueryIndexesOptions;
50+
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.REQUIRE_MB_50132;
5051
import static com.couchbase.client.java.manager.query.WatchQueryIndexesOptions.watchQueryIndexesOptions;
5152
import static com.couchbase.client.test.Capabilities.COLLECTIONS;
5253
import static com.couchbase.client.test.Capabilities.QUERY;
@@ -64,7 +65,9 @@
6465
/**
6566
* Very similar to the {@link QueryIndexManagerIntegrationTest}, but this one tests with scope and collection support.
6667
*/
67-
@IgnoreWhen(clusterTypes = { CAVES, MOCKED }, missesCapabilities = { QUERY, COLLECTIONS })
68+
@IgnoreWhen(clusterTypes = { CAVES, MOCKED },
69+
missesCapabilities = { QUERY, COLLECTIONS },
70+
clusterVersionIsBelow = REQUIRE_MB_50132)
6871
public class QueryCollectionsIndexManagerIntegrationTest extends JavaIntegrationTest {
6972

7073
// time to allow for watch operations that are expected to succeed eventually
@@ -87,9 +90,6 @@ static void setup() throws Exception {
8790
waitForService(bucket, ServiceType.QUERY);
8891
waitForQueryIndexerToHaveKeyspace(cluster, bucketName);
8992

90-
// Workaround for MB-50132
91-
Thread.sleep(3000);
92-
9393
bucket.collections().createScope(scopeName);
9494
bucket.collections().createCollection(CollectionSpec.create(collectionName, scopeName));
9595
waitForQueryIndexerToHaveKeyspace(cluster, collectionName);

java-client/src/integrationTest/java/com/couchbase/client/java/manager/query/QueryIndexManagerIntegrationTest.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import static com.couchbase.client.java.manager.query.DropQueryIndexOptions.dropQueryIndexOptions;
4646
import static com.couchbase.client.java.manager.query.GetAllQueryIndexesOptions.getAllQueryIndexesOptions;
4747
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.DISABLE_QUERY_TESTS_FOR_CLUSTER;
48+
import static com.couchbase.client.java.manager.query.QueryIndexManagerIntegrationTest.REQUIRE_MB_50132;
4849
import static com.couchbase.client.java.manager.query.WatchQueryIndexesOptions.watchQueryIndexesOptions;
4950
import static com.couchbase.client.test.Capabilities.QUERY;
5051
import static com.couchbase.client.test.ClusterType.CAVES;
@@ -58,12 +59,19 @@
5859
import static org.junit.jupiter.api.Assertions.assertThrows;
5960
import static org.junit.jupiter.api.Assertions.assertTrue;
6061

61-
// Disabling against 5.5 as there appear to be several query bugs (SCBC-246, SCBC-251). Hardcoding 5.5.6 as that's
62-
// the current 5.5-release and it's unlikely to change.
63-
@IgnoreWhen(clusterTypes = {CAVES, MOCKED}, missesCapabilities = QUERY, clusterVersionEquals = DISABLE_QUERY_TESTS_FOR_CLUSTER)
62+
@IgnoreWhen(clusterTypes = {CAVES, MOCKED},
63+
missesCapabilities = QUERY,
64+
clusterVersionEquals = DISABLE_QUERY_TESTS_FOR_CLUSTER,
65+
clusterVersionIsBelow = REQUIRE_MB_50132)
6466
public class QueryIndexManagerIntegrationTest extends JavaIntegrationTest {
67+
// Disabling against 5.5 as there appear to be several query bugs (SCBC-246, SCBC-251). Hardcoding 5.5.6 as that's
68+
// the current 5.5-release and it's unlikely to change.
69+
// This is now often redundant with REQUIRE_MB_50132 - leaving for documentation purposes.
6570
public static final String DISABLE_QUERY_TESTS_FOR_CLUSTER = "5.5.6";
6671

72+
// Any tests that are creating collections and require the indexer to be aware of those collections, needs MB-50132.
73+
public static final String REQUIRE_MB_50132 = "7.1.0";
74+
6775
// time to allow for watch operations that are expected to succeed eventually
6876
private static final Duration watchTimeout = Duration.ofSeconds(15);
6977

kotlin-client/src/integrationTest/kotlin/com/couchbase/client/kotlin/manager/query/QueryIndexManagerIntegrationTest.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,15 @@ import kotlin.time.Duration.Companion.seconds
4848
// Disabling against 5.5 as there appear to be several query bugs (SCBC-246, SCBC-251). Hardcoding 5.5.6 as that's
4949
// the current 5.5-release and it's unlikely to change.
5050
private const val DISABLE_QUERY_TESTS_FOR_CLUSTER = "5.5.6"
51+
// See QueryIndexManagerIntegrationTest for explanation
52+
private const val REQUIRE_MB_50132 = "7.1.0"
5153
private val watchTimeout = 15.seconds
5254

5355
@IgnoreWhen(
5456
clusterTypes = [ClusterType.CAVES, ClusterType.MOCKED],
5557
missesCapabilities = [Capabilities.QUERY],
5658
clusterVersionEquals = DISABLE_QUERY_TESTS_FOR_CLUSTER,
59+
clusterVersionIsBelow = REQUIRE_MB_50132
5760
)
5861
internal class QueryIndexManagerIntegrationTest : KotlinIntegrationTest() {
5962
private val indexes: QueryIndexManager by lazy { cluster.queryIndexes }

scala-client/src/integrationTest/scala/com/couchbase/client/scala/manager/QueryIndexManagerSpec.scala

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import com.couchbase.client.core.service.ServiceType
2727
import com.couchbase.client.scala.manager.bucket.CreateBucketSettings
2828
import com.couchbase.client.scala.manager.collection.CollectionSpec
2929
import com.couchbase.client.scala.manager.query.{QueryIndex, QueryIndexManager}
30+
import com.couchbase.client.scala.query.QuerySpec.RequireMB50132
3031
import com.couchbase.client.scala.util.ScalaIntegrationTest
3132
import com.couchbase.client.scala.{Cluster, Collection, TestUtils}
3233
import com.couchbase.client.test._
@@ -44,7 +45,8 @@ import scala.util.{Failure, Success, Try}
4445
@TestInstance(Lifecycle.PER_CLASS)
4546
@IgnoreWhen(
4647
clusterTypes = Array(ClusterType.MOCKED),
47-
missesCapabilities = Array(Capabilities.COLLECTIONS)
48+
missesCapabilities = Array(Capabilities.COLLECTIONS),
49+
clusterVersionIsBelow = RequireMB50132
4850
)
4951
class QueryIndexManagerSpec extends ScalaIntegrationTest {
5052
private var cluster: Cluster = _
@@ -458,8 +460,7 @@ class QueryIndexManagerSpec extends ScalaIntegrationTest {
458460
assert(cluster.reactive.queryIndexes.getAllIndexes(bucketName).collectSeq().block().size == 1)
459461
}
460462

461-
// Using SUBDOC_REVIVE_DOCUMENT to indicate 7.1 support as fix MB-50132 is required
462-
@IgnoreWhen(missesCapabilities = Array(Capabilities.SUBDOC_REVIVE_DOCUMENT))
463+
@IgnoreWhen(clusterVersionIsBelow = RequireMB50132)
463464
@Test
464465
def createCollectionIndex(): Unit = {
465466
val indexName = "myCollectionIndex"
@@ -491,8 +492,7 @@ class QueryIndexManagerSpec extends ScalaIntegrationTest {
491492
})
492493
}
493494

494-
// Using SUBDOC_REVIVE_DOCUMENT to indicate 7.1 support as fix MB-50132 is required
495-
@IgnoreWhen(missesCapabilities = Array(Capabilities.SUBDOC_REVIVE_DOCUMENT))
495+
@IgnoreWhen(clusterVersionIsBelow = RequireMB50132)
496496
@Test
497497
def dropCollectionIndex() = {
498498
val indexName = UUID.randomUUID().toString
@@ -521,8 +521,7 @@ class QueryIndexManagerSpec extends ScalaIntegrationTest {
521521
assert(cluster.queryIndexes.getAllIndexes(config.bucketname()).get.isEmpty)
522522
}
523523

524-
// Using SUBDOC_REVIVE_DOCUMENT to indicate 7.1 support as fix MB-50132 is required
525-
@IgnoreWhen(missesCapabilities = Array(Capabilities.SUBDOC_REVIVE_DOCUMENT))
524+
@IgnoreWhen(clusterVersionIsBelow = RequireMB50132)
526525
@Test
527526
def buildOneDeferredCollectionIndex() = {
528527
val indexName = UUID.randomUUID().toString

scala-client/src/integrationTest/scala/com/couchbase/client/scala/query/QuerySpec.scala

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import com.couchbase.client.scala.implicits.Codec
2525
import com.couchbase.client.scala.json.JsonObject
2626
import com.couchbase.client.scala.kv.MutationState
2727
import com.couchbase.client.scala.query.QueryScanConsistency.ConsistentWith
28+
import com.couchbase.client.scala.query.QuerySpec.{DisableQueryTestsForCluster, RequireMB50132}
2829
import com.couchbase.client.scala.util.ScalaIntegrationTest
2930
import com.couchbase.client.scala.{Cluster, Collection, TestUtils}
3031
import com.couchbase.client.test.{Capabilities, IgnoreWhen, Util}
@@ -39,7 +40,9 @@ import scala.util.{Failure, Success}
3940

4041
// Disabling against 5.5. See comment on QueryIndexManagerIntegrationTest for details.
4142
@TestInstance(Lifecycle.PER_CLASS)
42-
@IgnoreWhen(missesCapabilities = Array(Capabilities.QUERY), clusterVersionEquals = "5.5.6")
43+
@IgnoreWhen(missesCapabilities = Array(Capabilities.QUERY),
44+
clusterVersionEquals = DisableQueryTestsForCluster,
45+
clusterVersionIsBelow = RequireMB50132)
4346
class QuerySpec extends ScalaIntegrationTest {
4447

4548
private var cluster: Cluster = _
@@ -531,3 +534,9 @@ class QuerySpec extends ScalaIntegrationTest {
531534
assert(coll.get(docId).isFailure)
532535
}
533536
}
537+
538+
object QuerySpec {
539+
// See QueryIndexManagerIntegrationTest.java for explanation of these.
540+
final val DisableQueryTestsForCluster = "5.5.6"
541+
final val RequireMB50132 = "7.1.0"
542+
}

scala-client/src/integrationTest/scala/com/couchbase/client/scala/query/ScopeLevelQuerySpec.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import com.couchbase.client.core.service.ServiceType
1919
import com.couchbase.client.scala.json.JsonObject
2020
import com.couchbase.client.scala.kv.MutationState
2121
import com.couchbase.client.scala.manager.collection.CollectionSpec
22+
import com.couchbase.client.scala.query.QuerySpec.RequireMB50132
2223
import com.couchbase.client.scala.util.ScalaIntegrationTest
2324
import com.couchbase.client.scala.{Cluster, Collection, Scope, TestUtils}
2425
import com.couchbase.client.test.{Capabilities, Flaky, IgnoreWhen, Util}
@@ -30,7 +31,8 @@ import scala.util.{Failure, Success}
3031

3132
@Disabled @Flaky
3233
@TestInstance(Lifecycle.PER_CLASS)
33-
@IgnoreWhen(missesCapabilities = Array(Capabilities.QUERY, Capabilities.COLLECTIONS))
34+
@IgnoreWhen(missesCapabilities = Array(Capabilities.QUERY, Capabilities.COLLECTIONS),
35+
clusterVersionIsBelow = RequireMB50132)
3436
class ScopeLevelQuerySpec extends ScalaIntegrationTest {
3537

3638
private var cluster: Cluster = _

0 commit comments

Comments
 (0)