fluent-plugin-mongo 0.7.16 → 0.8.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +4 -1
- data/VERSION +1 -1
- data/bin/mongo-tail +37 -30
- data/fluent-plugin-mongo.gemspec +1 -1
- data/lib/fluent/plugin/in_mongo_tail.rb +122 -138
- data/lib/fluent/plugin/logger_support.rb +25 -0
- data/lib/fluent/plugin/mongo_auth.rb +32 -0
- data/lib/fluent/plugin/out_mongo.rb +83 -136
- data/lib/fluent/plugin/out_mongo_replset.rb +20 -31
- data/test/helper.rb +6 -0
- data/test/plugin/test_in_mongo_tail.rb +96 -0
- data/test/plugin/test_out_mongo.rb +282 -0
- data/test/plugin/test_out_mongo_replset.rb +125 -0
- metadata +16 -22
- data/lib/fluent/plugin/mongo_util.rb +0 -27
- data/lib/fluent/plugin/out_mongo_tag_collection.rb +0 -20
- data/test/plugin/in_mongo_tail.rb +0 -73
- data/test/plugin/out_mongo.rb +0 -298
- data/test/plugin/out_mongo_tag_mapped.rb +0 -69
- data/test/test_helper.rb +0 -59
- data/test/tools/auth_repl_set_manager.rb +0 -14
- data/test/tools/repl_set_manager.rb +0 -420
- data/test/tools/rs_test_helper.rb +0 -39
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-mongo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masahiro Nakagawa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 2.2.0
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 2.2.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rake
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,17 +119,14 @@ files:
|
|
119
119
|
- bin/mongo-tail
|
120
120
|
- fluent-plugin-mongo.gemspec
|
121
121
|
- lib/fluent/plugin/in_mongo_tail.rb
|
122
|
-
- lib/fluent/plugin/
|
122
|
+
- lib/fluent/plugin/logger_support.rb
|
123
|
+
- lib/fluent/plugin/mongo_auth.rb
|
123
124
|
- lib/fluent/plugin/out_mongo.rb
|
124
125
|
- lib/fluent/plugin/out_mongo_replset.rb
|
125
|
-
-
|
126
|
-
- test/plugin/
|
127
|
-
- test/plugin/
|
128
|
-
- test/plugin/
|
129
|
-
- test/test_helper.rb
|
130
|
-
- test/tools/auth_repl_set_manager.rb
|
131
|
-
- test/tools/repl_set_manager.rb
|
132
|
-
- test/tools/rs_test_helper.rb
|
126
|
+
- test/helper.rb
|
127
|
+
- test/plugin/test_in_mongo_tail.rb
|
128
|
+
- test/plugin/test_out_mongo.rb
|
129
|
+
- test/plugin/test_out_mongo_replset.rb
|
133
130
|
homepage: https://github.com/fluent/fluent-plugin-mongo
|
134
131
|
licenses:
|
135
132
|
- Apache-2.0
|
@@ -145,9 +142,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
142
|
version: '0'
|
146
143
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
144
|
requirements:
|
148
|
-
- - "
|
145
|
+
- - ">"
|
149
146
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
147
|
+
version: 1.3.1
|
151
148
|
requirements: []
|
152
149
|
rubyforge_project:
|
153
150
|
rubygems_version: 2.5.1
|
@@ -155,10 +152,7 @@ signing_key:
|
|
155
152
|
specification_version: 4
|
156
153
|
summary: MongoDB plugin for Fluentd
|
157
154
|
test_files:
|
158
|
-
- test/
|
159
|
-
- test/plugin/
|
160
|
-
- test/plugin/
|
161
|
-
- test/
|
162
|
-
- test/tools/auth_repl_set_manager.rb
|
163
|
-
- test/tools/repl_set_manager.rb
|
164
|
-
- test/tools/rs_test_helper.rb
|
155
|
+
- test/helper.rb
|
156
|
+
- test/plugin/test_in_mongo_tail.rb
|
157
|
+
- test/plugin/test_out_mongo.rb
|
158
|
+
- test/plugin/test_out_mongo_replset.rb
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module Fluent
|
2
|
-
|
3
|
-
|
4
|
-
module MongoUtil
|
5
|
-
def self.included(klass)
|
6
|
-
klass.instance_eval {
|
7
|
-
config_param :user, :string, :default => nil
|
8
|
-
config_param :password, :string, :default => nil, :secret => true
|
9
|
-
}
|
10
|
-
end
|
11
|
-
|
12
|
-
def authenticate(db)
|
13
|
-
unless @user.nil? || @password.nil?
|
14
|
-
begin
|
15
|
-
db.authenticate(@user, @password)
|
16
|
-
rescue Mongo::AuthenticationError => e
|
17
|
-
log.fatal e
|
18
|
-
exit!
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
db
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
|
27
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
require 'fluent/plugin/out_mongo'
|
2
|
-
|
3
|
-
module Fluent
|
4
|
-
class MongoOutputTagCollection < MongoOutput
|
5
|
-
Plugin.register_output('mongo_tag_collection', self)
|
6
|
-
|
7
|
-
config_param :collection, :string, :default => 'untagged'
|
8
|
-
|
9
|
-
def configure(conf)
|
10
|
-
super
|
11
|
-
|
12
|
-
@tag_mapped = true
|
13
|
-
if remove_prefix_collection = conf['remove_prefix_collection']
|
14
|
-
@remove_tag_prefix = Regexp.new('^' + Regexp.escape(remove_prefix_collection))
|
15
|
-
end
|
16
|
-
|
17
|
-
log.warn "'mongo_tag_collection' deprecated. Please use 'mongo' type with 'tag_mapped' parameter"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,73 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
require 'fluent/plugin/in_mongo_tail'
|
3
|
-
|
4
|
-
class MongoTailInputTest < Test::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
Fluent::Test.setup
|
7
|
-
end
|
8
|
-
|
9
|
-
CONFIG = %[
|
10
|
-
type mongo_tail
|
11
|
-
database test
|
12
|
-
collection log
|
13
|
-
tag_key tag
|
14
|
-
time_key time
|
15
|
-
id_store_file /tmp/fluent_mongo_last_id
|
16
|
-
id_store_collection test_last_id
|
17
|
-
]
|
18
|
-
|
19
|
-
def create_driver(conf = CONFIG)
|
20
|
-
Fluent::Test::InputTestDriver.new(Fluent::MongoTailInput).configure(conf)
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_configure
|
24
|
-
d = create_driver
|
25
|
-
assert_equal('localhost', d.instance.host)
|
26
|
-
assert_equal(27017, d.instance.port)
|
27
|
-
assert_equal('test', d.instance.database)
|
28
|
-
assert_equal('log', d.instance.collection)
|
29
|
-
assert_equal('tag', d.instance.tag_key)
|
30
|
-
assert_equal('time', d.instance.time_key)
|
31
|
-
assert_equal('/tmp/fluent_mongo_last_id', d.instance.id_store_file)
|
32
|
-
assert_equal('test_last_id', d.instance.id_store_collection)
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_url_configration
|
36
|
-
config = %[
|
37
|
-
type mongo_tail
|
38
|
-
url mongodb://localhost:27017/test
|
39
|
-
collection log
|
40
|
-
tag_key tag
|
41
|
-
time_key time
|
42
|
-
id_store_file /tmp/fluent_mongo_last_id
|
43
|
-
]
|
44
|
-
|
45
|
-
d = create_driver(config)
|
46
|
-
assert_equal("mongodb://localhost:27017/test", d.instance.url)
|
47
|
-
assert_nil(d.instance.database)
|
48
|
-
assert_equal('log', d.instance.collection)
|
49
|
-
assert_equal('tag', d.instance.tag_key)
|
50
|
-
assert_equal('time', d.instance.time_key)
|
51
|
-
assert_equal('/tmp/fluent_mongo_last_id', d.instance.id_store_file)
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_url_and_database_can_not_exist
|
55
|
-
config = %[
|
56
|
-
type mongo_tail
|
57
|
-
url mongodb://localhost:27017/test
|
58
|
-
database test2
|
59
|
-
collection log
|
60
|
-
tag_key tag
|
61
|
-
time_key time
|
62
|
-
id_store_file /tmp/fluent_mongo_last_id
|
63
|
-
]
|
64
|
-
|
65
|
-
assert_raises Fluent::ConfigError do
|
66
|
-
create_driver(config)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_emit
|
71
|
-
# TODO: write actual code
|
72
|
-
end
|
73
|
-
end
|
data/test/plugin/out_mongo.rb
DELETED
@@ -1,298 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
require 'tools/rs_test_helper'
|
3
|
-
require 'fluent/plugin/out_mongo'
|
4
|
-
|
5
|
-
module MongoOutputTestCases
|
6
|
-
def collection_name
|
7
|
-
'test'
|
8
|
-
end
|
9
|
-
|
10
|
-
def test_configure_with_write_concern
|
11
|
-
d = create_driver(default_config + %[
|
12
|
-
write_concern 2
|
13
|
-
])
|
14
|
-
|
15
|
-
assert_equal({:w => 2, :pool_size => 1, :ssl => false, :j => false}, d.instance.connection_options)
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_configure_with_journaled
|
19
|
-
d = create_driver(default_config + %[
|
20
|
-
journaled true
|
21
|
-
])
|
22
|
-
|
23
|
-
assert_equal({:ssl => false, :pool_size => 1, :j => true}, d.instance.connection_options)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_configure_with_ssl
|
27
|
-
d = create_driver(default_config + %[
|
28
|
-
ssl true
|
29
|
-
])
|
30
|
-
|
31
|
-
assert_equal({:ssl => true, :pool_size => 1, :j => false, :ssl_cert=>nil, :ssl_key=>nil, :ssl_key_pass_phrase=>nil, :ssl_verify=>false, :ssl_ca_cert=>nil}, d.instance.connection_options)
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_format
|
35
|
-
d = create_driver
|
36
|
-
|
37
|
-
time = Time.parse("2011-01-02 13:14:15 UTC").to_i
|
38
|
-
d.emit({'a' => 1}, time)
|
39
|
-
d.emit({'a' => 2}, time)
|
40
|
-
d.expect_format([time, {'a' => 1, d.instance.time_key => time}].to_msgpack)
|
41
|
-
d.expect_format([time, {'a' => 2, d.instance.time_key => time}].to_msgpack)
|
42
|
-
d.run
|
43
|
-
|
44
|
-
assert_equal(2, @db.collection(collection_name).count)
|
45
|
-
end
|
46
|
-
|
47
|
-
def emit_documents(d)
|
48
|
-
time = Time.parse("2011-01-02 13:14:15 UTC").to_i
|
49
|
-
d.emit({'a' => 1}, time)
|
50
|
-
d.emit({'a' => 2}, time)
|
51
|
-
time
|
52
|
-
end
|
53
|
-
|
54
|
-
def get_documents
|
55
|
-
@db.collection(collection_name).find().to_a.map { |e| e.delete('_id'); e }
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_write
|
59
|
-
d = create_driver
|
60
|
-
t = emit_documents(d)
|
61
|
-
|
62
|
-
d.run
|
63
|
-
documents = get_documents.map { |e| e['a'] }.sort
|
64
|
-
assert_equal([1, 2], documents)
|
65
|
-
assert_equal(2, documents.size)
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_write_at_enable_tag
|
69
|
-
d = create_driver(default_config + %[
|
70
|
-
include_tag_key true
|
71
|
-
include_time_key false
|
72
|
-
])
|
73
|
-
t = emit_documents(d)
|
74
|
-
|
75
|
-
d.run
|
76
|
-
documents = get_documents.sort_by { |e| e['a'] }
|
77
|
-
assert_equal([{'a' => 1, d.instance.tag_key => 'test'},
|
78
|
-
{'a' => 2, d.instance.tag_key => 'test'}], documents)
|
79
|
-
assert_equal(2, documents.size)
|
80
|
-
end
|
81
|
-
|
82
|
-
def emit_invalid_documents(d)
|
83
|
-
time = Time.parse("2011-01-02 13:14:15 UTC").to_i
|
84
|
-
d.emit({'a' => 3, 'b' => "c", '$last' => '石動'}, time)
|
85
|
-
d.emit({'a' => 4, 'b' => "d", 'first' => '菖蒲'.encode('EUC-JP').force_encoding('UTF-8')}, time)
|
86
|
-
time
|
87
|
-
end
|
88
|
-
|
89
|
-
def test_write_with_invalid_recoreds_with_keys_containing_dot_and_dollar
|
90
|
-
d = create_driver(default_config + %[
|
91
|
-
replace_dot_in_key_with _dot_
|
92
|
-
replace_dollar_in_key_with _dollar_
|
93
|
-
])
|
94
|
-
|
95
|
-
time = Time.parse("2011-01-02 13:14:15 UTC").to_i
|
96
|
-
d.emit({
|
97
|
-
"foo.bar1" => {
|
98
|
-
"$foo$bar" => "baz"
|
99
|
-
},
|
100
|
-
"foo.bar2" => [
|
101
|
-
{
|
102
|
-
"$foo$bar" => "baz"
|
103
|
-
}
|
104
|
-
],
|
105
|
-
}, time)
|
106
|
-
d.run
|
107
|
-
|
108
|
-
documents = get_documents
|
109
|
-
assert_equal(1, documents.size)
|
110
|
-
assert_equal("baz", documents[0]["foo_dot_bar1"]["_dollar_foo$bar"])
|
111
|
-
assert_equal("baz", documents[0]["foo_dot_bar2"][0]["_dollar_foo$bar"])
|
112
|
-
assert_equal(0, documents.select { |e| e.has_key?(Fluent::MongoOutput::BROKEN_DATA_KEY)}.size)
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_write_with_invalid_recoreds
|
116
|
-
d = create_driver
|
117
|
-
t = emit_documents(d)
|
118
|
-
t = emit_invalid_documents(d)
|
119
|
-
|
120
|
-
d.run
|
121
|
-
documents = get_documents
|
122
|
-
assert_equal(4, documents.size)
|
123
|
-
assert_equal([1, 2], documents.select { |e| e.has_key?('a') }.map { |e| e['a'] }.sort)
|
124
|
-
assert_equal(2, documents.select { |e| e.has_key?(Fluent::MongoOutput::BROKEN_DATA_KEY)}.size)
|
125
|
-
assert_equal([3, 4], @db.collection(collection_name).find({Fluent::MongoOutput::BROKEN_DATA_KEY => {'$exists' => true}}).map { |doc|
|
126
|
-
Marshal.load(doc[Fluent::MongoOutput::BROKEN_DATA_KEY].to_s)['a']
|
127
|
-
}.sort)
|
128
|
-
end
|
129
|
-
|
130
|
-
def test_write_with_invalid_recoreds_with_exclude_one_broken_fields
|
131
|
-
d = create_driver(default_config + %[
|
132
|
-
exclude_broken_fields a
|
133
|
-
])
|
134
|
-
t = emit_documents(d)
|
135
|
-
t = emit_invalid_documents(d)
|
136
|
-
|
137
|
-
d.run
|
138
|
-
documents = get_documents
|
139
|
-
assert_equal(4, documents.size)
|
140
|
-
assert_equal(2, documents.select { |e| e.has_key?(Fluent::MongoOutput::BROKEN_DATA_KEY) }.size)
|
141
|
-
assert_equal([1, 2, 3, 4], documents.select { |e| e.has_key?('a') }.map { |e| e['a'] }.sort)
|
142
|
-
assert_equal(0, documents.select { |e| e.has_key?('b') }.size)
|
143
|
-
end
|
144
|
-
|
145
|
-
def test_write_with_invalid_recoreds_with_exclude_two_broken_fields
|
146
|
-
d = create_driver(default_config + %[
|
147
|
-
exclude_broken_fields a,b
|
148
|
-
])
|
149
|
-
t = emit_documents(d)
|
150
|
-
t = emit_invalid_documents(d)
|
151
|
-
|
152
|
-
d.run
|
153
|
-
documents = get_documents
|
154
|
-
assert_equal(4, documents.size)
|
155
|
-
assert_equal(2, documents.select { |e| e.has_key?(Fluent::MongoOutput::BROKEN_DATA_KEY) }.size)
|
156
|
-
assert_equal([1, 2, 3, 4], documents.select { |e| e.has_key?('a') }.map { |e| e['a'] }.sort)
|
157
|
-
assert_equal(["c", "d"], documents.select { |e| e.has_key?('b') }.map { |e| e['b'] }.sort)
|
158
|
-
end
|
159
|
-
|
160
|
-
def test_write_with_invalid_recoreds_at_ignore
|
161
|
-
d = create_driver(default_config + %[
|
162
|
-
ignore_invalid_record true
|
163
|
-
])
|
164
|
-
t = emit_documents(d)
|
165
|
-
t = emit_invalid_documents(d)
|
166
|
-
|
167
|
-
d.run
|
168
|
-
documents = get_documents
|
169
|
-
assert_equal(2, documents.size)
|
170
|
-
assert_equal([1, 2], documents.select { |e| e.has_key?('a') }.map { |e| e['a'] }.sort)
|
171
|
-
assert_equal(true, @db.collection(collection_name).find({Fluent::MongoOutput::BROKEN_DATA_KEY => {'$exists' => true}}).count.zero?)
|
172
|
-
end
|
173
|
-
end
|
174
|
-
|
175
|
-
class MongoOutputTest < Test::Unit::TestCase
|
176
|
-
include MongoOutputTestCases
|
177
|
-
|
178
|
-
class << self
|
179
|
-
def startup
|
180
|
-
MongoTestHelper.setup_mongod
|
181
|
-
end
|
182
|
-
|
183
|
-
def shutdown
|
184
|
-
MongoTestHelper.teardown_mongod
|
185
|
-
end
|
186
|
-
end
|
187
|
-
|
188
|
-
def setup
|
189
|
-
Fluent::Test.setup
|
190
|
-
end
|
191
|
-
|
192
|
-
def teardown
|
193
|
-
@db.collection(collection_name).drop
|
194
|
-
end
|
195
|
-
|
196
|
-
def default_config
|
197
|
-
%[
|
198
|
-
type mongo
|
199
|
-
database #{MONGO_DB_DB}
|
200
|
-
collection #{collection_name}
|
201
|
-
include_time_key true # TestDriver ignore config_set_default?
|
202
|
-
]
|
203
|
-
end
|
204
|
-
|
205
|
-
def create_driver(conf = default_config)
|
206
|
-
conf = conf + %[
|
207
|
-
port #{MongoTestHelper.mongod_port}
|
208
|
-
]
|
209
|
-
@db = Mongo::MongoClient.new('localhost', MongoTestHelper.mongod_port).db(MONGO_DB_DB)
|
210
|
-
Fluent::Test::BufferedOutputTestDriver.new(Fluent::MongoOutput).configure(conf)
|
211
|
-
end
|
212
|
-
|
213
|
-
def test_configure
|
214
|
-
d = create_driver(%[
|
215
|
-
type mongo
|
216
|
-
database fluent_test
|
217
|
-
collection test_collection
|
218
|
-
|
219
|
-
capped
|
220
|
-
capped_size 100
|
221
|
-
])
|
222
|
-
|
223
|
-
assert_equal('fluent_test', d.instance.database)
|
224
|
-
assert_equal('test_collection', d.instance.collection)
|
225
|
-
assert_equal('localhost', d.instance.host)
|
226
|
-
assert_equal(MongoTestHelper.mongod_port, d.instance.port)
|
227
|
-
assert_equal({:capped => true, :size => 100}, d.instance.collection_options)
|
228
|
-
assert_equal({:ssl => false, :pool_size => 1, :j => false}, d.instance.connection_options)
|
229
|
-
# buffer_chunk_limit moved from configure to start
|
230
|
-
# I will move this test to correct space after BufferedOutputTestDriver supports start method invoking
|
231
|
-
# assert_equal(Fluent::MongoOutput::LIMIT_BEFORE_v1_8, d.instance.instance_variable_get(:@buffer).buffer_chunk_limit)
|
232
|
-
end
|
233
|
-
end
|
234
|
-
|
235
|
-
class MongoReplOutputTest < Test::Unit::TestCase
|
236
|
-
include MongoOutputTestCases
|
237
|
-
|
238
|
-
class << self
|
239
|
-
def startup
|
240
|
-
setup_rs
|
241
|
-
end
|
242
|
-
|
243
|
-
def shutdown
|
244
|
-
teardown_rs
|
245
|
-
end
|
246
|
-
end
|
247
|
-
|
248
|
-
def setup
|
249
|
-
Fluent::Test.setup
|
250
|
-
require 'fluent/plugin/out_mongo_replset'
|
251
|
-
end
|
252
|
-
|
253
|
-
def teardown
|
254
|
-
@@rs.restart_killed_nodes
|
255
|
-
if defined?(@db) && @db
|
256
|
-
@db.collection(collection_name).drop
|
257
|
-
@db.connection.close
|
258
|
-
end
|
259
|
-
end
|
260
|
-
|
261
|
-
def default_config
|
262
|
-
%[
|
263
|
-
type mongo_replset
|
264
|
-
database #{MONGO_DB_DB}
|
265
|
-
collection #{collection_name}
|
266
|
-
nodes #{build_seeds(3).join(',')}
|
267
|
-
num_retries 30
|
268
|
-
include_time_key true # TestDriver ignore config_set_default?
|
269
|
-
]
|
270
|
-
end
|
271
|
-
|
272
|
-
def create_driver(conf = default_config)
|
273
|
-
@db = Mongo::MongoReplicaSetClient.new(build_seeds(3), :name => @@rs.name).db(MONGO_DB_DB)
|
274
|
-
Fluent::Test::BufferedOutputTestDriver.new(Fluent::MongoOutputReplset).configure(conf)
|
275
|
-
end
|
276
|
-
|
277
|
-
def test_configure
|
278
|
-
d = create_driver(%[
|
279
|
-
type mongo_replset
|
280
|
-
|
281
|
-
database fluent_test
|
282
|
-
collection test_collection
|
283
|
-
nodes #{build_seeds(3).join(',')}
|
284
|
-
num_retries 45
|
285
|
-
|
286
|
-
capped
|
287
|
-
capped_size 100
|
288
|
-
])
|
289
|
-
|
290
|
-
assert_equal('fluent_test', d.instance.database)
|
291
|
-
assert_equal('test_collection', d.instance.collection)
|
292
|
-
assert_equal(build_seeds(3), d.instance.nodes)
|
293
|
-
assert_equal(45, d.instance.num_retries)
|
294
|
-
assert_equal({:capped => true, :size => 100}, d.instance.collection_options)
|
295
|
-
assert_equal({:ssl => false, :pool_size => 1, :j => false}, d.instance.connection_options)
|
296
|
-
end
|
297
|
-
end
|
298
|
-
|