mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-03 17:49:40 +00:00
refactor AbstractServerReplicationTest to enable tests with multiple replicable services in future
This commit is contained in:
1 parent
4cb7b535c8
commit
b4b646be1f
14 files changed
+260
-114
No files matched your search
+39
-33
@@ -10,43 +10,49 @@ import com.sap.sse.filestorage.impl.EmptyFileStorageServicePropertyStoreImpl;
|
||||
import com.sap.sse.filestorage.impl.FileStorageManagementServiceImpl;
|
||||
import com.sap.sse.filestorage.testsupport.DummyFileStorageService;
|
||||
import com.sap.sse.mongodb.MongoDBService;
|
||||
import com.sap.sse.replication.testsupport.AbstractServerReplicationTest;
|
||||
import com.sap.sse.replication.testsupport.AbstractServerWithSingleServiceReplicationTest;
|
||||
|
||||
public abstract class AbstractFileStorageManagementServiceReplicationTest extends
|
||||
AbstractServerReplicationTest<FileStorageManagementService, FileStorageManagementServiceImpl> {
|
||||
private MongoDBService mongoDBService;
|
||||
AbstractServerWithSingleServiceReplicationTest<FileStorageManagementService, FileStorageManagementServiceImpl> {
|
||||
public AbstractFileStorageManagementServiceReplicationTest() {
|
||||
super(new ServerReplicationTestSetUp());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void persistenceSetUp(boolean dropDB) {
|
||||
mongoDBService = MongoDBService.INSTANCE;
|
||||
if (dropDB) {
|
||||
private static class ServerReplicationTestSetUp extends com.sap.sse.replication.testsupport.AbstractServerReplicationTestSetUp<FileStorageManagementService, FileStorageManagementServiceImpl> {
|
||||
private MongoDBService mongoDBService;
|
||||
|
||||
@Override
|
||||
protected void persistenceSetUp(boolean dropDB) {
|
||||
mongoDBService = MongoDBService.INSTANCE;
|
||||
if (dropDB) {
|
||||
mongoDBService.getDB().dropDatabase();
|
||||
}
|
||||
}
|
||||
|
||||
protected FileStorageManagementServiceImpl createNewService() {
|
||||
return new FileStorageManagementServiceImpl(
|
||||
new SingleTypeBasedServiceFinderImpl<>(new DummyFileStorageService(),
|
||||
DummyFileStorageService.NAME), EmptyFileStorageServicePropertyStoreImpl.INSTANCE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileStorageManagementServiceImpl createNewMaster() throws MalformedURLException, IOException,
|
||||
InterruptedException {
|
||||
FileStorageManagementServiceImpl result = createNewService();
|
||||
FileStorageService serviceOnMaster = result.getAvailableFileStorageServices()[0];
|
||||
result.setActiveFileStorageService(serviceOnMaster);
|
||||
result.setFileStorageServiceProperty(serviceOnMaster, DummyFileStorageService.PROPERTY_NAME, "123");
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileStorageManagementServiceImpl createNewReplica() {
|
||||
return createNewService();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void persistenceTearDown() {
|
||||
mongoDBService.getDB().dropDatabase();
|
||||
}
|
||||
}
|
||||
|
||||
protected FileStorageManagementServiceImpl createNewService() {
|
||||
return new FileStorageManagementServiceImpl(
|
||||
new SingleTypeBasedServiceFinderImpl<>(new DummyFileStorageService(),
|
||||
DummyFileStorageService.NAME), EmptyFileStorageServicePropertyStoreImpl.INSTANCE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FileStorageManagementServiceImpl createNewMaster() throws MalformedURLException, IOException,
|
||||
InterruptedException {
|
||||
FileStorageManagementServiceImpl result = createNewService();
|
||||
FileStorageService serviceOnMaster = result.getAvailableFileStorageServices()[0];
|
||||
result.setActiveFileStorageService(serviceOnMaster);
|
||||
result.setFileStorageServiceProperty(serviceOnMaster, DummyFileStorageService.PROPERTY_NAME, "123");
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FileStorageManagementServiceImpl createNewReplica() {
|
||||
return createNewService();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void persistenceTearDown() {
|
||||
mongoDBService.getDB().dropDatabase();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user