use of com.quorum.tessera.recovery.workflow.BatchResendManager in project tessera by ConsenSys.
the class BatchResendManagerImplTest method createBatchResendManager.
@Test
public void createBatchResendManager() {
BatchResendManager expected = mock(BatchResendManager.class);
BatchResendManager result;
try (var staticServiceLoader = mockStatic(ServiceLoader.class)) {
ServiceLoader<BatchResendManager> serviceLoader = mock(ServiceLoader.class);
when(serviceLoader.findFirst()).thenReturn(Optional.of(expected));
staticServiceLoader.when(() -> ServiceLoader.load(BatchResendManager.class)).thenReturn(serviceLoader);
result = BatchResendManager.create();
staticServiceLoader.verify(() -> ServiceLoader.load(BatchResendManager.class));
staticServiceLoader.verifyNoMoreInteractions();
verify(serviceLoader).findFirst();
verifyNoMoreInteractions(serviceLoader);
}
assertThat(result).isNotNull().isSameAs(expected);
}
use of com.quorum.tessera.recovery.workflow.BatchResendManager in project tessera by ConsenSys.
the class BatchResendManagerProviderTest method provider.
@Test
public void provider() {
try (var staticEncryptedTransactionDAO = mockStatic(EncryptedTransactionDAO.class);
var staticStagingEntityDAO = mockStatic(StagingEntityDAO.class);
var staticBatchWorkflowFactory = mockStatic(BatchWorkflowFactory.class)) {
staticEncryptedTransactionDAO.when(EncryptedTransactionDAO::create).thenReturn(mock(EncryptedTransactionDAO.class));
staticStagingEntityDAO.when(StagingEntityDAO::create).thenReturn(mock(StagingEntityDAO.class));
staticBatchWorkflowFactory.when(BatchWorkflowFactory::create).thenReturn(mock(BatchWorkflowFactory.class));
BatchResendManager batchResendManager = BatchResendManagerProvider.provider();
assertThat(batchResendManager).isNotNull().isExactlyInstanceOf(BatchResendManagerImpl.class);
staticEncryptedTransactionDAO.verify(EncryptedTransactionDAO::create);
staticStagingEntityDAO.verify(StagingEntityDAO::create);
staticBatchWorkflowFactory.verify(BatchWorkflowFactory::create);
staticEncryptedTransactionDAO.verifyNoMoreInteractions();
staticStagingEntityDAO.verifyNoMoreInteractions();
staticBatchWorkflowFactory.verifyNoMoreInteractions();
assertThat(BatchResendManagerHolder.INSTANCE.getBatchResendManager()).isPresent().containsSame(batchResendManager);
assertThat(BatchResendManagerProvider.provider()).isSameAs(batchResendManager);
}
}
use of com.quorum.tessera.recovery.workflow.BatchResendManager in project tessera by ConsenSys.
the class BatchResendManagerProvider method provider.
public static BatchResendManager provider() {
if (BatchResendManagerHolder.INSTANCE.getBatchResendManager().isPresent()) {
return BatchResendManagerHolder.INSTANCE.getBatchResendManager().get();
}
LOGGER.debug("Creating EncryptedTransactionDAO");
final EncryptedTransactionDAO encryptedTransactionDAO = EncryptedTransactionDAO.create();
LOGGER.debug("Created EncryptedTransactionDAO {}", encryptedTransactionDAO);
LOGGER.debug("Creating StagingEntityDAO");
final StagingEntityDAO stagingEntityDAO = StagingEntityDAO.create();
LOGGER.debug("Created StagingEntityDAO");
final int defaultMaxResults = 10000;
BatchWorkflowFactory batchWorkflowFactory = BatchWorkflowFactory.create();
BatchResendManager batchResendManager = new BatchResendManagerImpl(stagingEntityDAO, encryptedTransactionDAO, defaultMaxResults, batchWorkflowFactory);
return BatchResendManagerHolder.INSTANCE.setBatchResendManager(batchResendManager);
}
use of com.quorum.tessera.recovery.workflow.BatchResendManager in project tessera by ConsenSys.
the class P2PRestApp method getSingletons.
@Override
public Set<Object> getSingletons() {
RuntimeContext runtimeContext = RuntimeContext.getInstance();
List<URI> peers = runtimeContext.getPeers();
LOGGER.debug("Found configured peers {}", peers);
peers.stream().map(NodeUri::create).map(NodeUri::asURI).peek(u -> LOGGER.debug("Adding {} to party store", u)).forEach(partyStore::store);
final PartyInfoResource partyInfoResource = new PartyInfoResource(discovery, partyInfoParser, runtimeContext.getP2pClient(), enclave, runtimeContext.isRemoteKeyValidation());
final IPWhitelistFilter iPWhitelistFilter = new IPWhitelistFilter();
final TransactionResource transactionResource = new TransactionResource(transactionManager, batchResendManager, legacyResendManager);
final UpCheckResource upCheckResource = new UpCheckResource();
final PrivacyGroupResource privacyGroupResource = new PrivacyGroupResource(privacyGroupManager);
if (runtimeContext.isRecoveryMode()) {
final RecoveryResource recoveryResource = new RecoveryResource(transactionManager, batchResendManager);
return Set.of(partyInfoResource, iPWhitelistFilter, recoveryResource, upCheckResource);
}
return Set.of(partyInfoResource, iPWhitelistFilter, transactionResource, privacyGroupResource, upCheckResource);
}
use of com.quorum.tessera.recovery.workflow.BatchResendManager in project tessera by ConsenSys.
the class P2PRestAppTest method setUp.
@Before
public void setUp() {
runtimeContext = mock(RuntimeContext.class);
enclave = mock(Enclave.class);
discovery = mock(Discovery.class);
partyStore = mock(PartyStore.class);
transactionManager = mock(TransactionManager.class);
batchResendManager = mock(BatchResendManager.class);
legacyResendManager = mock(LegacyResendManager.class);
privacyGroupManager = mock(PrivacyGroupManager.class);
p2PRestApp = new P2PRestApp(discovery, enclave, partyStore, transactionManager, batchResendManager, legacyResendManager, privacyGroupManager);
Client client = mock(Client.class);
when(runtimeContext.getP2pClient()).thenReturn(client);
when(runtimeContext.isRemoteKeyValidation()).thenReturn(true);
when(runtimeContext.getPeers()).thenReturn(List.of(peerUri));
}
Aggregations