You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by eo...@apache.org on 2022/09/11 13:14:20 UTC
[pulsar] branch master updated: [improve][test] try remove whitebox on MockZooKeeper (#17579)
This is an automated email from the ASF dual-hosted git repository.
eolivelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new c1434fdf076 [improve][test] try remove whitebox on MockZooKeeper (#17579)
c1434fdf076 is described below
commit c1434fdf0762aa356343682f89d00389198037e5
Author: tison <wa...@gmail.com>
AuthorDate: Sun Sep 11 21:14:12 2022 +0800
[improve][test] try remove whitebox on MockZooKeeper (#17579)
---
.../java/org/apache/zookeeper/MockZooKeeper.java | 34 ++++++++++------------
1 file changed, 15 insertions(+), 19 deletions(-)
diff --git a/testmocks/src/main/java/org/apache/zookeeper/MockZooKeeper.java b/testmocks/src/main/java/org/apache/zookeeper/MockZooKeeper.java
index 39f3845c967..190720e5bcc 100644
--- a/testmocks/src/main/java/org/apache/zookeeper/MockZooKeeper.java
+++ b/testmocks/src/main/java/org/apache/zookeeper/MockZooKeeper.java
@@ -46,6 +46,7 @@ import java.util.function.BiPredicate;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.zookeeper.AsyncCallback.Children2Callback;
import org.apache.zookeeper.AsyncCallback.ChildrenCallback;
import org.apache.zookeeper.AsyncCallback.DataCallback;
@@ -59,7 +60,6 @@ import org.apache.zookeeper.data.Stat;
import org.objenesis.Objenesis;
import org.objenesis.ObjenesisStd;
import org.objenesis.instantiator.ObjectInstantiator;
-import org.powermock.reflect.Whitebox;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -144,10 +144,7 @@ public class MockZooKeeper extends ZooKeeper {
public static MockZooKeeper newInstance(ExecutorService executor, int readOpDelayMs) {
try {
- MockZooKeeper zk = createMockZooKeeperInstance(executor, readOpDelayMs);
- ObjectInstantiator<ClientCnxn> clientCnxnObjectInstantiator = objenesis.getInstantiatorOf(ClientCnxn.class);
- Whitebox.setInternalState(zk, "cnxn", clientCnxnObjectInstantiator.newInstance());
- return zk;
+ return createMockZooKeeperInstance(executor, readOpDelayMs);
} catch (RuntimeException e) {
throw e;
} catch (Exception e) {
@@ -1018,33 +1015,32 @@ public class MockZooKeeper extends ZooKeeper {
try {
for (org.apache.zookeeper.Op op : ops) {
switch (op.getType()) {
- case ZooDefs.OpCode.create: {
+ case ZooDefs.OpCode.create -> {
org.apache.zookeeper.Op.Create opc = ((org.apache.zookeeper.Op.Create) op);
CreateMode cm = CreateMode.fromFlag(opc.flags);
String path = this.create(op.getPath(), opc.data, null, cm);
res.add(new OpResult.CreateResult(path));
- break;
}
- case ZooDefs.OpCode.delete:
- this.delete(op.getPath(), Whitebox.getInternalState(op, "version"));
+ case ZooDefs.OpCode.delete -> {
+ this.delete(op.getPath(), (int) FieldUtils.readField(op, "version", true));
res.add(new OpResult.DeleteResult());
- break;
- case ZooDefs.OpCode.setData: {
- Stat stat = this.setData(op.getPath(), Whitebox.getInternalState(op, "data"),
- Whitebox.getInternalState(op, "version"));
+ }
+ case ZooDefs.OpCode.setData -> {
+ Stat stat = this.setData(
+ op.getPath(),
+ (byte[]) FieldUtils.readField(op, "data", true),
+ (int) FieldUtils.readField(op, "version", true));
res.add(new OpResult.SetDataResult(stat));
- break;
}
- case ZooDefs.OpCode.getChildren: {
+ case ZooDefs.OpCode.getChildren -> {
try {
List<String> children = this.getChildren(op.getPath(), null);
res.add(new OpResult.GetChildrenResult(children));
} catch (KeeperException e) {
res.add(new OpResult.ErrorResult(e.code().intValue()));
}
- break;
}
- case ZooDefs.OpCode.getData: {
+ case ZooDefs.OpCode.getData -> {
Stat stat = new Stat();
try {
byte[] payload = this.getData(op.getPath(), null, stat);
@@ -1052,9 +1048,7 @@ public class MockZooKeeper extends ZooKeeper {
} catch (KeeperException e) {
res.add(new OpResult.ErrorResult(e.code().intValue()));
}
- break;
}
- default:
}
}
} catch (KeeperException e) {
@@ -1063,6 +1057,8 @@ public class MockZooKeeper extends ZooKeeper {
for (int i = res.size(); i < total; i++) {
res.add(new OpResult.ErrorResult(KeeperException.Code.RUNTIMEINCONSISTENCY.intValue()));
}
+ } catch (IllegalAccessException e) {
+ throw new IllegalStateException(e);
}
return res;
}