Skip to content

Commit 7ecc678

Browse files
authored
Convert couchbase tests to java (#12193)
1 parent 2a7a553 commit 7ecc678

File tree

40 files changed

+1405
-1115
lines changed

40 files changed

+1405
-1115
lines changed

instrumentation/couchbase/couchbase-2.0/javaagent/build.gradle.kts

+3-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ dependencies {
2626

2727
testImplementation(project(":instrumentation:couchbase:couchbase-common:testing"))
2828

29-
latestDepTestLibrary("org.springframework.data:spring-data-couchbase:3.+")
30-
latestDepTestLibrary("com.couchbase.client:java-client:2.+")
29+
// later versions are tested with couchbase-2.6 instrumentation
30+
latestDepTestLibrary("org.springframework.data:spring-data-couchbase:2.+")
31+
latestDepTestLibrary("com.couchbase.client:java-client:2.5.+")
3132
}
3233

3334
tasks.withType<Test>().configureEach {

instrumentation/couchbase/couchbase-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_0/CouchbaseInstrumentationModule.java

+5
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ public List<TypeInstrumentation> typeInstrumentations() {
3232
return asList(new CouchbaseBucketInstrumentation(), new CouchbaseClusterInstrumentation());
3333
}
3434

35+
@Override
36+
public String getModuleGroup() {
37+
return "couchbase";
38+
}
39+
3540
@Override
3641
public List<String> injectedClassNames() {
3742
return singletonList("rx.__OpenTelemetryTracingUtil");

instrumentation/couchbase/couchbase-2.0/javaagent/src/test/groovy/CouchbaseAsyncClientTest.groovy

-7
This file was deleted.

instrumentation/couchbase/couchbase-2.0/javaagent/src/test/groovy/CouchbaseClientTest.groovy

-7
This file was deleted.

instrumentation/couchbase/couchbase-2.0/javaagent/src/test/groovy/springdata/CouchbaseSpringRepositoryTest.groovy

-9
This file was deleted.

instrumentation/couchbase/couchbase-2.0/javaagent/src/test/groovy/springdata/CouchbaseSpringTemplateTest.groovy

-9
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0;
7+
8+
import com.couchbase.client.java.cluster.BucketSettings;
9+
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
10+
import io.opentelemetry.instrumentation.couchbase.AbstractCouchbaseAsyncClientTest;
11+
12+
class CouchbaseAsyncClientTest extends AbstractCouchbaseAsyncClientTest {
13+
14+
@Override
15+
protected DefaultCouchbaseEnvironment.Builder envBuilder(
16+
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
17+
return CouchbaseUtil.envBuilder(bucketSettings, carrierDirectPort, httpDirectPort);
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0;
7+
8+
import com.couchbase.client.java.cluster.BucketSettings;
9+
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
10+
import io.opentelemetry.instrumentation.couchbase.AbstractCouchbaseClientTest;
11+
12+
class CouchbaseClientTest extends AbstractCouchbaseClientTest {
13+
14+
@Override
15+
protected DefaultCouchbaseEnvironment.Builder envBuilder(
16+
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
17+
return CouchbaseUtil.envBuilder(bucketSettings, carrierDirectPort, httpDirectPort);
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0;
7+
8+
import com.couchbase.client.core.metrics.DefaultLatencyMetricsCollectorConfig;
9+
import com.couchbase.client.core.metrics.DefaultMetricsCollectorConfig;
10+
import com.couchbase.client.java.cluster.BucketSettings;
11+
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
12+
import java.util.concurrent.TimeUnit;
13+
14+
public class CouchbaseUtil {
15+
16+
public static DefaultCouchbaseEnvironment.Builder envBuilder(
17+
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
18+
// Couchbase seems to be really slow to start sometimes
19+
long timeout = TimeUnit.SECONDS.toMillis(20);
20+
return DefaultCouchbaseEnvironment.builder()
21+
.bootstrapCarrierDirectPort(carrierDirectPort)
22+
.bootstrapHttpDirectPort(httpDirectPort)
23+
// settings to try to reduce variability in the tests:
24+
.runtimeMetricsCollectorConfig(DefaultMetricsCollectorConfig.create(0, TimeUnit.DAYS))
25+
.networkLatencyMetricsCollectorConfig(
26+
DefaultLatencyMetricsCollectorConfig.create(0, TimeUnit.DAYS))
27+
.computationPoolSize(1)
28+
.connectTimeout(timeout)
29+
.disconnectTimeout(timeout)
30+
.kvTimeout(timeout)
31+
.managementTimeout(timeout)
32+
.queryTimeout(timeout)
33+
.viewTimeout(timeout)
34+
.keepAliveTimeout(timeout)
35+
.searchTimeout(timeout)
36+
.analyticsTimeout(timeout)
37+
.socketConnectTimeout((int) timeout);
38+
}
39+
40+
private CouchbaseUtil() {}
41+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.springdata;
7+
8+
import com.couchbase.client.java.cluster.BucketSettings;
9+
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
10+
import io.opentelemetry.instrumentation.couchbase.springdata.AbstractCouchbaseSpringRepositoryTest;
11+
import io.opentelemetry.instrumentation.couchbase.springdata.TestDocument;
12+
import io.opentelemetry.instrumentation.couchbase.springdata.TestRepository;
13+
import io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.CouchbaseUtil;
14+
15+
class CouchbaseSpringRepositoryTest extends AbstractCouchbaseSpringRepositoryTest {
16+
17+
@Override
18+
protected DefaultCouchbaseEnvironment.Builder envBuilder(
19+
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
20+
return CouchbaseUtil.envBuilder(bucketSettings, carrierDirectPort, httpDirectPort);
21+
}
22+
23+
@Override
24+
protected TestDocument findById(TestRepository repository, String id) {
25+
return repository.findOne(id);
26+
}
27+
28+
@Override
29+
protected void deleteById(TestRepository repository, String id) {
30+
repository.delete(id);
31+
}
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.springdata;
7+
8+
import com.couchbase.client.java.cluster.BucketSettings;
9+
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
10+
import io.opentelemetry.instrumentation.couchbase.springdata.AbstractCouchbaseSpringTemplateTest;
11+
import io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.CouchbaseUtil;
12+
13+
class CouchbaseSpringTemplateTest extends AbstractCouchbaseSpringTemplateTest {
14+
15+
@Override
16+
protected DefaultCouchbaseEnvironment.Builder envBuilder(
17+
BucketSettings bucketSettings, int carrierDirectPort, int httpDirectPort) {
18+
return CouchbaseUtil.envBuilder(bucketSettings, carrierDirectPort, httpDirectPort);
19+
}
20+
}

instrumentation/couchbase/couchbase-2.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/couchbase/v2_6/CouchbaseInstrumentationModule.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,13 @@
1010
import com.google.auto.service.AutoService;
1111
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
13+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
1314
import java.util.List;
1415

1516
@AutoService(InstrumentationModule.class)
16-
public class CouchbaseInstrumentationModule extends InstrumentationModule {
17+
public class CouchbaseInstrumentationModule extends InstrumentationModule
18+
implements ExperimentalInstrumentationModule {
19+
1720
public CouchbaseInstrumentationModule() {
1821
super("couchbase", "couchbase-2.6");
1922
}
@@ -22,4 +25,9 @@ public CouchbaseInstrumentationModule() {
2225
public List<TypeInstrumentation> typeInstrumentations() {
2326
return asList(new CouchbaseCoreInstrumentation(), new CouchbaseNetworkInstrumentation());
2427
}
28+
29+
@Override
30+
public String getModuleGroup() {
31+
return "couchbase";
32+
}
2533
}

instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseAsyncClient26Test.groovy

-21
This file was deleted.

instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseClient26Test.groovy

-20
This file was deleted.

instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/CouchbaseSpanUtil.groovy

-52
This file was deleted.

instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/springdata/CouchbaseSpringRepository26Test.groovy

-23
This file was deleted.

instrumentation/couchbase/couchbase-2.6/javaagent/src/test/groovy/springdata/CouchbaseSpringTemplate26Test.groovy

-22
This file was deleted.

0 commit comments

Comments
 (0)