# Copyright (C) 2009-2013 MongoDB, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'test_helper' require 'logger' class CursorMessageTest < Test::Unit::TestCase include Mongo @@connection = standard_connection @@db = @@connection.db(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 = "#{TEST_DB}.test" end def test_valid_batch_sizes assert_raise ArgumentError do @@coll.find({}, :batch_size => 1, :limit => 5) end assert_raise ArgumentError do @@coll.find({}, :batch_size => -1, :limit => 5) end assert @@coll.find({}, :batch_size => 0, :limit => 5) end def test_batch_size @@coll.remove 200.times do |n| @@coll.insert({:a => n}) end list = @@coll.find({}, :batch_size => 2, :limit => 6).to_a assert_equal 6, list.length list = @@coll.find({}, :batch_size => 100, :limit => 101).to_a assert_equal 101, list.length end end