Skip to content

Commit d6cce61

Browse files
miguelffkarmi
authored andcommittedApr 8, 2015
[MODEL] Extract test helpers for mongo
Related: elastic#10, elastic#30, elastic#50, elastic#129, elastic#346
1 parent 0a811a9 commit d6cce61

File tree

2 files changed

+34
-20
lines changed

2 files changed

+34
-20
lines changed
 

‎elasticsearch-model/test/integration/mongoid_basic_test.rb

+4-20
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,9 @@
11
require 'test_helper'
22

3-
begin
4-
require 'mongoid'
5-
session = Moped::Connection.new("localhost", 27017, 0.5)
6-
session.connect
7-
ENV["MONGODB_AVAILABLE"] = 'yes'
8-
rescue LoadError, Moped::Errors::ConnectionFailure => e
9-
$stderr.puts "MongoDB not installed or running: #{e}"
10-
end
11-
12-
if ENV["MONGODB_AVAILABLE"]
13-
$stderr.puts "Mongoid #{Mongoid::VERSION}", '-'*80
14-
15-
logger = ::Logger.new($stderr)
16-
logger.formatter = lambda { |s, d, p, m| " #{m.ansi(:faint, :cyan)}\n" }
17-
logger.level = ::Logger::DEBUG
18-
19-
Mongoid.logger = logger unless ENV['QUIET']
20-
Moped.logger = logger unless ENV['QUIET']
3+
Mongo.setup!
214

22-
Mongoid.connect_to 'mongoid_articles'
5+
if Mongo.available?
6+
Mongo.connect_to 'mongoid_articles'
237

248
module Elasticsearch
259
module Model
@@ -50,7 +34,7 @@ def as_indexed_json(options={})
5034
setup do
5135
Elasticsearch::Model::Adapter.register \
5236
Elasticsearch::Model::Adapter::Mongoid,
53-
lambda { |klass| !!defined?(::Mongoid::Document) && klass.ancestors.include?(::Mongoid::Document) }
37+
lambda { |klass| !!defined?(::Mongoid::Document) && klass.respond_to?(:ancestors) && klass.ancestors.include?(::Mongoid::Document) }
5438

5539
MongoidArticle.__elasticsearch__.create_index! force: true
5640

‎elasticsearch-model/test/test_helper.rb

+30
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,33 @@ def setup
6161
end
6262
end
6363
end
64+
65+
class Mongo
66+
def self.setup!
67+
begin
68+
require 'mongoid'
69+
session = Moped::Connection.new("localhost", 27017, 0.5)
70+
session.connect
71+
ENV['MONGODB_AVAILABLE'] = 'yes'
72+
rescue LoadError, Moped::Errors::ConnectionFailure => e
73+
$stderr.puts "MongoDB not installed or running: #{e}"
74+
end
75+
end
76+
77+
def self.available?
78+
!!ENV['MONGODB_AVAILABLE']
79+
end
80+
81+
def self.connect_to(source)
82+
$stderr.puts "Mongoid #{Mongoid::VERSION}", '-'*80
83+
84+
logger = ::Logger.new($stderr)
85+
logger.formatter = lambda { |s, d, p, m| " #{m.ansi(:faint, :cyan)}\n" }
86+
logger.level = ::Logger::DEBUG
87+
88+
Mongoid.logger = logger unless ENV['QUIET']
89+
Moped.logger = logger unless ENV['QUIET']
90+
91+
Mongoid.connect_to source
92+
end
93+
end

0 commit comments

Comments
 (0)
Please sign in to comment.