Module: Neo4jTestServer
- Defined in:
- lib/neo4j_test_server.rb
Overview
Based off of the setup uses for SunspotTest
Defined Under Namespace
Classes: TimeoutError
Class Attribute Summary collapse
-
.edition ⇒ Object
Returns the value of attribute edition.
- .neo4j_startup_timeout ⇒ Object
- .server ⇒ Object
Class Method Summary collapse
- .clear_db ⇒ Object
- .neo4j_running? ⇒ Boolean
- .ping_url ⇒ Object
- .session ⇒ Object
- .setup_neo4j ⇒ Object
- .start_neo4j_server ⇒ Object
- .wait_for_server ⇒ Object
Class Attribute Details
.edition ⇒ Object
Returns the value of attribute edition.
12 13 14 |
# File 'lib/neo4j_test_server.rb', line 12 def edition @edition end |
.neo4j_startup_timeout ⇒ Object
14 15 16 |
# File 'lib/neo4j_test_server.rb', line 14 def neo4j_startup_timeout @neo4j_startup_timeout ||= 30 end |
Class Method Details
.clear_db ⇒ Object
71 72 73 |
# 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? ⇒ Boolean
44 45 46 47 48 49 50 51 |
# 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 |
.ping_url ⇒ Object
53 54 55 |
# File 'lib/neo4j_test_server.rb', line 53 def ping_url "http://#{server.bind_address}:#{server.port}" end |
.session ⇒ Object
65 66 67 68 69 |
# 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 ⇒ Object
18 19 20 |
# File 'lib/neo4j_test_server.rb', line 18 def setup_neo4j start_neo4j_server end |
.start_neo4j_server ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# 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 ⇒ Object
35 36 37 38 39 40 41 42 |
# 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 |