I'm surprised Daniel doesn't have this done already ;-)

What is the test configuration/data for GLVs?  Could you list the
paths/files?

Robert Dale


On Wed, Feb 27, 2019 at 7:49 AM Stephen Mallette <spmalle...@gmail.com>
wrote:

> Yes, an on-the-fly container would work assuming it used the test
> configuration/data for GLVs. That's why i suggested the command as I did
> because it was similar to docker/build.sh.
>
>
> On Wed, Feb 27, 2019 at 7:25 AM Robert Dale <robd...@gmail.com> wrote:
>
> > Do you want to create a docker container on-the-fly using the current
> > working copy kind of like we do for docker/build.sh?
> >
> > Robert Dale
> >
> >
> > On Wed, Feb 27, 2019 at 7:16 AM Stephen Mallette <spmalle...@gmail.com>
> > wrote:
> >
> > > testcontainers seems neat as it gives some good integration and
> > automation,
> > > however reliance on nightly snapshots doesn't sound so great. There are
> > > times when changes are occurring on both client and server so a local
> > > up-to-the-moment image would be necessary. I also think we might want
> to
> > > avoid nightly snapshots of anything until the ASF figures out more
> > clearly
> > > how those play into projects (there is a bit of discussion going on
> with
> > > that now). I do like the idea of being able to test against older
> > versions
> > > though.  Ensuring backward compatibility.is a nice thought.
> > >
> > >
> > > On Wed, Feb 27, 2019 at 4:38 AM Florian Hockmann <
> f...@florian-hockmann.de
> > >
> > > wrote:
> > >
> > > > Fantastic idea, I often missed the ability to just start tests for
> > > > Gremlin.Net from my IDE.
> > > >
> > > > Luckily for us, there is a project that is aimed exactly at problems
> > like
> > > > this:
> > > > https://www.testcontainers.org/
> > > >
> > > > The basic idea of Testcontainers is that you define a Docker
> container
> > in
> > > > your tests for whatever external dependencies you need. Databases
> are a
> > > > frequent example where Testcontainers makes sense. For us, Gremlin
> > Server
> > > > would be such a container.
> > > > Testcontainers then uses the ability of the testing framework (e.g.
> > > JUnit)
> > > > to start the Docker container for the tests and waits until they are
> > > fully
> > > > started (how they are started can be configured for each container
> > > > differently). After the tests have completed, it also stops the
> > > containers
> > > > again.
> > > > That way, you don't have to manage the containers manually anymore.
> > > > Everything is done in the background by the IDE / the build tool.
> > > >
> > > > Testcontainers was originally a Java library, but they now also have
> > > > libraries for different languages, including the ones for which we
> have
> > > > GLVs:
> > > >
> > > > testcontainers-python:
> > > > https://github.com/testcontainers/testcontainers-python
> > > > testcontainers-dotnet
> > > > <
> > >
> >
> https://github.com/testcontainers/testcontainers-pythontestcontainers-dotnet
> > > >:
> > > > https://github.com/testcontainers/testcontainers-dotnet
> > > > testcontainers-node
> > > > <
> > >
> >
> https://github.com/testcontainers/testcontainers-dotnettestcontainers-node
> > > >:
> > > > https://github.com/testcontainers/testcontainers-node
> > > >
> > > > Testcontainers-java is the most advanced library of these of course.
> > The
> > > > others still lack some functionality, but I guess that we could also
> > just
> > > > contribute to those libraries if an important feature is missing for
> > us.
> > > >
> > > > I wanted to use Testcontainers for Gremlin.Net, but
> > testcontainers-dotnet
> > > > unfortunately can only use images that are available in some
> registry.
> > > So,
> > > > we would have to push a Docker Image of Gremlin Server to DockerHub
> to
> > > use
> > > > it in our tests. That means that we could either only test the GLVs
> > > against
> > > > already released versions or we could publish something like nightly
> > > build
> > > > images of Gremlin Server.
> > > > I originally wanted to wait until testcontainers-dotnet is able to
> use
> > > > images that are only available locally (testcontainers-java already
> has
> > > > that capability), but now that I think more about this, I think that
> it
> > > > makes actually more sense to use images that are available in the
> > > registry
> > > > as every developer would otherwise have to build test images first
> > > locally
> > > > in order to use them for tests.
> > > >
> > > > So, I suggest that you guys take a look at Testcontainers to see
> > whether
> > > > you agree that it's a good solution to our problem and then we can
> see
> > > > whether we want to publish nightly builds for the GLV tests or how we
> > > want
> > > > to handle that.
> > > >
> > > > -----Ursprüngliche Nachricht-----
> > > > Von: Stephen Mallette <spmalle...@gmail.com>
> > > > Gesendet: Dienstag, 26. Februar 2019 22:24
> > > > An: dev@tinkerpop.apache.org
> > > > Betreff: docker and GLV development
> > > >
> > > > Anyone have any idea how to make it so that docker can be useful for
> > > > helping to streamline GLV development? I'd love to be able to do
> > > something
> > > > like:
> > > >
> > > > docker/gremlin-server.sh -test
> > > >
> > > > which would start Gremlin Server with our standard test configuration
> > > > (currently built into the maven tool chain, but I think that could be
> > > > extracted without too much difficulty). That way, we could easily
> open
> > up
> > > > whatever GLV specific IDE we wanted and run tests directly in there,
> > use
> > > > the debugger, etc.
> > > >
> > > > Sound useful? and if so, is that something that is easy/possible? and
> > > then
> > > > further....any volunteers with the know-how to get that setup (i'm
> > happy
> > > to
> > > > assist however i can)?
> > > >
> > > > btw, if you have a nicer way to set up an environment for GLV
> > development
> > > > and docker is a waste of time, please clue me in. i don't mind using
> > the
> > > > maven integration but i feel like i could be more efficient with a
> more
> > > > streamlined setup.
> > > >
> > > >
> > >
> >
>

Reply via email to