Skip to content

Commit 3ca3972

Browse files
authored
Try again to solve remaining TeamCity errors (#4206)
* Try again to solve remaining TeamCity errors * added assertEventually to PostgresJdbcTest
1 parent 8b13059 commit 3ca3972

File tree

8 files changed

+38
-20
lines changed

8 files changed

+38
-20
lines changed

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,6 @@ ext {
134134
neo4jVersion = "5.24.1"
135135
// instead we apply the override logic here
136136
neo4jVersionEffective = project.hasProperty("neo4jVersionOverride") ? project.getProperty("neo4jVersionOverride") : neo4jVersion
137-
testContainersVersion = '1.18.3'
137+
testContainersVersion = '1.19.1'
138138
apacheArrowVersion = '15.0.0'
139139
}

extended-it/src/test/java/apoc/couchbase/CouchbaseTestUtils.java

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.testcontainers.couchbase.BucketDefinition;
1919
import org.testcontainers.couchbase.CouchbaseContainer;
2020

21+
import java.time.Duration;
2122
import java.util.List;
2223
import java.util.Map;
2324
import java.util.Set;
@@ -64,6 +65,7 @@ public class CouchbaseTestUtils {
6465

6566
public static boolean fillDB(Cluster cluster) {
6667
Bucket couchbaseBucket = cluster.bucket(BUCKET_NAME);
68+
couchbaseBucket.waitUntilReady(Duration.ofMinutes(1));
6769
Collection collection = couchbaseBucket.defaultCollection();
6870
collection.insert("artist:vincent_van_gogh", VINCENT_VAN_GOGH);
6971
QueryResult queryResult = cluster.query(String.format(QUERY, BUCKET_NAME),

extended-it/src/test/java/apoc/load/PostgresJdbcTest.java

+18-13
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@
1717

1818
import java.sql.SQLException;
1919
import java.util.Map;
20+
import java.util.concurrent.TimeUnit;
2021

2122
import static apoc.util.TestUtil.testCall;
2223
import static apoc.util.TestUtil.testResult;
2324
import static org.junit.Assert.assertArrayEquals;
2425
import static org.junit.Assert.assertEquals;
2526
import static org.junit.Assert.assertFalse;
2627
import static org.junit.Assert.assertTrue;
28+
import static org.neo4j.test.assertion.Assert.assertEventually;
2729

2830
public class PostgresJdbcTest extends AbstractJdbcTest {
2931

@@ -132,19 +134,22 @@ public void testIssue4141PeriodicIterateWithJdbc() throws Exception {
132134
assertPgStatActivityHasOnlyActiveState();
133135
}
134136

135-
private static void assertPgStatActivityHasOnlyActiveState() throws Exception {
136-
// connect to postgres and execute the query `select state from pg_stat_activity`
137-
String psql = postgress.execInContainer(
138-
"psql", "postgresql://test:test@localhost/test", "-c", "select state from pg_stat_activity;")
139-
.toString();
140-
141-
assertTrue("Current pg_stat_activity is: " + psql, psql.contains("active"));
142-
143-
// the result without the https://github.com/neo4j-contrib/neo4j-apoc-procedures/issues/4141 change
144-
// is not deterministic, can be `too many clients already` or (not very often) `idle`
145-
assertFalse("Current pg_stat_activity is: " + psql,
146-
psql.contains("too many clients already") || psql.contains("idle"));
147-
137+
private static void assertPgStatActivityHasOnlyActiveState() {
138+
assertEventually(() -> {
139+
// connect to postgres and execute the query `select state from pg_stat_activity`
140+
String psql = postgress.execInContainer(
141+
"psql", "postgresql://test:test@localhost/test", "-c", "select state from pg_stat_activity;")
142+
.toString();
143+
144+
assertTrue("Current pg_stat_activity is: " + psql, psql.contains("active"));
145+
146+
// the result without the https://github.com/neo4j-contrib/neo4j-apoc-procedures/issues/4141 change
147+
// is not deterministic, can be `too many clients already` or (not very often) `idle`
148+
assertFalse("Current pg_stat_activity is: " + psql,
149+
psql.contains("too many clients already") || psql.contains("idle"));
150+
151+
return true;
152+
}, v -> v, 20L, TimeUnit.SECONDS);
148153
}
149154

150155
private void assertPeriodicIterate(Result result) {

extended/src/test/java/apoc/export/csv/ExportCsvTest.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ public class ExportCsvTest {
5050
@ClassRule
5151
public static TemporaryFolder storeDir = new TemporaryFolder();
5252

53+
@ClassRule
54+
public static TemporaryFolder hdfsDir = new TemporaryFolder();
55+
5356
private static GraphDatabaseService db;
5457
private static DatabaseManagementService dbms;
5558

@@ -64,7 +67,7 @@ public static void setUp() throws Exception {
6467
apocConfig().setProperty(APOC_EXPORT_FILE_ENABLED, true);
6568
db.executeTransactionally("CREATE (f:User1:User {name:'foo',age:42,male:true,kids:['a','b','c']})-[:KNOWS]->(b:User {name:'bar',age:42}),(c:User {age:12})");
6669
db.executeTransactionally("CREATE (f:Address1:Address {name:'Andrea', city: 'Milano', street:'Via Garibaldi, 7'})-[:NEXT_DELIVERY]->(a:Address {name: 'Bar Sport'}), (b:Address {street: 'via Benni'})");
67-
miniDFSCluster = HdfsTestUtils.getLocalHDFSCluster();
70+
miniDFSCluster = HdfsTestUtils.getLocalHDFSCluster(hdfsDir.getRoot());
6871
}
6972

7073
@AfterClass

extended/src/test/java/apoc/export/parquet/ParquetHdfsTest.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.junit.BeforeClass;
88
import org.junit.ClassRule;
99
import org.junit.Test;
10+
import org.junit.rules.TemporaryFolder;
1011
import org.neo4j.configuration.GraphDatabaseSettings;
1112
import org.neo4j.test.rule.DbmsRule;
1213
import org.neo4j.test.rule.ImpermanentDbmsRule;
@@ -28,6 +29,9 @@ public class ParquetHdfsTest {
2829
directory.mkdirs();
2930
}
3031

32+
@ClassRule
33+
public static TemporaryFolder hdfsDir = new TemporaryFolder();
34+
3135
@ClassRule
3236
public static DbmsRule db = new ImpermanentDbmsRule()
3337
.withSetting(GraphDatabaseSettings.load_csv_file_url_root, directory.toPath().toAbsolutePath());
@@ -37,7 +41,7 @@ public class ParquetHdfsTest {
3741
@BeforeClass
3842
public static void setUp() throws Exception {
3943
beforeClassCommon(db);
40-
miniDFSCluster = HdfsTestUtils.getLocalHDFSCluster();
44+
miniDFSCluster = HdfsTestUtils.getLocalHDFSCluster(hdfsDir.getRoot());
4145
}
4246

4347
@Before

extended/src/test/java/apoc/load/LoadHdfsTest.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
import org.apache.hadoop.hdfs.MiniDFSCluster;
99
import org.junit.After;
1010
import org.junit.Before;
11+
import org.junit.ClassRule;
1112
import org.junit.Rule;
1213
import org.junit.Test;
1314
import org.junit.jupiter.api.AfterAll;
1415

16+
import org.junit.rules.TemporaryFolder;
1517
import org.neo4j.test.rule.DbmsRule;
1618
import org.neo4j.test.rule.ImpermanentDbmsRule;
1719

@@ -28,6 +30,9 @@
2830

2931
public class LoadHdfsTest {
3032

33+
@ClassRule
34+
public static TemporaryFolder hdfsDir = new TemporaryFolder();
35+
3136
@Rule
3237
public DbmsRule db = new ImpermanentDbmsRule();
3338

@@ -36,7 +41,7 @@ public class LoadHdfsTest {
3641
@Before public void setUp() throws Exception {
3742
TestUtil.registerProcedure(db, LoadCsv.class);
3843
apocConfig().setProperty(APOC_IMPORT_FILE_ENABLED, true);
39-
miniDFSCluster = HdfsTestUtils.getLocalHDFSCluster();
44+
miniDFSCluster = HdfsTestUtils.getLocalHDFSCluster(hdfsDir.getRoot());
4045
FileSystem fs = miniDFSCluster.getFileSystem();
4146
String fileName = "test.csv";
4247
Path file = new Path(fileName);

extended/src/test/java/apoc/load/LoadLdapContainerTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void testLoadLDAPWithDefaultPort() {
7474
}
7575

7676
private static void testLoadLDAPCommon(int port, boolean ssl) {
77-
Map<String, Object> conn = Map.of("ldapHost", "localhost:" + port,
77+
Map<String, Object> conn = Map.of("ldapHost", ldap.getHost() + ":" + port,
7878
"loginDN", "cn=admin,dc=example,dc=org",
7979
"loginPW", "admin",
8080
"ssl", ssl);

extended/src/test/java/apoc/util/HdfsTestUtils.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,10 @@ private static int getFreePort() throws IOException {
4040
}
4141
}
4242

43-
public static MiniDFSCluster getLocalHDFSCluster() throws Exception {
43+
public static MiniDFSCluster getLocalHDFSCluster(File hdfsPath) throws Exception {
4444
setHadoopHomeWindows();
4545
Configuration conf = new HdfsConfiguration();
4646
conf.set("fs.defaultFS", "hdfs://localhost");
47-
File hdfsPath = new File(System.getProperty("user.dir") + File.separator + "hadoop" + File.separator + "hdfs");
4847
hdfsPath.setWritable(true);
4948
conf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, hdfsPath.getAbsolutePath());
5049
MiniDFSCluster miniDFSCluster = new MiniDFSCluster.Builder(conf)

0 commit comments

Comments
 (0)