public class org.apache.zookeeper.test.ReconfigMisconfigTest extends org.apache.zookeeper.ZKTestCase
{
private static final org.slf4j.Logger LOG;
private org.apache.zookeeper.test.QuorumUtil qu;
private org.apache.zookeeper.admin.ZooKeeperAdmin zkAdmin;
private static java.lang.String errorMsg;
public void <init>()
{
org.apache.zookeeper.test.ReconfigMisconfigTest v;
v := @this: org.apache.zookeeper.test.ReconfigMisconfigTest;
specialinvoke v.<org.apache.zookeeper.ZKTestCase: void <init>()>();
return;
}
public void setup() throws java.lang.InterruptedException
{
java.io.IOException v;
org.apache.zookeeper.test.QuorumUtil v, v, v;
org.apache.zookeeper.test.ReconfigMisconfigTest v;
v := @this: org.apache.zookeeper.test.ReconfigMisconfigTest;
staticinvoke <org.apache.zookeeper.server.quorum.QuorumPeerConfig: void setReconfigEnabled(boolean)>(1);
v = new org.apache.zookeeper.test.QuorumUtil;
specialinvoke v.<org.apache.zookeeper.test.QuorumUtil: void <init>(int)>(1);
v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu> = v;
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu>;
v.<org.apache.zookeeper.test.QuorumUtil: boolean disableJMXTest> = 1;
label:
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void startAll()>();
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Fail to start quorum servers.");
label:
specialinvoke v.<org.apache.zookeeper.test.ReconfigMisconfigTest: void instantiateZKAdmin()>();
return;
catch java.io.IOException from label to label with label;
}
public void tearDown() throws java.lang.Exception
{
org.apache.zookeeper.test.QuorumUtil v, v;
org.apache.zookeeper.admin.ZooKeeperAdmin v, v;
java.lang.Exception v;
org.apache.zookeeper.test.ReconfigMisconfigTest v;
v := @this: org.apache.zookeeper.test.ReconfigMisconfigTest;
label:
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu>;
if v == null goto label;
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu>;
virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: void tearDown()>();
label:
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.admin.ZooKeeperAdmin zkAdmin>;
if v == null goto label;
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.admin.ZooKeeperAdmin zkAdmin>;
virtualinvoke v.<org.apache.zookeeper.admin.ZooKeeperAdmin: void close()>();
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.Exception from label to label with label;
}
public void testReconfigFailWithoutSuperuserPasswordConfiguredOnServer() throws java.lang.InterruptedException
{
java.lang.Throwable v, v;
byte[] v;
org.apache.zookeeper.test.ReconfigMisconfigTest v;
org.apache.zookeeper.KeeperException$Code v, v, v, v;
java.lang.String v, v, v;
org.apache.zookeeper.admin.ZooKeeperAdmin v;
boolean v, v;
v := @this: org.apache.zookeeper.test.ReconfigMisconfigTest;
label:
specialinvoke v.<org.apache.zookeeper.test.ReconfigMisconfigTest: boolean reconfigPort()>();
v = <org.apache.zookeeper.test.ReconfigMisconfigTest: java.lang.String errorMsg>;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.zookeeper.KeeperException: org.apache.zookeeper.KeeperException$Code code()>();
v = <org.apache.zookeeper.KeeperException$Code: org.apache.zookeeper.KeeperException$Code NOAUTH>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
label:
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.admin.ZooKeeperAdmin zkAdmin>;
v = "super:";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<org.apache.zookeeper.admin.ZooKeeperAdmin: void addAuthInfo(java.lang.String,byte[])>("digest", v);
specialinvoke v.<org.apache.zookeeper.test.ReconfigMisconfigTest: boolean reconfigPort()>();
v = <org.apache.zookeeper.test.ReconfigMisconfigTest: java.lang.String errorMsg>;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.zookeeper.KeeperException: org.apache.zookeeper.KeeperException$Code code()>();
v = <org.apache.zookeeper.KeeperException$Code: org.apache.zookeeper.KeeperException$Code NOAUTH>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
label:
return;
catch org.apache.zookeeper.KeeperException from label to label with label;
catch org.apache.zookeeper.KeeperException from label to label with label;
}
private void instantiateZKAdmin() throws java.lang.InterruptedException
{
org.apache.zookeeper.server.quorum.QuorumPeer v;
java.io.IOException v;
org.apache.zookeeper.test.ClientBase$CountdownWatcher v;
java.lang.Exception v;
org.apache.zookeeper.test.ReconfigMisconfigTest v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v;
int v, v, v;
java.lang.String v, v;
org.apache.zookeeper.test.QuorumUtil v;
org.apache.zookeeper.admin.ZooKeeperAdmin v;
v := @this: org.apache.zookeeper.test.ReconfigMisconfigTest;
v = new org.apache.zookeeper.test.ClientBase$CountdownWatcher;
specialinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void <init>()>();
label:
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu>;
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(1);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: int getClientPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("127.0.0.1:\u0001");
v = new org.apache.zookeeper.admin.ZooKeeperAdmin;
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
specialinvoke v.<org.apache.zookeeper.admin.ZooKeeperAdmin: void <init>(java.lang.String,int,org.apache.zookeeper.Watcher)>(v, v, v);
v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.admin.ZooKeeperAdmin zkAdmin> = v;
label:
goto label;
label:
v := @caughtexception;
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>("Fail to create ZooKeeperAdmin handle.");
return;
label:
v = <org.apache.zookeeper.test.ClientBase: int CONNECTION_TIMEOUT>;
virtualinvoke v.<org.apache.zookeeper.test.ClientBase$CountdownWatcher: void waitForConnected(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("ZooKeeper admin client can not connect to \u0001");
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Object fail(java.lang.String)>(v);
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
catch java.util.concurrent.TimeoutException from label to label with label;
}
private boolean reconfigPort() throws org.apache.zookeeper.KeeperException, java.lang.InterruptedException
{
org.apache.zookeeper.server.quorum.QuorumPeer v, v, v;
org.apache.zookeeper.data.Stat v;
java.util.ArrayList v;
org.apache.zookeeper.test.ReconfigMisconfigTest v;
org.apache.zookeeper.test.QuorumUtil$PeerStruct v, v, v;
byte v;
int v, v;
java.lang.String v;
java.util.List v, v;
org.apache.zookeeper.server.quorum.Leader v;
org.apache.zookeeper.server.quorum.MultipleAddresses v, v;
java.lang.Object v, v;
org.apache.zookeeper.test.QuorumUtil v, v, v;
org.apache.zookeeper.admin.ZooKeeperAdmin v;
v := @this: org.apache.zookeeper.test.ReconfigMisconfigTest;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = 1;
label:
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu>;
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.Leader leader>;
if v != null goto label;
v = v + 1;
goto label;
label:
if v != 1 goto label;
v = 2;
goto label;
label:
v = 1;
label:
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu>;
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.MultipleAddresses getQuorumAddress()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.util.List getAllPorts()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.test.QuorumUtil qu>;
v = virtualinvoke v.<org.apache.zookeeper.test.QuorumUtil: org.apache.zookeeper.test.QuorumUtil$PeerStruct getPeer(int)>(v);
v = v.<org.apache.zookeeper.test.QuorumUtil$PeerStruct: org.apache.zookeeper.server.quorum.QuorumPeer peer>;
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.QuorumPeer: org.apache.zookeeper.server.quorum.MultipleAddresses getElectionAddress()>();
v = virtualinvoke v.<org.apache.zookeeper.server.quorum.MultipleAddresses: java.util.List getAllPorts()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = staticinvoke <org.apache.zookeeper.PortAssignment: int unique()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (byte,java.lang.Object,java.lang.Object,int)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("server.\u0001=localhost:\u0001:\u0001:participant;localhost:\u0001");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.apache.zookeeper.test.ReconfigMisconfigTest: org.apache.zookeeper.admin.ZooKeeperAdmin zkAdmin>;
v = new org.apache.zookeeper.data.Stat;
specialinvoke v.<org.apache.zookeeper.data.Stat: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.admin.ZooKeeperAdmin: byte[] reconfigure(java.util.List,java.util.List,java.util.List,long,org.apache.zookeeper.data.Stat)>(v, null, null, -1L, v);
return 1;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/test/ReconfigMisconfigTest;");
<org.apache.zookeeper.test.ReconfigMisconfigTest: org.slf4j.Logger LOG> = v;
<org.apache.zookeeper.test.ReconfigMisconfigTest: java.lang.String errorMsg> = "Reconfig should fail without configuring the super user\'s password on server side first.";
return;
}
}