Skip to content

Commit c5e9e8b

Browse files
committed
chore: fix tests e2e tests
1 parent f71b39d commit c5e9e8b

File tree

2 files changed

+91
-6
lines changed

2 files changed

+91
-6
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Tests [web3-adapter]
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
paths:
9+
- 'infrastructure/web3-adapter/**'
10+
11+
jobs:
12+
test:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v3
18+
19+
- name: Set up Node.js 22
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: 22
23+
24+
- name: Install build dependencies
25+
run: |
26+
sudo apt-get update
27+
sudo apt-get install -y build-essential python3
28+
29+
- name: Install pnpm
30+
run: npm install -g pnpm
31+
32+
- name: Install dependencies
33+
run: pnpm install
34+
35+
- name: Clean and rebuild ssh2 native module
36+
run: |
37+
# Remove any pre-built binaries that might be incompatible
38+
find node_modules -name "sshcrypto.node" -delete 2>/dev/null || true
39+
find node_modules -path "*/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node" -delete 2>/dev/null || true
40+
# Rebuild ssh2 specifically for this platform
41+
pnpm rebuild ssh2
42+
# Rebuild all other native modules
43+
pnpm rebuild
44+
45+
- name: Run tests
46+
run: pnpm -F=web3-adapter test --run
47+

infrastructure/evault-core/src/test-utils/e2e-setup.ts

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -168,16 +168,54 @@ export async function teardownE2ETestServer(server: E2ETestServer | undefined):
168168
console.error("Error closing Fastify server:", error);
169169
}
170170

171-
if (server.registryServer) {
172-
await stopMockRegistryServer(server.registryServer);
171+
// Close Neo4j DB service and driver before stopping containers
172+
if (server.dbService) {
173+
try {
174+
await server.dbService.close();
175+
} catch (error) {
176+
console.error("Error closing DbService:", error);
177+
}
173178
}
174-
179+
180+
// Also close the raw Neo4j driver if available
181+
if (server.neo4jDriver) {
182+
try {
183+
await server.neo4jDriver.close();
184+
} catch (error) {
185+
console.error("Error closing Neo4j driver:", error);
186+
}
187+
}
188+
189+
// Destroy PostgreSQL testDataSource
175190
if (server.testDataSource?.isInitialized) {
176-
await server.testDataSource.destroy();
191+
try {
192+
await server.testDataSource.destroy();
193+
} catch (error) {
194+
console.error("Error destroying testDataSource:", error);
195+
}
196+
}
197+
198+
// Stop registry server
199+
if (server.registryServer) {
200+
try {
201+
await stopMockRegistryServer(server.registryServer);
202+
} catch (error) {
203+
console.error("Error stopping registry server:", error);
204+
}
177205
}
178206

179-
await teardownTestNeo4j();
180-
await teardownTestDatabase();
207+
// Stop testcontainers
208+
try {
209+
await teardownTestNeo4j();
210+
} catch (error) {
211+
console.error("Error tearing down Neo4j testcontainer:", error);
212+
}
213+
214+
try {
215+
await teardownTestDatabase();
216+
} catch (error) {
217+
console.error("Error tearing down PostgreSQL testcontainer:", error);
218+
}
181219

182220
// Clean up environment variables
183221
delete process.env.NEO4J_URI;

0 commit comments

Comments
 (0)