use of com.quorum.tessera.config.Config in project tessera by ConsenSys.
the class PrivacyGroupDAOProvider method provider.
public static PrivacyGroupDAO provider() {
Config config = ConfigFactory.create().getConfig();
final DataSource dataSource = DataSourceFactory.create().create(config.getJdbcConfig());
Map properties = new HashMap();
properties.put("jakarta.persistence.nonJtaDataSource", dataSource);
properties.put("eclipselink.logging.logger", "org.eclipse.persistence.logging.slf4j.SLF4JLogger");
properties.put("eclipselink.logging.level", "FINE");
properties.put("eclipselink.logging.parameters", "true");
properties.put("eclipselink.logging.level.sql", "FINE");
properties.put("jakarta.persistence.schema-generation.database.action", config.getJdbcConfig().isAutoCreateTables() ? "create" : "none");
LOGGER.debug("Creating EntityManagerFactory from {}", properties);
final EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("tessera", properties);
LOGGER.debug("Created EntityManagerFactory from {}", properties);
return new PrivacyGroupDAOImpl(entityManagerFactory);
}
use of com.quorum.tessera.config.Config in project tessera by ConsenSys.
the class StagingEntityDAOProvider method provider.
public static StagingEntityDAO provider() {
LOGGER.debug("Creating StagingEntityDAO");
Config config = ConfigFactory.create().getConfig();
final DataSource dataSource = DataSourceFactory.create().create(config.getJdbcConfig());
Map properties = new HashMap();
properties.put("jakarta.persistence.nonJtaDataSource", dataSource);
properties.put("eclipselink.logging.logger", "org.eclipse.persistence.logging.slf4j.SLF4JLogger");
properties.put("eclipselink.logging.level", "FINE");
properties.put("eclipselink.logging.parameters", "true");
properties.put("eclipselink.logging.level.sql", "FINE");
properties.put("jakarta.persistence.schema-generation.database.action", config.getJdbcConfig().isAutoCreateTables() ? "drop-and-create" : "none");
properties.put("eclipselink.session.customizer", "com.quorum.tessera.eclipselink.AtomicLongSequence");
LOGGER.debug("Creating EntityManagerFactory from {}", properties);
final EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("tessera-recover", properties);
LOGGER.debug("Created EntityManagerFactory from {}", properties);
StagingEntityDAO stagingEntityDAO = new StagingEntityDAOImpl(entityManagerFactory);
LOGGER.debug("Created StagingEntityDAO {}", stagingEntityDAO);
return stagingEntityDAO;
}
use of com.quorum.tessera.config.Config in project tessera by ConsenSys.
the class AzureKeyVaultIT method doStuff.
@Test
public void doStuff() throws Exception {
Map<String, Object> params = Map.of("azureKeyVaultUrl", keyVaultUrl);
Path tempTesseraConfig = ElUtil.createTempFileFromTemplate(getClass().getResource("/vault/tessera-azure-config.json"), params);
List<String> args = new ExecArgsBuilder().withStartScript(startScript).withClassPathItem(distDirectory).withArg("-configfile", tempTesseraConfig.toString()).withArg("-pidfile", pid.toAbsolutePath().toString()).withArg("-jdbc.autoCreateTables", "true").build();
ProcessBuilder processBuilder = new ProcessBuilder(args);
processBuilder.environment().putAll(env());
processBuilder.redirectErrorStream(true);
Process process = processBuilder.start();
executorService.submit(new StreamConsumer(process.getInputStream()));
executorService.submit(() -> {
int exitCode = process.waitFor();
assertThat(exitCode).describedAs("Tessera node exited with code %d", exitCode).isEqualTo(0);
return null;
});
final Config config = JaxbUtil.unmarshal(Files.newInputStream(tempTesseraConfig), Config.class);
final URI bindingUrl = UriBuilder.fromUri(config.getP2PServerConfig().getBindingUri()).path("upcheck").build();
HttpClient httpClient = HttpClient.newHttpClient();
final HttpRequest request = HttpRequest.newBuilder().uri(bindingUrl).GET().build();
CountDownLatch startUpLatch = new CountDownLatch(1);
executorService.submit(() -> {
while (true) {
try {
HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
startUpLatch.countDown();
}
} catch (InterruptedException | IOException e) {
}
}
});
assertThat(startUpLatch.await(30, TimeUnit.SECONDS)).isTrue();
assertThat(httpHandler.getCounter()).isEqualTo(2);
}
use of com.quorum.tessera.config.Config in project tessera by ConsenSys.
the class Q2TRestApp method getSingletons.
@Override
public Set<Object> getSingletons() {
TransactionResource transactionResource = new TransactionResource(transactionManager, privacyGroupManager);
TransactionResource3 transactionResource3 = new TransactionResource3(transactionManager, privacyGroupManager);
TransactionResource4 transactionResource4 = new TransactionResource4(transactionManager, privacyGroupManager);
RawTransactionResource rawTransactionResource = new RawTransactionResource(transactionManager);
EncodedPayloadResource encodedPayloadResource = new EncodedPayloadResource(encodedPayloadManager, transactionManager);
final UpCheckResource upCheckResource = new UpCheckResource();
final PrivacyGroupResource privacyGroupResource = new PrivacyGroupResource(privacyGroupManager);
final Config config = ConfigFactory.create().getConfig();
if (config.getClientMode() == ClientMode.ORION) {
final BesuTransactionResource besuResource = new BesuTransactionResource(transactionManager, privacyGroupManager);
return Set.of(besuResource, rawTransactionResource, privacyGroupResource, upCheckResource);
}
return Set.of(transactionResource, rawTransactionResource, encodedPayloadResource, privacyGroupResource, upCheckResource, transactionResource3, transactionResource4);
}
use of com.quorum.tessera.config.Config in project tessera by ConsenSys.
the class Q2TRestAppTest method getSingletons.
@Test
public void getSingletons() {
Config config = mock(Config.class);
ConfigFactory configFactory = mock(ConfigFactory.class);
when(configFactory.getConfig()).thenReturn(config);
try (var configFactoryMockedStatic = mockStatic(ConfigFactory.class)) {
configFactoryMockedStatic.when(ConfigFactory::create).thenReturn(configFactory);
Set<Object> results = q2TRestApp.getSingletons();
assertThat(results).hasSize(7);
List<Class> types = results.stream().map(Object::getClass).collect(Collectors.toList());
assertThat(types).containsExactlyInAnyOrder(TransactionResource.class, RawTransactionResource.class, EncodedPayloadResource.class, UpCheckResource.class, TransactionResource3.class, TransactionResource4.class, PrivacyGroupResource.class);
}
}
Aggregations