module Neo4jTestServer
Based off of the setup uses for SunspotTest
Attributes
edition[RW]
neo4j_startup_timeout[W]
server[W]
Public Class Methods
clear_db()
click to toggle source
# File lib/neo4j_test_server.rb, line 71 def clear_db session.query('MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r') end
neo4j_running?()
click to toggle source
# File lib/neo4j_test_server.rb, line 44 def neo4j_running? begin Net::HTTP.get(URI.parse(ping_url)) true rescue false # Neo4j not running end end
neo4j_startup_timeout()
click to toggle source
# File lib/neo4j_test_server.rb, line 14 def neo4j_startup_timeout @neo4j_startup_timeout ||= 30 end
ping_url()
click to toggle source
# File lib/neo4j_test_server.rb, line 53 def ping_url "http://#{server.bind_address}:#{server.port}" end
server()
click to toggle source
# File lib/neo4j_test_server.rb, line 57 def server @server ||= Neo4jTest::Server.new edition end
session()
click to toggle source
# File lib/neo4j_test_server.rb, line 65 def session return nil unless neo4j_running? @session ||= Neo4j::Session.open(:server_db, ping_url) end
setup_neo4j()
click to toggle source
# File lib/neo4j_test_server.rb, line 18 def setup_neo4j start_neo4j_server end
start_neo4j_server()
click to toggle source
# File lib/neo4j_test_server.rb, line 22 def start_neo4j_server unless neo4j_running? server.start at_exit do puts "Shutting down Neo4j server at '#{server}'" server.stop end wait_for_server end end
wait_for_server()
click to toggle source
# File lib/neo4j_test_server.rb, line 35 def wait_for_server (neo4j_startup_timeout * 10).times do break if neo4j_running? sleep(0.1) end raise TimeoutError, "Neo4j failed to startup after #{neo4j_startup_timeout} seconds." unless neo4j_running? puts "Neo4j Running at '#{server}'" end