Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit e2a990e

Browse files
committedFeb 24, 2024·
use lists instead of streams in TestDatabase
1 parent 553ea49 commit e2a990e

File tree

2 files changed

+27
-28
lines changed

2 files changed

+27
-28
lines changed
 

‎airbyte-cdk/java/airbyte-cdk/core/src/testFixtures/java/io/airbyte/cdk/testutils/TestDatabase.java

+11-16
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
import java.util.HashMap;
2525
import java.util.List;
2626
import java.util.Map;
27-
import java.util.stream.Stream;
2827
import javax.sql.DataSource;
2928
import org.jooq.DSLContext;
3029
import org.jooq.SQLDialect;
30+
import org.jooq.exception.DataAccessException;
3131
import org.slf4j.Logger;
3232
import org.slf4j.LoggerFactory;
3333
import org.testcontainers.containers.JdbcDatabaseContainer;
@@ -87,7 +87,7 @@ public T onClose(String fmtSql, Object... fmtArgs) {
8787
* Executes a SQL statement after calling String.format on the arguments.
8888
*/
8989
public T with(String fmtSql, Object... fmtArgs) {
90-
execSQL(Stream.of(String.format(fmtSql, fmtArgs)));
90+
execSQL(List.of(String.format(fmtSql, fmtArgs)));
9191
return self();
9292
}
9393

@@ -113,9 +113,9 @@ final public boolean isInitialized() {
113113
return dslContext != null;
114114
}
115115

116-
abstract protected Stream<Stream<String>> inContainerBootstrapCmd();
116+
abstract protected List<List<String>> inContainerBootstrapCmd();
117117

118-
abstract protected Stream<String> inContainerUndoBootstrapCmd();
118+
abstract protected List<String> inContainerUndoBootstrapCmd();
119119

120120
abstract public DatabaseDriver getDatabaseDriver();
121121

@@ -167,22 +167,17 @@ public Database getDatabase() {
167167
return new Database(getDslContext());
168168
}
169169

170-
protected void execSQL(final Stream<String> sql) {
170+
protected void execSQL(final List<String> sqls) {
171171
try {
172-
getDatabase().query(ctx -> {
173-
sql.forEach(statement -> {
174-
LOGGER.debug("{}", statement);
175-
ctx.execute(statement);
176-
});
177-
return null;
178-
});
179-
} catch (SQLException e) {
172+
for (String sql : sqls) {
173+
getDslContext().execute(sql);
174+
}
175+
} catch (DataAccessException e) {
180176
throw new RuntimeException(e);
181177
}
182178
}
183179

184-
protected void execInContainer(Stream<String> cmds) {
185-
final List<String> cmd = cmds.toList();
180+
protected void execInContainer(List<String> cmd) {
186181
if (cmd.isEmpty()) {
187182
return;
188183
}
@@ -232,7 +227,7 @@ public B integrationTestConfigBuilder() {
232227

233228
@Override
234229
public void close() {
235-
execSQL(this.cleanupSQL.stream());
230+
execSQL(this.cleanupSQL);
236231
execInContainer(inContainerUndoBootstrapCmd());
237232
}
238233

‎airbyte-cdk/java/airbyte-cdk/db-sources/src/test/java/io/airbyte/cdk/integrations/source/jdbc/DefaultJdbcSourceAcceptanceTest.java

+16-12
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import com.fasterxml.jackson.databind.JsonNode;
1111
import com.google.common.collect.ImmutableMap;
12+
import com.google.common.collect.Lists;
1213
import io.airbyte.cdk.db.factory.DatabaseDriver;
1314
import io.airbyte.cdk.db.jdbc.JdbcUtils;
1415
import io.airbyte.cdk.db.jdbc.streaming.AdaptiveStreamingQueryConfig;
@@ -20,10 +21,10 @@
2021
import io.airbyte.commons.json.Jsons;
2122
import io.airbyte.protocol.models.v0.AirbyteStateMessage.AirbyteStateType;
2223
import java.sql.JDBCType;
24+
import java.util.Collections;
2325
import java.util.List;
2426
import java.util.Map;
2527
import java.util.Set;
26-
import java.util.stream.Stream;
2728
import org.jooq.SQLDialect;
2829
import org.junit.jupiter.api.AfterAll;
2930
import org.junit.jupiter.api.BeforeAll;
@@ -140,24 +141,27 @@ public BareBonesTestDatabase(PostgreSQLContainer<?> container) {
140141
}
141142

142143
@Override
143-
protected Stream<Stream<String>> inContainerBootstrapCmd() {
144-
final var sql = Stream.of(
144+
protected List<List<String>> inContainerBootstrapCmd() {
145+
final var sqls = List.of(
145146
String.format("CREATE DATABASE %s", getDatabaseName()),
146147
String.format("CREATE USER %s PASSWORD '%s'", getUserName(), getPassword()),
147148
String.format("GRANT ALL PRIVILEGES ON DATABASE %s TO %s", getDatabaseName(), getUserName()),
148149
String.format("ALTER USER %s WITH SUPERUSER", getUserName()));
149-
return Stream.of(Stream.concat(
150-
Stream.of("psql",
151-
"-d", getContainer().getDatabaseName(),
152-
"-U", getContainer().getUsername(),
153-
"-v", "ON_ERROR_STOP=1",
154-
"-a"),
155-
sql.flatMap(stmt -> Stream.of("-c", stmt))));
150+
List<String> cmd = Lists.newArrayList("psql",
151+
"-d", getContainer().getDatabaseName(),
152+
"-U", getContainer().getUsername(),
153+
"-v", "ON_ERROR_STOP=1",
154+
"-a");
155+
for (String sql : sqls) {
156+
cmd.add("-c");
157+
cmd.add(sql);
158+
}
159+
return List.of(cmd);
156160
}
157161

158162
@Override
159-
protected Stream<String> inContainerUndoBootstrapCmd() {
160-
return Stream.empty();
163+
protected List<String> inContainerUndoBootstrapCmd() {
164+
return Collections.emptyList();
161165
}
162166

163167
@Override

0 commit comments

Comments
 (0)
Please sign in to comment.