2017-03-28 1 views
0

Ce codeNeo4j retourne un Neo4j :: :: node noyau dans env test et le ActiveNode correct dans le développement sous-classé

@organization = Organization.find(params[:organization_id]) 

retourne une instance Neo4j::Core::Node dans env test et l'instance Organization correcte dans le développement. Je suis deux serveurs en cours d'exécution avec cette neo4j.yml:

development: 
    type: bolt 
    url: bolt://localhost:7687 

test: 
    type: bolt 
    url: bolt://localhost:8687 

J'ai neo4j 8.0.11

Répondre

0

La question était que je ne l'avais pas ajouté les options wrap_level: :proc lors de la configuration de l'adaptateur de session Neo4j pour mon environnement de test.

def create_server_session 
    pn = Pathname.new(__dir__).join('..','..','config','neo4j.yml') 
    config_url = YAML.load_file(pn)[Rails.env]['url'] 
    session_adaptor = Neo4j::Core::CypherSession::Adaptors::Bolt.new(config_url, wrap_level: :proc) 
    session = Neo4j::Core::CypherSession.new(session_adaptor) 
    Neo4j::ActiveBase.current_session = session 
end 

RSpec.configure do |config| 

    config.before(:suite) do 
    create_server_session 
    delete_db 
    end 

end 
+0

Merci pour le partage! Je prévois de corriger cela dans un proche avenir afin qu'il soit automatique si vous utilisez la gemme 'neo4j'. Je vais mettre à jour ici quand cela se produit –

+0

FYI Je viens de sortir la version '8.0.12' de la gemme' neo4j'. Cela devrait définir automatiquement le 'wrap_level' sur les sessions lorsque vous utilisez' ActiveNode'/'ActiveRel' –

+0

Merci beaucoup Brian. – weston