You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have tried to use jest-dynamodb in my test suite. I am not able to run dynamodb via jest-dynamodb. I have to manually run dynamodb using docker & then only the tests start to run. I have created a basic example based on jest's documentation but of no use. Strangely, It works on my colleagues' machines.
I am seeing the below error when I don't start the dynamodb via docker.
Determining test suites to run...2023-03-10 13:08:24.550:WARN:oejs.HttpChannel:qtp1583353301-14: /
java.lang.NoClassDefFoundError: com/almworks/sqlite4java/SQLiteJob
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBRequestHandler.getDBAccess(LocalDynamoDBRequestHandler.java:208)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBRequestHandler.getHandler(LocalDynamoDBRequestHandler.java:199)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBRequestHandler.createTable(LocalDynamoDBRequestHandler.java:252)
at com.amazonaws.services.dynamodbv2.local.dispatchers.CreateTableDispatcher.enact(CreateTableDispatcher.java:18)
at com.amazonaws.services.dynamodbv2.local.dispatchers.CreateTableDispatcher.enact(CreateTableDispatcher.java:12)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBServerHandler.packageDynamoDBResponse(LocalDynamoDBServerHandler.java:408)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBServerHandler.handle(LocalDynamoDBServerHandler.java:495)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:190)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.lang.Thread.run(Thread.java:748)
Caused by:
java.lang.ClassNotFoundException: com.almworks.sqlite4java.SQLiteJob
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBRequestHandler.getDBAccess(LocalDynamoDBRequestHandler.java:208)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBRequestHandler.getHandler(LocalDynamoDBRequestHandler.java:199)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBRequestHandler.createTable(LocalDynamoDBRequestHandler.java:252)
at com.amazonaws.services.dynamodbv2.local.dispatchers.CreateTableDispatcher.enact(CreateTableDispatcher.java:18)
at com.amazonaws.services.dynamodbv2.local.dispatchers.CreateTableDispatcher.enact(CreateTableDispatcher.java:12)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBServerHandler.packageDynamoDBResponse(LocalDynamoDBServerHandler.java:408)
at com.amazonaws.services.dynamodbv2.local.server.LocalDynamoDBServerHandler.handle(LocalDynamoDBServerHandler.java:495)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:190)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.lang.Thread.run(Thread.java:748)
SyntaxError: Jest: Got error running globalSetup - C:\users\username\jest-dynamodb\node_modules\@shelf\jest-dynamodb\lib\setup.js, reason: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at C:\users\username\jest-dynamodb\node_modules\@aws-sdk\client-dynamodb\dist-cjs\protocols\Aws_json1_0.js:6388:21
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async parseErrorBody (C:\users\username\jest-dynamodb\node_modules\@aws-sdk\client-dynamodb\dist-cjs\protocols\Aws_json1_0.js:6393:19)
at async deserializeAws_json1_0CreateTableCommandError (C:\users\username\jest-dynamodb\node_modules\@aws-sdk\client-dynamodb\dist-cjs\protocols\Aws_json1_0.js:788:15)
at async C:\users\username\jest-dynamodb\node_modules\@aws-sdk\middleware-serde\dist-cjs\deserializerMiddleware.js:7:24
at async C:\users\username\jest-dynamodb\node_modules\@aws-sdk\middleware-signing\dist-cjs\middleware.js:14:20
at async C:\users\username\jest-dynamodb\node_modules\@aws-sdk\middleware-retry\dist-cjs\retryMiddleware.js:27:46
at async C:\users\username\jest-dynamodb\node_modules\@aws-sdk\middleware-logger\dist-cjs\loggerMiddleware.js:5:22
at async Promise.all (index 0)
In my case, I thought jest was stuck because it wasn't doing anything, so I stopped it. After that, I got this error. It turns out that jest-dynamodb was downloading the dynamodb jar in the background, and I corrupted the download by stopping it before it was done. This happened after I restarted my computer, since that clears the temp files, and it had to redownload.
I fixed it by deleting the dynamodb files that jest-dynamodb downloads. The default download location is path.join(os.tmpdir(), 'dynamodb-local'), which for me was /tmp/dynamodb-local/.
I have tried to use jest-dynamodb in my test suite. I am not able to run dynamodb via
jest-dynamodb
. I have to manually run dynamodb using docker & then only the tests start to run. I have created a basic example based on jest's documentation but of no use. Strangely, It works on my colleagues' machines.Environment details:
Node version: 14.20.1
Java version: 1.8.0_202
I am seeing the below error when I don't start the dynamodb via docker.
I have added the basic example in this gist here: https://gist.github.com/klvenky/199b72cbe0e75f48dfd8ec3ec185510f.
I have already referred to similar issues like 99x/serverless-dynamodb-local#173, but didn't find anything helpful.
The text was updated successfully, but these errors were encountered: