"http://" + getMiddlePriorityMember().getIpAddress() + ":" + getMiddlePriorityMember().getPort()
+ ReplicationTestService.Constants.BASE_URL + "/" + workingRepository + "/" + workingWorkspace + "/"
+ getMiddlePriorityMember().getLogin() + "/" + getMiddlePriorityMember().getPassword() + "/"
+ channelNameId + "/" + ReplicationTestService.Constants.OperationType.DISCONNECT_CLUSTER_NODE_BY_ID;
BasicAuthenticationHttpClient client = new BasicAuthenticationHttpClient(getMiddlePriorityMember());
String result = client.execute(disconnectUrl);
System.out.println(disconnectUrl);
System.out.println(result);
assertEquals(result, "ok");
}
Thread.sleep(35000);
// check is read-only middle priority member
{
String disconnectUrl =
"http://" + getMiddlePriorityMember().getIpAddress() + ":" + getMiddlePriorityMember().getPort()
+ ReplicationTestService.Constants.BASE_URL + "/" + workingRepository + "/" + workingWorkspace + "/"
+ getMiddlePriorityMember().getLogin() + "/" + getMiddlePriorityMember().getPassword() + "/"
+ ReplicationTestService.Constants.OperationType.WORKSPACE_IS_READ_ONLY;
BasicAuthenticationHttpClient client = new BasicAuthenticationHttpClient(getMiddlePriorityMember());
String result = client.execute(disconnectUrl);
System.out.println(disconnectUrl);
System.out.println(result);
assertEquals(result, "ok");
}
// add content to minPriorityMember
for (int i = 0; i < filesSize.length; i++)
{
long fSize = filesSize[i];
String relPath = createRelPath(fSize);
relPathArray[i] = relPath;
fileNameArray[i] = "nt_file_" + fSize + "_" + (int)(Math.random() * MAX_RANDOM_VALUE);
String url =
"http://" + getMinPriorityMember().getIpAddress() + ":" + getMinPriorityMember().getPort()
+ ReplicationTestService.Constants.BASE_URL + "/" + workingRepository + "/" + workingWorkspace + "/"
+ getMinPriorityMember().getLogin() + "/" + getMinPriorityMember().getPassword() + "/" + relPath + "/"
+ fileNameArray[i] + "/" + fSize + "/" + ReplicationTestService.Constants.OperationType.ADD_NT_FILE;
BasicAuthenticationHttpClient client = new BasicAuthenticationHttpClient(getMinPriorityMember());
String result = client.execute(url);
System.out.println(url);
System.out.println(result);
assertEquals(result, "ok");
}
Thread.sleep(60 * 1000);
// allow connect to middle priority
{
String disconnectUrl =
"http://" + getMiddlePriorityMember().getIpAddress() + ":" + getMiddlePriorityMember().getPort()
+ ReplicationTestService.Constants.BASE_URL + "/" + workingRepository + "/" + workingWorkspace + "/"
+ getMiddlePriorityMember().getLogin() + "/" + getMiddlePriorityMember().getPassword() + "/"
+ ReplicationTestService.Constants.OperationType.ALLOW_CONNECT;
BasicAuthenticationHttpClient client = new BasicAuthenticationHttpClient(getMiddlePriorityMember());
String result = client.execute(disconnectUrl);
System.out.println(disconnectUrl);
System.out.println(result);
assertEquals(result, "ok");
}
// wait 3 minutes (reconnect + restore will be finished)
Thread.sleep(3 * 60 * 1000);
// check nt:file in members
randomizeMembers();
for (int i = 0; i < filesSize.length; i++)
{
long fSize = filesSize[i];
String relPath = relPathArray[i];
for (MemberInfo member : getAllMembers())
{
String checkUrl =
"http://" + member.getIpAddress() + ":" + member.getPort() + ReplicationTestService.Constants.BASE_URL
+ "/" + workingRepository + "/" + workingWorkspace + "/" + member.getLogin() + "/"
+ member.getPassword() + "/" + relPath + "/" + fileNameArray[i] + "/" + fSize + "/"
+ ReplicationTestService.Constants.OperationType.CHECK_NT_FILE;
BasicAuthenticationHttpClient client = new BasicAuthenticationHttpClient(member, 4000);
String result = client.execute(checkUrl);
System.out.println(checkUrl);
System.out.println(result);
assertEquals(result, "ok");
}