use of de.flapdoodle.embed.process.config.io.ProcessOutput in project gora by apache.
the class GoraMongodbAuthenticationTestDriver method runScriptAndWait.
private void runScriptAndWait(String scriptText, String token, String[] failures, String dbName, String username, String password) throws IOException {
IStreamProcessor mongoOutput;
if (!isEmpty(token)) {
mongoOutput = new LogWatchStreamProcessor(token, (failures != null) ? new HashSet<>(asList(failures)) : Collections.emptySet(), namedConsole("[mongo shell output]"));
} else {
mongoOutput = new NamedOutputStreamProcessor("[mongo shell output]", console());
}
IRuntimeConfig runtimeConfig = new RuntimeConfigBuilder().defaults(Command.Mongo).processOutput(new ProcessOutput(mongoOutput, namedConsole("[mongo shell error]"), console())).build();
MongoShellStarter starter = MongoShellStarter.getInstance(runtimeConfig);
final File scriptFile = writeTmpScriptFile(scriptText);
final MongoShellConfigBuilder builder = new MongoShellConfigBuilder();
if (!isEmpty(dbName)) {
builder.dbName(dbName);
}
if (!isEmpty(username)) {
builder.username(username);
}
if (!isEmpty(password)) {
builder.password(password);
}
starter.prepare(builder.scriptName(scriptFile.getAbsolutePath()).version(mongodConfig.version()).net(mongodConfig.net()).build()).start();
if (mongoOutput instanceof LogWatchStreamProcessor) {
((LogWatchStreamProcessor) mongoOutput).waitForResult(INIT_TIMEOUT_MS);
}
}
use of de.flapdoodle.embed.process.config.io.ProcessOutput in project gradle-postgresql-embedded by honourednihilist.
the class EmbeddedPostgres method start.
public synchronized void start() throws IOException {
if (process != null) {
throw new IllegalStateException();
}
Command command = Command.Postgres;
IDownloadConfig downloadConfig = new PostgresDownloadConfigBuilder().defaultsForCommand(command).artifactStorePath(new FixedPath(artifactStorePath)).build();
ArtifactStoreBuilder artifactStoreBuilder = new PostgresArtifactStoreBuilder().defaults(command).download(downloadConfig);
LogWatchStreamProcessor logWatch = new LogWatchStreamProcessor("started", new HashSet<>(singletonList("failed")), new Slf4jStreamProcessor(getLogger("postgres"), Slf4jLevel.TRACE));
IRuntimeConfig runtimeConfig = new RuntimeConfigBuilder().defaults(command).processOutput(new ProcessOutput(logWatch, logWatch, logWatch)).artifactStore(artifactStoreBuilder).build();
PostgresStarter<PostgresExecutable, PostgresProcess> starter = new PostgresStarter<>(PostgresExecutable.class, runtimeConfig);
PostgresConfig config = new PostgresConfig(version, new AbstractPostgresConfig.Net(host, port == 0 ? Network.getFreeServerPort() : port), new AbstractPostgresConfig.Storage(dbName), new AbstractPostgresConfig.Timeout(), new AbstractPostgresConfig.Credentials(username, password));
process = starter.prepare(config).start();
jdbcUrl = "jdbc:postgresql://" + config.net().host() + ":" + config.net().port() + "/" + config.storage().dbName();
}
Aggregations