76 lines
1.7 KiB
Ruby
76 lines
1.7 KiB
Ruby
require File.expand_path("../test_helper", __FILE__)
|
|
require 'logger'
|
|
|
|
class CursorFailTest < Test::Unit::TestCase
|
|
|
|
include Mongo
|
|
|
|
@@connection = standard_connection
|
|
@@db = @@connection.db(MONGO_TEST_DB)
|
|
@@coll = @@db.collection('test')
|
|
@@version = @@connection.server_version
|
|
|
|
def setup
|
|
@@coll.remove
|
|
@@coll.insert('a' => 1) # collection not created until it's used
|
|
@@coll_full_name = "#{MONGO_TEST_DB}.test"
|
|
end
|
|
|
|
def test_refill_via_get_more
|
|
assert_equal 1, @@coll.count
|
|
1000.times { |i|
|
|
assert_equal 1 + i, @@coll.count
|
|
@@coll.insert('a' => i)
|
|
}
|
|
|
|
assert_equal 1001, @@coll.count
|
|
count = 0
|
|
@@coll.find.each { |obj|
|
|
count += obj['a']
|
|
}
|
|
assert_equal 1001, @@coll.count
|
|
|
|
# do the same thing again for debugging
|
|
assert_equal 1001, @@coll.count
|
|
count2 = 0
|
|
@@coll.find.each { |obj|
|
|
count2 += obj['a']
|
|
}
|
|
assert_equal 1001, @@coll.count
|
|
|
|
assert_equal count, count2
|
|
assert_equal 499501, count
|
|
end
|
|
|
|
def test_refill_via_get_more_alt_coll
|
|
coll = @@db.collection('test-alt-coll')
|
|
coll.remove
|
|
coll.insert('a' => 1) # collection not created until it's used
|
|
assert_equal 1, coll.count
|
|
|
|
1000.times { |i|
|
|
assert_equal 1 + i, coll.count
|
|
coll.insert('a' => i)
|
|
}
|
|
|
|
assert_equal 1001, coll.count
|
|
count = 0
|
|
coll.find.each { |obj|
|
|
count += obj['a']
|
|
}
|
|
assert_equal 1001, coll.count
|
|
|
|
# do the same thing again for debugging
|
|
assert_equal 1001, coll.count
|
|
count2 = 0
|
|
coll.find.each { |obj|
|
|
count2 += obj['a']
|
|
}
|
|
assert_equal 1001, coll.count
|
|
|
|
assert_equal count, count2
|
|
assert_equal 499501, count
|
|
end
|
|
|
|
end
|