These tests need to set up an instance of neo4j which exists ephemerally, seed the database, run some queries, and then exit:
AC:
[x] Make install script download and extract neo4j installation
[x] Add code to testing scripts to clear state of database on each run
[x] Add tests to connect to testing database, clear state, seed some data and run + verify some queries
Estimate: 2 hours
Actual: 6 hours
This issue took quite a long time to implement primarily because getting Neo4j working on Travis was such a pain. The process is particularly memory hungry and 3.0.6 was crashing inexplicably when run on Travis. I couldn't use the built-in service either because it is woefully out of date to the point where the query language had changed substantially between versions.
I ended up settling on downloading a local copy of 2.2.0 and running that. 2.2.0 does authentication a little differently from 3.0.6 (authentication tokens are mandatory for some reason) and it also doesn't support bolt, which meant that I had to write a smaller wrapper around the REST API.
These tests need to set up an instance of neo4j which exists ephemerally, seed the database, run some queries, and then exit:
AC:
Estimate: 2 hours Actual: 6 hours
This issue took quite a long time to implement primarily because getting Neo4j working on Travis was such a pain. The process is particularly memory hungry and 3.0.6 was crashing inexplicably when run on Travis. I couldn't use the built-in service either because it is woefully out of date to the point where the query language had changed substantially between versions.
I ended up settling on downloading a local copy of 2.2.0 and running that. 2.2.0 does authentication a little differently from 3.0.6 (authentication tokens are mandatory for some reason) and it also doesn't support bolt, which meant that I had to write a smaller wrapper around the REST API.