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
spmallette
spmallette11mo ago
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.
RuiPaças
RuiPaças11mo ago
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?
spmallette
spmallette11mo ago
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.
Want results from more Discord servers?
Add your server
More Posts
Route from origin to destination between two datetimesHey, I'm attempting to create a graph DB that will allow me to efficiently find a route from origin migrating from Azure Cosmos DB Gremlin to another Gremlin platform such as Google BigTableHas anyone tried, or have any idea if something like this is possible, thinking about potentially chWhat does Setting Write Buffer Watermark do?**int writeBufferHighWaterMark** If the number of bytes in the network send buffer exceeds this vHow can I filter by property typeSome time ago, we discovered that a certain timestamp property was being stored as a String instead Deleting X nodes when there is no incoming Y nodes to themHello, In my case, a `team` has many `Member` and each member works only for one company. a companyUser Defined Steps for orientDB Handlers (Server Plugins)OrientDB has Handlers (Server Plugins). Handlers allow writing custom functions. For example, there Modify traversal from outside the function that builds the traversal (Java)Hi peeps, more of an OOP oriented question this time around. I'll start off by explaining what I'm tHow can I write a project using an inject that doesn't exhaust itself?Take the following example query: g.inject("1", "2", "3").project("list").by(__.inject("b").fold()ReadOnlyStrategy for remote script execution to make a read only server instanceHi all, I am setting up a read only cluster of gremlin server, I have conifgured the initialization Pass label to coalesceWhen I want to pass a label to a `coalesce` step I get follwoing error: ``` "addE(occupied) failed