Best Testing Practices?
Hi!
I'm using Gremlin for the 1st time in one of my projects and one of the goals is to do TDD.
What would be the best practices in what comes to using gremlin? I've tried to look into having a memory database but I couldn't find an official one that works without Java and I would like to avoid using docker so that the tests can just run anywhere, anytime.
Basically, I would like to know if there is a ThinkerGraph-Gremlin (https://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin) for javascript.
edit: Found this one (https://github.com/jbmusso/tinkergraph-js) but it says that it's not production ready and the last commit was 7y ago
Thanks in advance!
3 Replies
no, there are no native TinkerPop graph implementations outside of Java. the only approach is to start Gremlin Server either with docker or to run it directly. The former is the approach we take with our tests in TinkerPop. it's unfortunately a very big job to build the entire TinkerPop infrastructure in every programming language, so having a TinkerGraph in javascript and building a Gremlin execution engine for it would be a lot of work that no one has really shown an interest in doing. I think we could see a "TinkerGraph" of sorts for each programming language in a future version, but a native Gremlin processor is a wonderful dream but perhaps impractical to plan for.
Hi @spmallette thanks a lot for your answer! I guess for local development is fine to launch in Docker.
For deployment, I wanted to execute the tests inside AWS Pipeline, for that we might use our database so that we don't need the additional complexity of getting an Gremlin Server instance up. What would be the best way to isolate the test artefacts and to easy delete them after the tests run?
i'm not sure how to advise you on that one as i'm not well versed on all the best practices for AWS CodePipeline unfortunately.