Skip to content

Commit

Permalink
Gardening: DRY mocking of Core
Browse files Browse the repository at this point in the history
This is setting up for a future change that adds
CoreResources.

Change-Id: Ifd0676618900b3b29d4391912c7d1837f175ade9
Reviewed-on: https://review.couchbase.org/c/couchbase-jvm-clients/+/217960
Reviewed-by: Graham Pople <graham.pople@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
  • Loading branch information
programmatix committed Oct 31, 2024
1 parent 749e156 commit 6c1fd23
Show file tree
Hide file tree
Showing 25 changed files with 94 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.couchbase.client.core.env.CoreEnvironment;
import org.junit.jupiter.api.Test;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;

Expand All @@ -33,7 +34,7 @@ class CoreContextTest {
void getAndExportProperties() {
long id = 12345;
CoreEnvironment env = mock(CoreEnvironment.class);
Core core = mock(Core.class);
Core core = mockCore();
Authenticator authenticator = mock(Authenticator.class);
CoreContext ctx = new CoreContext(core, id, env, authenticator);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

import java.time.Duration;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
Expand All @@ -38,7 +39,7 @@ class TimerTest {
void performsBackpressureWhenOverLimit() throws Exception {
Timer timer = Timer.createAndStart(2);
try {
Core core = mock(Core.class);
Core core = mockCore();
assertEquals(0, timer.outstandingForRetry());

Request<? extends Response> request = mock(Request.class);
Expand Down Expand Up @@ -81,4 +82,4 @@ void assignsRegistrationToRequest() {
}
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import com.couchbase.client.core.msg.kv.GetCollectionIdResponse;
import com.couchbase.client.core.topology.NodeIdentifier;
import com.couchbase.client.core.util.ConnectionString;
import com.couchbase.client.core.util.MockUtil;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
Expand Down Expand Up @@ -287,7 +288,7 @@ static Core mockCore(CoreEnvironment env) {
CoreContext ctx = mock(CoreContext.class);
when(ctx.environment()).thenReturn(env);

Core core = mock(Core.class);
Core core = MockUtil.mockCore();
when(core.context()).thenReturn(ctx);
when(core.environment()).thenReturn(env);
return core;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import java.util.Optional;

import static com.couchbase.client.core.topology.TopologyTestUtils.nodeId;
import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.readResource;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.jupiter.api.Assertions.assertEquals;
Expand All @@ -61,7 +62,7 @@ class BaseBucketLoaderTest {
@BeforeEach
void setup() {
CoreEnvironment env = mock(CoreEnvironment.class);
core = mock(Core.class);
core = mockCore();
CoreContext ctx = new CoreContext(core, 1, env, mock(Authenticator.class));
when(core.context()).thenReturn(ctx);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@

import java.util.concurrent.atomic.AtomicReference;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
Expand Down Expand Up @@ -61,7 +62,7 @@ void setup() {
when(env.timeoutConfig()).thenReturn(TimeoutConfig.create());
when(env.retryStrategy()).thenReturn(BestEffortRetryStrategy.INSTANCE);

core = mock(Core.class);
core = mockCore();
CoreContext ctx = new CoreContext(core, 1, env, mock(Authenticator.class));
when(core.context()).thenReturn(ctx);
loader = new ClusterManagerBucketLoader(core);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

import java.util.concurrent.atomic.AtomicReference;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
Expand Down Expand Up @@ -62,7 +63,7 @@ void setup() {
when(env.timeoutConfig()).thenReturn(TimeoutConfig.create());
when(env.retryStrategy()).thenReturn(BestEffortRetryStrategy.INSTANCE);

core = mock(Core.class);
core = mockCore();
CoreContext ctx = new CoreContext(core, 1, env, mock(Authenticator.class));
when(core.context()).thenReturn(ctx);
loader = new KeyValueBucketLoader(core);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.waitUntilCondition;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doAnswer;
Expand All @@ -55,7 +56,7 @@ void beforeEach() {
env = CoreEnvironment.builder().eventBus(eventBus).build();

CoreContext coreContext = mock(CoreContext.class);
core = mock(Core.class);
core = mockCore();
when(core.context()).thenReturn(coreContext);
when(coreContext.environment()).thenReturn(env);
ConfigurationProvider provider = mock(ConfigurationProvider.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import static com.couchbase.client.core.topology.TopologyTestUtils.node;
import static com.couchbase.client.core.util.CbCollections.listOf;
import static com.couchbase.client.core.util.CbCollections.mapOf;
import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.waitUntilCondition;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
Expand All @@ -68,7 +69,7 @@ void beforeEach() {
.build();

CoreContext coreContext = mock(CoreContext.class);
core = mock(Core.class);
core = mockCore();
when(core.context()).thenReturn(coreContext);
when(coreContext.environment()).thenReturn(env);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import static com.couchbase.client.core.topology.TopologyTestUtils.nodeInfo;
import static com.couchbase.client.core.util.CbCollections.listOf;
import static com.couchbase.client.core.util.CbCollections.mapOf;
import static com.couchbase.client.core.util.MockUtil.mockCore;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.doAnswer;
Expand All @@ -64,7 +65,7 @@ void beforeEach() {
.build();

CoreContext coreContext = mock(CoreContext.class);
core = mock(Core.class);
core = mockCore();
when(core.context()).thenReturn(coreContext);
when(coreContext.environment()).thenReturn(env);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Supplier;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.waitUntilCondition;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
Expand Down Expand Up @@ -91,7 +92,7 @@ void beforeEach() {
eventLoopGroup = new NioEventLoopGroup(1);
eventBus = new SimpleEventBus(true, Collections.singletonList(EndpointStateChangedEvent.class));
environment = CoreEnvironment.builder().eventBus(eventBus).build();
CoreContext coreContext = new CoreContext(mock(Core.class), 1, environment, authenticator);
CoreContext coreContext = new CoreContext(mockCore(), 1, environment, authenticator);
ctx = new ServiceContext(coreContext, LOCALHOST, 1234,
ServiceType.KV, Optional.empty());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@

import static com.couchbase.client.core.io.netty.kv.ProtocolVerifier.decodeHexDump;
import static com.couchbase.client.core.io.netty.kv.ProtocolVerifier.verifyRequest;
import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.readResource;
import static com.couchbase.client.test.Util.waitUntilCondition;
import static org.junit.jupiter.api.Assertions.assertEquals;
Expand Down Expand Up @@ -77,7 +78,7 @@ protected void beforeEach() {
when(env.eventBus()).thenReturn(eventBus);
when(env.timeoutConfig()).thenReturn(timeoutConfig);
when(timeoutConfig.connectTimeout()).thenReturn(Duration.ofMillis(1000));
CoreContext coreContext = new CoreContext(mock(Core.class), 1, env, mock(Authenticator.class));
CoreContext coreContext = new CoreContext(mockCore(), 1, env, mock(Authenticator.class));
endpointContext = new EndpointContext(coreContext, new HostAndPort("127.0.0.1", 1234),
null, ServiceType.KV, Optional.empty(), Optional.empty(), Optional.empty());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import static com.couchbase.client.core.io.netty.kv.ProtocolVerifier.decodeHexDump;
import static com.couchbase.client.core.io.netty.kv.ProtocolVerifier.verifyRequest;
import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.readResource;
import static com.couchbase.client.test.Util.waitUntilCondition;
import static java.nio.charset.StandardCharsets.UTF_8;
Expand Down Expand Up @@ -87,7 +88,7 @@ protected void beforeEach() {
when(env.timeoutConfig()).thenReturn(timeoutConfig);
when(env.userAgent()).thenReturn(new UserAgent("some", Optional.empty(), Optional.empty(), Optional.empty()));
when(timeoutConfig.connectTimeout()).thenReturn(Duration.ofMillis(1000));
CoreContext coreContext = new CoreContext(mock(Core.class), 1, env, mock(Authenticator.class));
CoreContext coreContext = new CoreContext(mockCore(), 1, env, mock(Authenticator.class));
endpointContext = new EndpointContext(coreContext, new HostAndPort("127.0.0.1", 1234),
null, ServiceType.KV, Optional.empty(), Optional.empty(), Optional.empty());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
import java.util.Set;
import java.util.concurrent.ExecutionException;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
Expand All @@ -77,7 +78,7 @@ class KeyValueMessageHandlerTest {
@BeforeAll
static void setup() {
ENV = CoreEnvironment.builder().eventBus(new SimpleEventBus(true)).build();
Core core = mock(Core.class);
Core core = mockCore();
CoreContext coreContext = new CoreContext(core, 1, ENV, PasswordAuthenticator.create("foo", "bar"));
ConfigurationProvider configurationProvider = mock(ConfigurationProvider.class);
when(configurationProvider.collectionMap()).thenReturn(new CollectionMap());
Expand Down Expand Up @@ -282,4 +283,4 @@ void incrementsNotMyVbucketIndicator() {
}
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import java.util.function.Function;

import static com.couchbase.client.core.util.CbCollections.setOf;
import static com.couchbase.client.core.util.MockUtil.mockCore;
import static java.util.Collections.emptySet;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
Expand All @@ -61,7 +62,7 @@ class MemcacheProtocolTest {
void before() {
eventBus = mock(EventBus.class);
CoreEnvironment env = mock(CoreEnvironment.class);
context = new CoreContext(mock(Core.class), 1, env, mock(Authenticator.class));
context = new CoreContext(mockCore(), 1, env, mock(Authenticator.class));
when(env.eventBus()).thenReturn(eventBus);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@

import static com.couchbase.client.core.io.netty.kv.ProtocolVerifier.decodeHexDump;
import static com.couchbase.client.core.io.netty.kv.ProtocolVerifier.verifyRequest;
import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.readResource;
import static com.couchbase.client.test.Util.waitUntilCondition;
import static org.junit.jupiter.api.Assertions.assertEquals;
Expand Down Expand Up @@ -78,7 +79,7 @@ protected void beforeEach() {
when(env.eventBus()).thenReturn(eventBus);
when(env.timeoutConfig()).thenReturn(timeoutConfig);
when(timeoutConfig.connectTimeout()).thenReturn(Duration.ofMillis(1000));
CoreContext coreContext = new CoreContext(mock(Core.class), 1, env, mock(Authenticator.class));
CoreContext coreContext = new CoreContext(mockCore(), 1, env, mock(Authenticator.class));
endpointContext = new EndpointContext(coreContext, new HostAndPort("127.0.0.1", 1234),
null, ServiceType.KV, Optional.empty(), Optional.empty(), Optional.empty());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import java.util.Optional;
import java.util.concurrent.TimeoutException;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
import static org.junit.jupiter.api.Assertions.assertTrue;
Expand Down Expand Up @@ -71,7 +72,7 @@ void setup() {
when(env.eventBus()).thenReturn(simpleEventBus);
when(env.timeoutConfig()).thenReturn(timeoutConfig);
when(timeoutConfig.connectTimeout()).thenReturn(Duration.ofMillis(10));
CoreContext coreContext = new CoreContext(mock(Core.class), 1, env, mock(Authenticator.class));
CoreContext coreContext = new CoreContext(mockCore(), 1, env, mock(Authenticator.class));
endpointContext = new EndpointContext(coreContext, new HostAndPort("127.0.0.1", 1234),
null, ServiceType.KV, Optional.empty(), Optional.empty(), Optional.empty());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.atomic.AtomicBoolean;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.readResource;
import static com.couchbase.client.test.Util.waitUntilCondition;
import static org.junit.jupiter.api.Assertions.assertEquals;
Expand Down Expand Up @@ -90,7 +91,7 @@ static void teardown() {
*/
@Test
void returnsNewConfigsWhenChunked() throws Exception {
CoreContext ctx = new CoreContext(mock(Core.class), 1, ENV, PasswordAuthenticator.create(USER, PASS));
CoreContext ctx = new CoreContext(mockCore(), 1, ENV, PasswordAuthenticator.create(USER, PASS));
BaseEndpoint endpoint = mock(BaseEndpoint.class);
EndpointContext endpointContext = mock(EndpointContext.class);
when(endpointContext.environment()).thenReturn(ENV);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@

import java.util.Optional;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.test.Util.readResource;
import static com.couchbase.client.test.Util.waitUntilCondition;
import static org.junit.jupiter.api.Assertions.assertEquals;
Expand All @@ -73,7 +74,7 @@ class QueryMessageHandlerTest {
@BeforeAll
static void setup() {
ENV = CoreEnvironment.create();
CORE_CTX = new CoreContext(mock(Core.class), 1, ENV, PasswordAuthenticator.create("user", "pass"));
CORE_CTX = new CoreContext(mockCore(), 1, ENV, PasswordAuthenticator.create("user", "pass"));
ENDPOINT_CTX = new EndpointContext(CORE_CTX, new HostAndPort("127.0.0.1", 1234),
NoopCircuitBreaker.INSTANCE, ServiceType.QUERY, Optional.empty(), Optional.empty(), Optional.empty());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
import java.util.Optional;
import java.util.UUID;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
Expand Down Expand Up @@ -74,7 +75,7 @@ public OrchestratorProxy(final CoreEnvironment environment, boolean capabilityEn
when(configurationProvider.config()).thenReturn(clusterConfig);

// Set up core
core = mock(Core.class);
core = mockCore();
CoreContext coreContext = new CoreContext(core, 1, environment, null);
when(core.context()).thenReturn(coreContext);
when(core.configurationProvider()).thenReturn(configurationProvider);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import java.util.HashMap;
import java.util.Map;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
Expand All @@ -40,7 +41,7 @@ class RequestContextTest {
@Test
void requestCancellation() {
Request<?> request = mock(Request.class);
Core core = mock(Core.class);
Core core = mockCore();
RequestContext ctx = new RequestContext(new CoreContext(core, 1, null, mock(Authenticator.class)), request);

ctx.cancel();
Expand All @@ -50,7 +51,7 @@ void requestCancellation() {
@Test
void customPayloadCanBeAttached() {
Request<?> request = mock(Request.class);
Core core = mock(Core.class);
Core core = mockCore();
RequestContext ctx = new RequestContext(new CoreContext(core, 1, null, mock(Authenticator.class)), request);
assertNull(ctx.clientContext());

Expand All @@ -61,4 +62,4 @@ void customPayloadCanBeAttached() {
assertEquals(payload, ctx.clientContext());
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import java.util.Collections;
import java.util.List;

import static com.couchbase.client.core.util.MockUtil.mockCore;
import static com.couchbase.client.core.topology.TopologyTestUtils.nodeId;
import static com.couchbase.client.core.topology.TopologyTestUtils.nodeInfo;
import static java.nio.charset.StandardCharsets.UTF_8;
Expand Down Expand Up @@ -68,7 +69,7 @@ void locateGetRequestForCouchbaseBucket() {
CouchbaseBucketConfig bucketMock = mock(CouchbaseBucketConfig.class);
when(getRequestMock.bucket()).thenReturn("bucket");
when(getRequestMock.key()).thenReturn("key".getBytes(UTF_8));
CoreContext coreContext = new CoreContext(mock(Core.class), 1, mock(CoreEnvironment.class), mock(Authenticator.class));
CoreContext coreContext = new CoreContext(mockCore(), 1, mock(CoreEnvironment.class), mock(Authenticator.class));
when(getRequestMock.context()).thenReturn(new RequestContext(coreContext, getRequestMock));
when(configMock.bucketConfig("bucket")).thenReturn(bucketMock);
when(bucketMock.nodes()).thenReturn(Arrays.asList(nodeInfo1, nodeInfo2));
Expand Down
Loading

0 comments on commit 6c1fd23

Please sign in to comment.