holochain / tryorama Goto Github PK
View Code? Open in Web Editor NEWToolset to manage Holochain conductors and facilitate test scenarios
Toolset to manage Holochain conductors and facilitate test scenarios
This new logger looks like it might have the capabilities I was craving with Diorama :D
Is it possible to configure it to:
hdk::debug
; nothing else?call
s & signalling?...and I guess optimally, combinations of all of the above & more?
When installing a larger hApp via the function installAgentsHapps
using paths, a timeout prevents the installation from succeeding.
As discussed in the Holochain repo, there needs to be a setting for the Holochain client's timeout.
Hi,
tryorama doesnt remind or tell people they need to have a sim2h server running in another tab for multi agent tests...
this is not helpful for new people in the space..
better still would be if it automatically detects you are doing multi agent tests and spawns a sim2h server for you
On every admin call to a conductor managed by TryCP, an admin websocket connection is established and dropped.
AC
Trying to bump hdk to 0.0.115, I encounter an error when running tests with tryorama, detail info here:
holochain-open-dev/holochain-time-index#7
It seems properties in DNA configuration is not interpreted as the old fasion.
Another thing I noticed is, hdk-0.0.114 doesn't provide properties in ZoomInfo, which is also weird, as it's in 0.0.110 and 0.0.115.
From a holochain-rust discussion:
FWIW these kinds of
Unreachable
crashes are a problem in a lot of Diorama setups due to the way tests have been wired for unhandled promise rejections. Implementors should probably be advised to add a short wait before exiting the JS test runner as otherwise useful debug logs are often missed.
Originally posted by @pospi in holochain/holochain-rust#159 (comment)
In a sample app scaffolded from the open-dev templates, when I run the tryorama tests, they all pass, but the process itself errors out because of weird websocket connection errors:
13:07:38 [Tryorama - Local Conductor] info: # lair-keystore connection_url # unix:///tmp/ggliK4NGrgRK66STI5l8f/ks/socket?k=m4Yi_KoRd0KTr_VRFnkePCi_IseNesr7GIOe48zmBn8 #
# lair-keystore running #
stdout | src/forum/posts/all-posts.test.ts > create a Post and get all posts
13:07:43 [Tryorama - Local Conductor] info: # lair-keystore connection_url # unix:///tmp/SE1tKnH44Ng5GGIOpDN4u/ks/socket?k=3g6QVzsXMvegy7I5n_7VUzMM8Jr2ezJbZ4gFQL4GtSM #
# lair-keystore running #
13:07:43 [Tryorama - Local Conductor] info: # lair-keystore connection_url # unix:///tmp/Yb1-l5G9KlRHOIGepdvyP/ks/socket?k=fWDEZiz1QSZIcd0Wz37izk0t0tBgTHYBQGAW_MlcPzE #
# lair-keystore running #
stdout | src/forum/posts/all-posts.test.ts > create a Post and get all posts
13:07:43 [Tryorama - Local Conductor] info:
Conductor ready.
✓ src/forum/posts/comment.test.ts (4) 83154ms
✓ src/forum/posts/post.test.ts (4) 53184ms
✓ src/forum/posts/like.test.ts (3) 19201ms
✓ src/forum/posts/comment-to-likes.test.ts (1) 13881ms
✓ src/forum/posts/post-to-likes.test.ts (1) 13894ms
✓ src/forum/posts/certificate-to-likes.test.ts (1) 13083ms
✓ src/forum/posts/certificate.test.ts (2) 25732ms
✓ src/forum/posts/creator-to-posts.test.ts (1) 3816ms
✓ src/forum/posts/posts-by-author-entry-hash.test.ts (1) 13850ms
✓ src/forum/posts/posts-by-author.test.ts (1) 13856ms
✓ src/forum/posts/all-posts-entry-hash.test.ts (1) 4804ms
✓ src/forum/posts/all-posts.test.ts (1) 13861ms
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Vitest caught 25 unhandled errors during the test run.
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30001/ - Error: connect ECONNREFUSED 127.0.0.1:30001
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/post.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create and update Post". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30001/ - Error: connect ECONNREFUSED 127.0.0.1:30001
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/comment-to-likes.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "link a Comment to a Like". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30004/ - Error: connect ECONNREFUSED 127.0.0.1:30004
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/post-to-likes.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "link a Post to a Like". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30006/ - Error: connect ECONNREFUSED 127.0.0.1:30006
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/post-to-likes.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "link a Post to a Like". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30006/ - Error: connect ECONNREFUSED 127.0.0.1:30006
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate-to-likes.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "link a Certificate to a Like". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30006/ - Error: connect ECONNREFUSED 127.0.0.1:30006
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate-to-likes.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "link a Certificate to a Like". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30006/ - Error: connect ECONNREFUSED 127.0.0.1:30006
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate-to-likes.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "link a Certificate to a Like". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30001/ - Error: connect ECONNREFUSED 127.0.0.1:30001
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate-to-likes.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "link a Certificate to a Like". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30001/ - Error: connect ECONNREFUSED 127.0.0.1:30001
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create and read Certificate". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30001/ - Error: connect ECONNREFUSED 127.0.0.1:30001
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create and read Certificate". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30001/ - Error: connect ECONNREFUSED 127.0.0.1:30001
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create and read Certificate". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30003/ - Error: connect ECONNREFUSED 127.0.0.1:30003
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create and read Certificate". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30006/ - Error: connect ECONNREFUSED 127.0.0.1:30006
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create and read Certificate". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30003/ - Error: connect ECONNREFUSED 127.0.0.1:30003
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/certificate.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create and read Certificate". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30001/ - Error: connect ECONNREFUSED 127.0.0.1:30001
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/creator-to-posts.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "link a Creator to a Post". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30006/ - Error: connect ECONNREFUSED 127.0.0.1:30006
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/posts-by-author-entry-hash.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get posts by author entry hash". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30001/ - Error: connect ECONNREFUSED 127.0.0.1:30001
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/posts-by-author.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get posts by author". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30003/ - Error: connect ECONNREFUSED 127.0.0.1:30003
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/posts-by-author.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get posts by author". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30003/ - Error: connect ECONNREFUSED 127.0.0.1:30003
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/posts-by-author.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get posts by author". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30000/ - Error: connect ECONNREFUSED 127.0.0.1:30000
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/posts-by-author.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get posts by author". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30006/ - Error: connect ECONNREFUSED 127.0.0.1:30006
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/posts-by-author.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get posts by author". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30000/ - Error: connect ECONNREFUSED 127.0.0.1:30000
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/all-posts.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get all posts". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30005/ - Error: connect ECONNREFUSED 127.0.0.1:30005
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/all-posts.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get all posts". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
internal_error: Conductor returned an error while using a ConductorApi: CellMissing(CellId(DnaHash(uhC0kpWI_MkdEp0s7wGPCWyJnWfs4kVAMbmJ9y10f33LEtCiSywYc), AgentPubKey(uhCAkISDXd8cXhfB5lBQCovQISdM5S9n4U24SN6lOtE8foWN61EjS)))
❯ catchError ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/common.js:38:23
❯ processTicksAndRejections node:internal/process/task_queues:95:5
❯ AppWebsocket.callZome ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/common.js:13:22
❯ fetch ../node_modules/.pnpm/@[email protected]_@[email protected]/node_modules/@holochain-open-dev/stores/src/holochain.ts:582:29
This error originated in "src/forum/posts/all-posts.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get all posts". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
ConnectionError: could not connect to Holochain Conductor API at ws://127.0.0.1:30006/ - Error: connect ECONNREFUSED 127.0.0.1:30006
❯ WebSocket.socket.onerror ../node_modules/.pnpm/@[email protected]/node_modules/@holochain/client/lib/api/client.js:135:28
❯ callListener ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:290:14
❯ WebSocket.onError ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/event-target.js:230:9
❯ WebSocket.emit node:events:518:28
❯ emitErrorAndClose ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:1033:13
❯ ClientRequest.<anonymous> ../node_modules/.pnpm/[email protected]/node_modules/ws/lib/websocket.js:880:5
❯ ClientRequest.emit node:events:518:28
❯ Socket.socketErrorListener node:_http_client:495:9
❯ Socket.emit node:events:518:28
❯ emitErrorNT node:internal/streams/destroy:169:8
This error originated in "src/forum/posts/all-posts.test.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "create a Post and get all posts". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Test Files 12 passed (12)
Tests 21 passed (21)
Errors 25 errors
Start at 13:03:24
Duration 272.67s (transform 73ms, setup 0ms, collect 246ms, tests 272.32s, environment 0ms, prepare 33ms)
/tmp/forum-lit-open-dev/tests:
ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL tests@ test: `vitest run`
Exit status 1
forum-lit-open-dev on main [!+?] 🦀 ❄️ nix-shell-env took 4m33s
Tryorama v0.16.0-dev.2
tryorama/ts/src/local/conductor.ts
Lines 273 to 275 in 488d3ff
building on the learnings from #124...
Context, when updating to latest tryorama
we (working on hREA) "lost" our wasm debug logs. We couldn't find them. I had to dig through source code and other things to figure out what to do to get them back, which I've only just managed now. My solution was to set TRYORAMA_LOG_LEVEL=debug. This struck me as non-obvious and I don't think I've seen it anywhere in the README or documentation but please let me know if I'm wrong about that.
Once I'd set, I was able to see my wasm log through tryorama again:
14:11:56 [Tryorama - Local Conductor] debug: starting conductor
Jun 20 14:11:56.088 DEBUG wasm_trace: hc_zome_rea_agreement:zomes/rea_agreement/zome/src/lib.rs:37 WARGH
The logging situation is pretty confusing. starting conductor
here doesn't make sense since it appears for any logged line, coming through stdout
. There is also the question/issue of the logging level. I think stdout
and stderr
logs should both share the same logging level since they're not otherwise semantically meaningful. The logging level of tryorama
I think is having no impact on or respect for the logging level of holochain
itself (aside the stdout/stderr issue).
tryorama/ts/src/local/conductor.ts
Lines 251 to 252 in 618bbab
tryorama/ts/src/local/conductor.ts
Lines 273 to 274 in 618bbab
Related somewhat: holochain/holochain#1449
See this CI execution, this is the signal that does work, but then it actually blocks the rest of the function execution.
It's difficult to understand the code if it isn't documented. Especially, the exported methods/variables and methods of the classes.
Example of a method of the class Player
: call
method should have an explanation about what args
are necessary and why they're needed.
Since the 0.2.x branch I can't use genConfigArgs
in the conductor anymore. How should I go about dynamically injecting zomePort
now?
The use-case is that I need to be able to configure the zome port to pass it to hc-web-client
in order to run integration tests against the GraphQL API that my app exposes.
First let's make sure I am attempting this correctly- seems like I need to inject the custom zome port within the config handler function rather than orchestrator config now. The parameter name is interfacePort
rather than zomePort
. Seems fine- the data being generated by ScenarioApi
in const configJson = await configSeed(configSeedArgs)
appears to have the correct port assignments reflected in configJson
.
Only issue is you are doing const { configDir, interfacePort } = configSeedArgs
a few lines lower down, which means you're pulling interfacePort
from the original config, before it's had a chance to be intercepted and modified by my custom config handler. The end result is that the Player
being constructed is listening on the unmodified port, it never gets a connection, and my tests hang.
Hi there,
just wondering if it would be possible to adapt tryorama to run against a real conductor.. not one that is spawned and killed.. It would greatly assist with testing and data import
as anything like that been discussed?
Lines 84 to 113 in 4d46060
we have in hREA some zome calls (especially the first one which calls init
that need to be able to take longer than the default timeout, for our tests to pass. I've shimmed this in my temp fork but if we fix it here I can switch back to this version of tryorama.
I added it as an optional second argument, which fits the fn signature of the underlying @holochain/client call
i assume this means some problem with the wasm build.. but better error handling and info is needed
mac os ventura
"dependencies": {
"@msgpack/msgpack": "^2.7.0",
"@holochain/client": "^0.16.2",
"@holochain/tryorama": "^0.15.1",
"js-base64": "3.7.5",
"typescript": "^4.9.4",
"vitest": "^0.28.4"
},
stderr | .test.ts > create and read zome
error occurred during test run: internal_error: Conductor returned an error while using a ConductorApi: RibosomeError(WasmRuntimeError(RuntimeError { source: User(WasmError { file: "crates/holochain/src/core/ribosome/real_ribosome.rs", line: 441, error: Compile("Error while importing "wbindgen_placeholder"."__wbindgen_describe": unknown import. Expected Function(FunctionType { params: [I32], results: [] })") }), wasm_trace: [], native_trace: 0:
<unknown>
1: <unknown>
2: <unknown>
3: <unknown>
4: <unknown>
5: <unknown>
6: <unknown>
7: <unknown>
8: <unknown>
9: <unknown>
10: <unknown>
11: <unknown>
12: <unknown>
13: <unknown>
14: <unknown>
15: <unknown>
16: <unknown>
17: <unknown>
18: <unknown>
19: <unknown>
20: <unknown>
21: <unknown>
22: <unknown>
23: <unknown>
24: <unknown>
25: <unknown>
26: <unknown>
27: <unknown>
28: <unknown>
29: <unknown>
30: <unknown>
}))
at catchError (file:///Users/node_modules/@holochain/tryorama/node_modules/@holochain/client/lib/api/common.js:37:23)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at AdminWebsocket.installApp (file:///Users/node_modules/@holochain/tryorama/node_modules/@holochain/client/lib/api/common.js:13:22)
at Scenario.addPlayerWithApp (file:///Users/node_modules/@holochain/tryorama/lib/local/scenario.js:61:25)
at async Promise.all (index 1)
at Scenario.addPlayersWithApps (file:///Users/node_modules/@holochain/tryorama/lib/local/scenario.js:77:25)
at /Users/test.ts:20:26
at Module.runScenario (file:///Users/node_modules/@holochain/tryorama/lib/local/scenario.js:131:9)
at /Users/test.ts:10:3
at runTest (file:///Users/node_modules/@vitest/runner/dist/index.js:439:9)
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
❯ catchError ../node_modules/@holochain/tryorama/node_modules/@holochain/client/lib/api/common.js:37:23
❯ AdminWebsocket.installApp ../node_modules/@holochain/tryorama/node_modules/@holochain/client/lib/api/common.js:13:22
❯ Scenario.addPlayerWithApp ../node_modules/@holochain/tryorama/lib/local/scenario.js:61:25
❯ Scenario.addPlayersWithApps ../node_modules/@holochain/tryorama/lib/local/scenario.js:77:25
❯ src/my_space/schedule/appointment.test.ts:20:26
18| // Add 2 players with the test app to the Scenario. The returned players
19| // can be destructured.
20| const [alice, bob] = await scenario.addPlayersWithApps([appSource, appSource]);
| ^
21|
22| // Shortcut peer discovery through gossip and register all agents in every
❯ Module.runScenario ../node_modules/@holochain/tryorama/lib/local/scenario.js:131:9
After being able to integrate #16 I've been able to run some more tests which have yielded interesting results. Things are mostly working, but I've found that I need to clean up player port mappings between test runs since tape
runs everything inside one process.
What I've done for the moment is not pretty and necessitates a higher-order function around the player
in order to inject cleanup logic, which seems like a bit of an awkward workaround.
using the latest version "@holochain/tryorama": "^0.3.2-dev.2"
in the readme file it says switching off logging is a config setting:
const commonConfig = Config.gen( { chat: Config.dna('path/to/chat.dna.json') }, { logger: Config.logger(false) } )
i get an error that the 'type' field is missing with this config
i imagine it should be something like {type:'error'} but that doesnt work for me either.
Hi! I'm developing the tests for https://github.com/eyss/hc_zome_roles. In this library, the use of the progenitor pattern is required. I know how to get the property from inside the DNA code, but how can I initialize the DNA in tryorama with alice as its progenitor?
I only need alice's address as a progenitor property of the DNA. Thanks!
Running npm test
in the example folder from a nix shell with nightly holochain build throws an error:
07:04:57 [tryorama: player c0] debug: Player.installHapp(["/Users/jost/Desktop/dev/holochain/tryorama/example/test.dna.gz"], noAgentPubKey)
07:04:57 [tryorama] error: Test error: {
type: 'error',
data: { type: 'internal_error', data: 'missing field `manifest`' }
}
not ok 1 Test threw an exception. See output for details.
---
operator: fail
at: <anonymous> (/Users/jost/Desktop/dev/holochain/tryorama/src/middleware.ts:137:13)
stack: |-
Error: Test threw an exception. See output for details.
at Test.assert [as _assert] (/Users/jost/Desktop/dev/holochain/tryorama/node_modules/tape/lib/test.js:304:54)
at Test.bound [as _assert] (/Users/jost/Desktop/dev/holochain/tryorama/node_modules/tape/lib/test.js:91:32)
at Test.fail (/Users/jost/Desktop/dev/holochain/tryorama/node_modules/tape/lib/test.js:398:10)
at Test.bound [as fail] (/Users/jost/Desktop/dev/holochain/tryorama/node_modules/tape/lib/test.js:91:32)
at /Users/jost/Desktop/dev/holochain/tryorama/src/middleware.ts:137:13
at processTicksAndRejections (internal/process/task_queues.js:97:5)
...
07:04:57 [tryorama] debug: Test failed: basic test {
type: 'error',
data: { type: 'internal_error', data: 'missing field `manifest`' }
}
I've debugged into the (fairly complex) code and and got to the point that it happens when the client
sends the message to register the test.dna
to the AdminWebSocket. The response is the above error then.
I don't understand the architecture enough yet to know where the registering fails on the admin web socket. Perhaps @Connoropolous or @zo-el can see on the spot where the problem is?
After upgrading from 0.3.2-dev.3
to 0.3.4-dev.0
, a circular JSON structure occurs in orchestrator.run()
(node:410065) UnhandledPromiseRejectionWarning: TypeError: Converting circular structure to JSON
--> starting at object with constructor 'DerivedLogger'
| property '_readableState' -> object with constructor 'ReadableState'
| property 'pipes' -> object with constructor 'Console'
--- property 'parent' closes the circle
at JSON.stringify (<anonymous>)
at Splatter._splat (/home/brian/work/cogov/cogov-dev/test/node_modules/logform/splat.js:71:25)
at Splatter.transform (/home/brian/work/cogov/cogov-dev/test/node_modules/logform/splat.js:119:19)
at Format.transform (/home/brian/work/cogov/cogov-dev/test/node_modules/logform/combine.js:20:24)
at DerivedLogger._transform (/home/brian/work/cogov/cogov-dev/test/node_modules/winston/lib/winston/logger.js:305:29)
(node:410065) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)
All of the assertions pass in test/index.js.
The documentation for tests with custom agent config and DNA is not working for me.
index.js
:
const path = require("path");
const {
Orchestrator,
Config,
combine,
singleConductor,
localOnly,
tapeExecutor,
} = require("@holochain/tryorama");
process.on("unhandledRejection", (error) => {
// Will print "unhandledRejection err is not defined"
console.error("got unhandledRejection:", error);
});
const dnaPath = path.join(__dirname, "../dist/example-dna.dna.json");
const orchestrator = new Orchestrator({
middleware: combine(
// use the tape harness to run the tests, injects the tape API into each scenario
// as the second argument
tapeExecutor(require("tape")),
// specify that all "players" in the test are on the local machine, rather than
// on remote machines
localOnly,
// squash all instances from all conductors down into a single conductor,
// for in-memory testing purposes.
// Remove this middleware for other "real" network types which can actually
// send messages across conductors
singleConductor
),
});
const dna = {
id: "rolesTests",
file: "./dist/example-dna.dna.json",
};
const aliceConfig = Config.gen([{
agent: {
id: "alice",
public_address:
"HcScJWFagz6JtswwimIuXHa5V8h8Sjoy9Bkrbzfervjhuvq8g9whUEawSk845iz",
file: "./alice.keystore",
},
dna,
}]);
const bobConfig = Config.gen([{
agent: {
id: "bob",
public_address:
"HcSCJR7dD9t6Nuqc9kxqWfKzbo443p8y8Z38IA9dukBEr96umt3b47uetMXg3aa",
file: "./bob.keystore",
},
dna,
}]);
const {
assignRole,
getAgentRoles,
getAllRoles,
getAgentsWithRole,
createEntry,
unassignRole,
} = require("./utils");
orchestrator.registerScenario(
"only progenitor can assign roles",
async (s, t) => {
const { alice, bob } = await s.players(
{ alice: aliceConfig, bob: bobConfig },
true
);
const aliceAddress = alice.instance("rolesTest").agentAddress;
const bobAddress = bob.instance("rolesTest").agentAddress;
let result = await assignRole(bob)(aliceAddress, "editor");
t.notOk(result.Ok);
result = await assignRole(alice)(bobAddress, "editor");
t.ok(result.Ok);
await s.consistency();
result = await getAgentRoles(bob)(bobAddress);
t.equal(result.Ok[0], "editor");
result = await getAgentsWithRole(bob)("editor");
t.equal(result.Ok[0], bobAddress);
result = await getAllRoles(bob)();
t.equal(result.Ok[0], "editor");
}
);
orchestrator.run();
Error:
]
}
14:33:49 [tryorama] error: Could not validate Instances Array
Tried to use an invalid value for a complex type and found the following problems:
- Expecting string at 0.0.id but instead got: undefined.
- Expecting string at 0.0.agent.0.name but instead got: undefined.
- Expecting string at 0.0.agent.0.keystore_file but instead got: undefined.
/home/guillem/projects/eyss/holochain_roles/example-dna/test/node_modules/@holochain/tryorama/lib/types.js:22
throw new Error(msg);
^
If I try to change the config to:
const dna = {
id: "rolesTests",
file: "./dist/example-dna.dna.json",
};
const aliceConfig = Config.gen({
agent: {
id: "alice",
public_address:
"HcScJWFagz6JtswwimIuXHa5V8h8Sjoy9Bkrbzfervjhuvq8g9whUEawSk845iz",
file: "./alice.keystore",
},
dna,
});
const bobConfig = Config.gen({
agent: {
id: "bob",
public_address:
"HcSCJR7dD9t6Nuqc9kxqWfKzbo443p8y8Z38IA9dukBEr96umt3b47uetMXg3aa",
file: "./bob.keystore",
},
dna,
});
This is what I get:
14:39:25 info:
☸☸☸ [[[CONDUCTOR combined]]]
☸ Error while trying to boot from config: ErrorGeneric("Error while trying to create instance \"agent--alice\": Holochain Instance Error: Attempting to initialize DNA with zero zomes!")
☸
14:39:25 [tryorama] info: conductor 'combined' exited with code 0
not ok 2 Conductor exited before starting interface (code 0)
---
operator: fail
stack: |-
Error: Conductor exited before starting interface (code 0)
at Test.assert [as _assert] (/home/guillem/projects/eyss/holochain_roles/example-dna/test/node_modules/tape/lib/test.js:228:54)
at Test.bound [as _assert] (/home/guillem/projects/eyss/holochain_roles/example-dna/test/node_modules/tape/lib/test.js:80:32)
at Test.fail (/home/guillem/projects/eyss/holochain_roles/example-dna/test/node_modules/tape/lib/test.js:322:10)
at Test.bound [as fail] (/home/guillem/projects/eyss/holochain_roles/example-dna/test/node_modules/tape/lib/test.js:80:32)
at /home/guillem/projects/eyss/holochain_roles/example-dna/test/node_modules/@holochain/tryorama/lib/middleware.js:72:19
at processTicksAndRejections (internal/process/task_queues.js:93:5)
...
got an error for agents can only create entries when given permission Conductor exited before starting interface (code 0)
14:39:25 [tryorama] debug: Done with test: agents can only create entries when given permission
I'm getting a lot of messages of the following structure when I run tests:
00:00:00 [tryorama: tryorama conductor bob] debug: ...
or
00:00:00 [tryorama] info: ...
as well as
00:00:00 info:
☸☸☸ [[[CONDUCTOR alice]]]
☸ Successfully loaded 1 instance configurations
☸ Starting instances...
☸ Start all instances
☸ Starting instance "course_dna"...
I find this clutters my test output and makes it hard to read what the results of my actual tests are.
I throught configuring the logger would help, but even after configuring the logger to error
, I'm still getting the debug
and info
messages.
Here's what I tried in the conductor statement:
const conductorConfig = Config.gen(
{ course_dna: dna },
{
network: {
type: "sim2h",
sim2h_url: "ws://localhost:9000"
},
logger: Config.logger({ type: "error" }),
}
);
and in the orchestrator statement:
const orchestrator = new Orchestrator({
middleware: combine(
tapeExecutor(require("tape")),
localOnly
),
globalConfig: {
logger: { type: "error" }
}
});
Note that following recommendations here, I've been using ^0.3.0-rc.3
to try solving the issue, to no avail.
Am I missing something?
tryorama/ts/src/local/conductor.ts
Lines 220 to 222 in 2040998
Reported on the forum: https://forum.holochain.org/t/trouble-switching-to-try-o-rama/1061
Steps to reproduce:
setSignalHandler
.Latest PR https://github.com/holochain/tryorama/pull/201/files removed the ability to call appWs.callZome({ role_name, ... })
, using role name instead of cell id to identify the cell. This is the technique I use in all my tryorama tests, which are actually also testing my real UI code, which calls the AppClient
using the role_name.
This is the error I get:
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
FAIL src/profile.test.ts > create Profile
TypeError: Cannot read properties of undefined (reading '0')
❯ getSigningCredentials ../node_modules/@holochain/client/lib/api/zome-call-signing.js:13:48
❯ AppWebsocket.appWs.callZome ../node_modules/@holochain/tryorama/lib/local/conductor.js:250:12
❯ ProfilesClient.callZome ../node_modules/@holochain-open-dev/utils/src/zome-client.ts:32:24
❯ ProfilesClient.getAgentsWithProfile ../ui/src/profiles-client.ts:53:17
51| */
52| async getAgentsWithProfile(): Promise<Link[]> {
53| return this.callZome("get_agents_with_profile", null);
| ^
54| }
55|
❯ ../ui/src/profiles-store.ts:39:25
❯ fetch ../node_modules/@holochain-open-dev/signals/src/holochain.ts:92:11
❯ e.[watched] ../node_modules/@holochain-open-dev/signals/src/holochain.ts:106:9
❯ K ../node_modules/signal-polyfill/dist/index.js:136:34
❯ K ../node_modules/signal-polyfill/dist/index.js:138:34
❯ L ../node_modules/signal-polyfill/dist/index.js:79:88
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯
Test Files 1 failed (1)
Tests 1 failed (1)
Start at 19:17:54
Duration 18.04s (transform 628ms, setup 0ms, collect 2.38s, tests 14.74s, environment 1ms, prepare 354ms)
npm ERR! Lifecycle script `test` failed with error:
npm ERR! Error: command failed
npm ERR! in workspace: tests
npm ERR! at location: /home/guillem/projects/holochain/open-dev/profiles/tests
It's because in this line, there is no cell_id in the request. I think it's because of the removal of this function.
Another issue is that I don't see anywhere in the tests for tryorama that callZome
is tested using the role name instead of the cell_id.
We tried using the sample code with alice.agentAddress('instance') which doesn't seem to work.
Looking at guillems code, alice.instance("mail").agentAddress seems to be the proper function
Currently, there is no method for testing emit_signals within the dna. Emit signals return a null value and as such, require additional tooling to listen to network calls and read signal data returned to the conductor for proper testing at the dna level.
Player
already has _instancePort
, which is an undocumented "private" member. There is at least one use case (#22) where it would have been useful for that to have been publicly known. Some of these "private" fields should become public, and get documented.
Line 48 in f0bc10e
It looks like @holochain/try-o-rama
was renamed to @holochain/tryorama
The latest version of @holochain/try-o-rama
has the following issue:
Please run npm deprecate @holochain/try-o-rama
. Thank you!
Hey @maackle (: I've been having issues upgrading to 0.2.0-rc.2
(config doesn't seem to work as it's documented), but I can't find the source code of that version anywhere to check against... it doesn't seem to be on master
here.
I haven't had debug output in tests for a while now and I was hoping upgrading would fix the issue. But the code I'm looking at that came from NPM seems to have changed dramatically or be midway through an edit- I can't use genConfigArgs
in the conductor anymore. How should I go about dynamically injecting zomePort
now? Is this a semi-stable API I'm looking at, or will the next version be different?
I was hoping to swap out all my await pause(2000)
for await awaitDhtSync()
but I saw you made some changes in #172 and now it doesn't actually work the way I need it to.
I see the function was changed from:
awaitDhtSync(players: Array<Player>, dnaHash: DnaHash, interval?: number, timeout?: number)
to
awaitDhtSync(conductors: Array<IConductor>, cellId: CellId, interval?: number, timeout?: number)
This doesn't work for my usecase because each player in a scenario will have a different CellId -- we need to know the AgentPubKey of each of the agents in order to determine which cell states to compare across the conductors.
So there's a few other ways we could re-implement this api. I could help take on the implementation, but I want to make sure I get the api right and you're okay with it.
Option 1
Pass an array of conductors, an array of agentpubkeys, and a DnaHash where the indexes are expected to align to produce the correct cellIds for the correct conductors
awaitDhtSync(conductors: Array<IConductor>, agents: Array<AgentPubKey>, dnaHash: DnaHash, interval?: number, timeout?: number)
Option 2
Pass an array of objects merging the associated conductor & cell id
interface IConductorCell {
conductor: IConductor;
cellId: CellId;
}
awaitDhtSync(conductorCells: Array<IConductorCell>, interval?: number, timeout?: number)
I think to make this ergonomic we're going to want to start saving the Player info (conductor + AppAgent) in the scenario class -- otherwise we have no way of knowing which agentpubkeys are associated with a conductor under a single "player". Then we'll want to change the function name used in the scenario class to awaitPlayersDhtSync()
, and only include players in the check, not every conductor added via addConductor()
Does that make sense? What do you think @jost-s ?
When installing tryorama and running npm test
, this error gets returned:
TypeError: cell_data is not iterable
Updating to the latest version of @holochain/conductor-api
IN GITHUB fixes the issue. Once a new version of @holochain/conductor-api gets released, tryorama can be updated to point to the newer version on npm.
For now, workaround for developers: install the conductor-api from github in your test/package.json
with:
npm install https://github.com/holochain/holochain-conductor-api
Also, unless @holochain/client starts following proper semver for releases, you probably don't want the ^
which take 0.12.X
whatevers recent, breaking changes or not.
Line 48 in 706955a
I've recently started updating my Diorama tests to Try-o-rama. Operations which previously ran fine are now hanging the backend.
Reproducible on both 0.1.2-beta.4
and 0.1.1-beta.1
. In both cases I have been using core v0.0.32-alpha2
.
It appears as though this might be due to the status of networking support? These are the results I'm getting:
With n3h
network configuration provided to Config.genConfig
and using "n3h": "github:holochain/n3h#0.0.20-alpha"
as a dependency, I get an internal crash:
☯☯☯ [[[CONDUCTOR alice]]]
☯ response: Err(ErrorMessage { msg: "bad exit Some(1) \"internal/modules/cjs/loader.js:857\\n return process.dlopen(module, path.toNamespacedPath(filename));\\n ^\\n\\nError: /home/pospi/projects/holo-rea/oce-holo/node_modules/better-sqlite3/build/better_sqlite3.node: undefined symbol: _ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4_EENSA_INS_9SignatureEEEiNS_19ConstructorBehaviorE\\n at Object.Module._extensions..node (internal/modules/cjs/loader.js:857:18)\\n at Module.load (internal/modules/cjs/loader.js:685:32)\\n at Function.Module._load (internal/modules/cjs/loader.js:620:12)\\n at Module.require (internal/modules/cjs/loader.js:723:19)\\n at require (internal/modules/cjs/helpers.js:14:16)\\n at Object.<anonymous> (/home/pospi/projects/holo-rea/oce-holo/node_modules/better-sqlite3/lib/database.js:5:21)\\n at Module._compile (internal/modules/cjs/loader.js:816:30)\\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10)\\n at Module.load (internal/modules/cjs/loader.js:685:32)\\n at Function.Module._load (internal/modules/cjs/loader.js:620:12)\\n\"" }
With lib3h
or websocket
networks configured, the configuration is rejected:
★★★ [[[CONDUCTOR alice]]]
★ Error while trying to boot from config: IoError("Error loading configuration: unknown variant `websocket`, expected one of `n3h`, `lib3h`, `memory`, `sim1h` for key `network.type`")
With sim1h
or sim2h
networks configured, it looks like the config is rejected further down the stack:
14:58:35 [try-o-rama] error: Tried to use an invalid value for a complex type and found the following problems:
- Expecting "n3h" at 0.0.network.0.0 but instead got: "sim1h".
- Expecting "memory" at 0.0.network.0.1 but instead got: "sim1h".
- Expecting "websocket" at 0.0.network.0.2 but instead got: "sim1h".
- Expecting { [K in string]: any } at 0.0.network.1 but instead got: "sim1h".
With memory
network configured, the conductor appears unable to determine when a call through the DNA has run to completion. I just end up getting zome call timed out after 90 seconds on conductor 'alice'
and a failure of the first request in the test scenario. When I enable detailed logging, it looks as though it's looping infinitely through this sequence:
☯ DEBUG 2019-10-17 14:24:29 [lib3h::gateway::gateway_transport] net_worker_thread/puid-5-2f /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/gateway/gateway_transport.rs:231 gateway_transport: SendMessage, first resolving address Lib3hUri("transportid:HcMcJmwRIZE33p6vee3cXt99rPGUPzospf7cBvn8aarb3znyFx6dNpmVH54tigz")
☯ DEBUG 2019-10-17 14:24:29 [lib3h::engine::network_layer] net_worker_thread/puid-12-2d /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/engine/network_layer.rs:117 mem-agent-puid-13-0 << handle_network_transport_request: ReceivedData { uri: Lib3hUri("mem://addr_1/"), payload: "�\u{0}�����app_spec_memory��Ktransportid:HcMcJmwRIZE33p6vee3cXt99rPGUPzospf7cBvn8aarb3znyFx6dNpmVH54tigz��Ktransportid:HcMcJ77qfoxbNxgt5hiOhQXTuNu634pc9bbKcrDbWs9du8ghQGRgMVeb4wagaui�\u{650}kgGRk5HZS3RyYW5zcG9ydGlkOkhjTWNKNzdxZm94Yk54Z3Q1aGlPaFFYVHVOdTYzNHBjOWJiS2NyRGJXczlkdThnaFFHUmdNVmViNHdhZ2F1aZGtbWVtOi8vYWRkcl8xL88AAAFt1/WQTQ==" }
☯
14:24:29 error:
☸☸☸ {{{CONDUCTOR alice}}}
☸ DEBUG 2019-10-17 14:24:29 [lib3h::engine::network_layer] net_worker_thread/puid-12-2d /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/engine/network_layer.rs:140 Received message from: mem://addr_1/ | size: 325
☸ DEBUG 2019-10-17 14:24:29 [lib3h::engine::network_layer] net_worker_thread/puid-12-2d /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/engine/network_layer.rs:58 mem-agent-puid-13-0 << handle_network_dht_request: GossipTo(GossipToData { peer_name_list: [Lib3hUri("transportid:HcMcJ77qfoxbNxgt5hiOhQXTuNu634pc9bbKcrDbWs9du8ghQGRgMVeb4wagaui")], bundle: "�\u{1}����Ktransportid:HcMcJmwRIZE33p6vee3cXt99rPGUPzospf7cBvn8aarb3znyFx6dNpmVH54tigz��mem://addr_2/�\u{0}\u{0}\u{1}m���a" })
☸ DEBUG 2019-10-17 14:24:29 [lib3h::engine::ghost_engine] net_worker_thread/puid-12-2d /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/engine/ghost_engine.rs:727 (app_spec_memory) handle_GossipTo: GossipToData { peer_name_list: [Lib3hUri("transportid:HcMcJ77qfoxbNxgt5hiOhQXTuNu634pc9bbKcrDbWs9du8ghQGRgMVeb4wagaui")], bundle: "�\u{1}����Ktransportid:HcMcJmwRIZE33p6vee3cXt99rPGUPzospf7cBvn8aarb3znyFx6dNpmVH54tigz��mem://addr_2/�\u{0}\u{0}\u{1}m���a" }
☸ DEBUG 2019-10-17 14:24:29 [lib3h::gateway::gateway_transport] net_worker_thread/puid-12-2d /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/gateway/gateway_transport.rs:231 gateway_transport: SendMessage, first resolving address Lib3hUri("transportid:HcMcJ77qfoxbNxgt5hiOhQXTuNu634pc9bbKcrDbWs9du8ghQGRgMVeb4wagaui")
☸ DEBUG 2019-10-17 14:24:29 [lib3h::engine::network_layer] net_worker_thread/puid-5-2f /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/engine/network_layer.rs:117 mem-agent-puid-6-0 << handle_network_transport_request: ReceivedData { uri: Lib3hUri("mem://addr_2/"), payload: "�\u{0}�����app_spec_memory��Ktransportid:HcMcJ77qfoxbNxgt5hiOhQXTuNu634pc9bbKcrDbWs9du8ghQGRgMVeb4wagaui��Ktransportid:HcMcJmwRIZE33p6vee3cXt99rPGUPzospf7cBvn8aarb3znyFx6dNpmVH54tigz�\u{650}kgGRk5HZS3RyYW5zcG9ydGlkOkhjTWNKbXdSSVpFMzNwNnZlZTNjWHQ5OXJQR1VQem9zcGY3Y0J2bjhhYXJiM3pueUZ4NmROcG1WSDU0dGlnepGtbWVtOi8vYWRkcl8yL88AAAFt1/WYYQ==" }
☸ DEBUG 2019-10-17 14:24:29 [lib3h::engine::network_layer] net_worker_thread/puid-5-2f /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/engine/network_layer.rs:140 Received message from: mem://addr_2/ | size: 325
☸ DEBUG 2019-10-17 14:24:29 [holochain_core_types::sync] hc_guard_watcher/puid-0-0 core_types/src/sync.rs:152 tracking 1 active guard(s) alive for > 500ms:
☸ KIND PUID ELAPSED (ms)
☸ Read puid-21-0 8393
☸ DEBUG 2019-10-17 14:24:29 [lib3h::engine::network_layer] net_worker_thread/puid-5-2f /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/engine/network_layer.rs:58 mem-agent-puid-6-0 << handle_network_dht_request: GossipTo(GossipToData { peer_name_list: [Lib3hUri("transportid:HcMcJmwRIZE33p6vee3cXt99rPGUPzospf7cBvn8aarb3znyFx6dNpmVH54tigz")], bundle: "�\u{1}����Ktransportid:HcMcJ77qfoxbNxgt5hiOhQXTuNu634pc9bbKcrDbWs9du8ghQGRgMVeb4wagaui��mem://addr_1/�\u{0}\u{0}\u{1}m���M" })
☸ DEBUG 2019-10-17 14:24:29 [lib3h::engine::ghost_engine] net_worker_thread/puid-5-2f /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/lib3h-0.0.13/src/engine/ghost_engine.rs:727 (app_spec_memory) handle_GossipTo: GossipToData { peer_name_list: [Lib3hUri("transportid:HcMcJmwRIZE33p6vee3cXt99rPGUPzospf7cBvn8aarb3znyFx6dNpmVH54tigz")], bundle: "�\u{1}����Ktransportid:HcMcJ77qfoxbNxgt5hiOhQXTuNu634pc9bbKcrDbWs9du8ghQGRgMVeb4wagaui��mem://addr_1/�\u{0}\u{0}\u{1}m���M" }
...from here, it starts back at net_worker_thread/puid-5-2f
attempting to resolve for Lib3hUri("transportid:HcMcJmwRIZE33p6vee3cXt99rPGUPzospf7cBvn8aarb3znyFx6dNpmVH54tigz")
. To me that seems indicative of gossip payloads endlessly cycling back and forth, and never being interpreted as final?
So I guess sub-questions for this issue are:
executing command ... path-to-test-file sometimes runs indefinitely ... race condition?
more console logging about what its actually doing would be useful
I think it should have been brought up to date with this PR
#144
but that part of things got missed.
I would like to see hREA update and use the network_seed
feature
Relatedly it should be using @holochain/client 0.8.0 I think?
This error occurs when running hc test
. I'll have a PR to fix this specific issue.
https://forum.holochain.org/t/undefined-signal-type-error-while-running-tests/1564
Currently when writing tryorama tests, we have to call sleep() after every zome call, waiting for changes to be gossiped to all agents. This makes for flaky tests that inconsistently fail if network conditions change, or slow tests that wait unecessesarily longer than needed because sleep time is static.
One way around this could be to introduce a function like waitForPeerSync(). This would compare the DHT state of all agents in the scenario and sleep until they are identical.
seems it wasnt finished.. the signalhandler option does not appear to be implemented
in conductor.ts. function InstallApp line 389 .
work around example:
await runScenario(async scenario => {
// setup signal receiver
let signalHandler_alice: AppSignalCb | undefined;
let signalReceived_alice: Promise<AppSignal>
signalHandler_alice = (signal) => {
console.log("signal found for Alice:",signal)
signalReceived_alice = new Promise<AppSignal>((resolve) => {
resolve(signal);
};
});
//set app path
const testAppPath = process.cwd() + path_to_happ;
// Add players with the test app to the Scenario.
const alice = await scenario.addPlayerWithApp({ path: testAppPath })
// hack to get the appWs and add the event handler... maybe it is idempotent and doesnt create another websocket?
const appWs = await alice.conductor.connectAppWs(await alice.conductor.attachAppInterface())
appWs.on("signal", SignalHandler_alice);
await scenario.shareAllAgents();
// make a callzome here to provoke a signal back for alice
await dhtSync([alice], alice.cells[0].cell_id[0]);
const alice_signal = await signalReceived_alice
console.log no longer works for me within the tests..
also its not clear from the documentation how you set the wasm log level?
TRYORAMA_LOG_LEVEL=debug node test.js ?
i just do npm test from the command line..
should the log level not be a property one can set in the test scripts?
@holochain/[email protected] postinstall /Users/philipbeadle/holochain-2020/scaffolded-apps/holodex/dna/tests/node_modules/@holochain/tryorama
> npm run build
> @holochain/[email protected] build /Users/philipbeadle/holochain-2020/scaffolded-apps/holodex/dna/tests/node_modules/@holochain/tryorama
> rm -rf ./lib ; tsc -d
../../../../../node_modules/@types/sizzle/index.d.ts:14:35 - error TS2304: Cannot find name 'Element'.
14 <TArrayLike extends ArrayLike<Element>>(selector: string, context: Element | Document | DocumentFragment, results: TArrayLike): TArrayLike;
~~~~~~~
../../../../../node_modules/@types/sizzle/index.d.ts:14:72 - error TS2304: Cannot find name 'Element'.
14 <TArrayLike extends ArrayLike<Element>>(selector: string, context: Element | Document | DocumentFragment, results: TArrayLike): TArrayLike;
~~~~~~~
../../../../../node_modules/@types/sizzle/index.d.ts:14:82 - error TS2304: Cannot find name 'Document'.
14 <TArrayLike extends ArrayLike<Element>>(selector: string, context: Element | Document | DocumentFragment, results: TArrayLike): TArrayLike;
~~~~~~~~
../../../../../node_modules/@types/sizzle/index.d.ts:14:93 - error TS2304: Cannot find name 'DocumentFragment'.
14 <TArrayLike extends ArrayLike<Element>>(selector: string, context: Element | Document | DocumentFragment, results: TArrayLike): TArrayLike;
~~~~~~~~~~~~~~~~
../../../../../node_modules/@types/sizzle/index.d.ts:15:34 - error TS2304: Cannot find name 'Element'.
15 (selector: string, context?: Element | Document | DocumentFragment): Element[];
~~~~~~~
../../../../../node_modules/@types/sizzle/index.d.ts:15:44 - error TS2304: Cannot find name 'Document'.
15 (selector: string, context?: Element | Document | DocumentFragment): Element[];
~~~~~~~~
../../../../../node_modules/@types/sizzle/index.d.ts:15:55 - error TS2304: Cannot find name 'DocumentFragment'.
15 (selector: string, context?: Element | Document | DocumentFragment): Element[];
~~~~~~~~~~~~~~~~
../../../../../node_modules/@types/sizzle/index.d.ts:15:74 - error TS2304: Cannot find name 'Element'.
15 (selector: string, context?: Element | Document | DocumentFragment): Element[];
~~~~~~~
../../../../../node_modules/@types/sizzle/index.d.ts:18:28 - error TS2304: Cannot find name 'Element'.
18 matchSelector(element: Element, selector: string): boolean;
~~~~~~~
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.