minor: test fix for server versions < 1.8

This commit is contained in:
Kyle Banker 2011-03-29 17:02:48 -04:00
parent b821a3a48a
commit 1d3ffe37c7
1 changed files with 24 additions and 21 deletions

View File

@ -466,31 +466,34 @@ class TestCollection < Test::Unit::TestCase
assert res["timeMillis"]
end
def test_map_reduce_with_collection_merge
@@test << {:user_id => 1}
@@test << {:user_id => 2}
output_collection = "test-map-coll"
m = Code.new("function() { emit(this.user_id, {count: 1}); }")
r = Code.new("function(k,vals) { var sum = 0;" +
" vals.forEach(function(v) { sum += v.count;} ); return {count: sum}; }")
res = @@test.map_reduce(m, r, :out => output_collection)
@@test.remove
@@test << {:user_id => 3}
res = @@test.map_reduce(m, r, :out => {:merge => output_collection})
assert res.find.to_a.any? {|doc| doc["_id"] == 3 && doc["value"]["count"] == 1}
if @@version >= "1.8.0"
def test_map_reduce_with_collection_merge
@@test << {:user_id => 1}
@@test << {:user_id => 2}
output_collection = "test-map-coll"
m = Code.new("function() { emit(this.user_id, {count: 1}); }")
r = Code.new("function(k,vals) { var sum = 0;" +
" vals.forEach(function(v) { sum += v.count;} ); return {count: sum}; }")
res = @@test.map_reduce(m, r, :out => output_collection)
@@test.remove
@@test << {:user_id => 3}
res = @@test.map_reduce(m, r, :out => {:reduce => output_collection})
assert res.find.to_a.any? {|doc| doc["_id"] == 3 && doc["value"]["count"] == 2}
@@test.remove
@@test << {:user_id => 3}
res = @@test.map_reduce(m, r, :out => {:merge => output_collection})
assert res.find.to_a.any? {|doc| doc["_id"] == 3 && doc["value"]["count"] == 1}
assert_raise ArgumentError do
@@test.map_reduce(m, r, :out => {:inline => 1})
@@test.remove
@@test << {:user_id => 3}
res = @@test.map_reduce(m, r, :out => {:reduce => output_collection})
assert res.find.to_a.any? {|doc| doc["_id"] == 3 && doc["value"]["count"] == 2}
assert_raise ArgumentError do
@@test.map_reduce(m, r, :out => {:inline => 1})
end
@@test.map_reduce(m, r, :raw => true, :out => {:inline => 1})
assert res["results"]
end
@@test.map_reduce(m, r, :raw => true, :out => {:inline => 1})
assert res["results"]
end
end