mongo 0.1.0 → 0.15
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.
- data/README.rdoc +268 -71
- data/Rakefile +27 -62
- data/bin/bson_benchmark.rb +59 -0
- data/bin/mongo_console +3 -3
- data/bin/run_test_script +19 -0
- data/bin/standard_benchmark +109 -0
- data/examples/admin.rb +41 -0
- data/examples/benchmarks.rb +42 -0
- data/examples/blog.rb +76 -0
- data/examples/capped.rb +23 -0
- data/examples/cursor.rb +47 -0
- data/examples/gridfs.rb +87 -0
- data/examples/index_test.rb +125 -0
- data/examples/info.rb +30 -0
- data/examples/queries.rb +69 -0
- data/examples/simple.rb +23 -0
- data/examples/strict.rb +34 -0
- data/examples/types.rb +35 -0
- data/lib/mongo.rb +9 -2
- data/lib/mongo/admin.rb +65 -68
- data/lib/mongo/collection.rb +379 -117
- data/lib/mongo/connection.rb +151 -0
- data/lib/mongo/cursor.rb +271 -216
- data/lib/mongo/db.rb +500 -315
- data/lib/mongo/errors.rb +26 -0
- data/lib/mongo/gridfs.rb +16 -0
- data/lib/mongo/gridfs/chunk.rb +92 -0
- data/lib/mongo/gridfs/grid_store.rb +464 -0
- data/lib/mongo/message.rb +16 -0
- data/lib/mongo/message/get_more_message.rb +24 -13
- data/lib/mongo/message/insert_message.rb +29 -11
- data/lib/mongo/message/kill_cursors_message.rb +23 -12
- data/lib/mongo/message/message.rb +74 -62
- data/lib/mongo/message/message_header.rb +35 -24
- data/lib/mongo/message/msg_message.rb +21 -9
- data/lib/mongo/message/opcodes.rb +26 -15
- data/lib/mongo/message/query_message.rb +63 -43
- data/lib/mongo/message/remove_message.rb +29 -12
- data/lib/mongo/message/update_message.rb +30 -13
- data/lib/mongo/query.rb +97 -89
- data/lib/mongo/types/binary.rb +25 -21
- data/lib/mongo/types/code.rb +30 -0
- data/lib/mongo/types/dbref.rb +19 -23
- data/lib/mongo/types/objectid.rb +130 -116
- data/lib/mongo/types/regexp_of_holding.rb +27 -31
- data/lib/mongo/util/bson.rb +273 -160
- data/lib/mongo/util/byte_buffer.rb +32 -28
- data/lib/mongo/util/ordered_hash.rb +88 -42
- data/lib/mongo/util/xml_to_ruby.rb +18 -15
- data/mongo-ruby-driver.gemspec +103 -0
- data/test/mongo-qa/_common.rb +8 -0
- data/test/mongo-qa/admin +26 -0
- data/test/mongo-qa/capped +22 -0
- data/test/mongo-qa/count1 +18 -0
- data/test/mongo-qa/dbs +22 -0
- data/test/mongo-qa/find +10 -0
- data/test/mongo-qa/find1 +15 -0
- data/test/mongo-qa/gridfs_in +16 -0
- data/test/mongo-qa/gridfs_out +17 -0
- data/test/mongo-qa/indices +49 -0
- data/test/mongo-qa/remove +25 -0
- data/test/mongo-qa/stress1 +35 -0
- data/test/mongo-qa/test1 +11 -0
- data/test/mongo-qa/update +18 -0
- data/{tests → test}/test_admin.rb +25 -16
- data/test/test_bson.rb +268 -0
- data/{tests → test}/test_byte_buffer.rb +0 -0
- data/test/test_chunk.rb +84 -0
- data/test/test_collection.rb +282 -0
- data/test/test_connection.rb +101 -0
- data/test/test_cursor.rb +321 -0
- data/test/test_db.rb +196 -0
- data/test/test_db_api.rb +798 -0
- data/{tests → test}/test_db_connection.rb +4 -3
- data/test/test_grid_store.rb +284 -0
- data/{tests → test}/test_message.rb +1 -1
- data/test/test_objectid.rb +105 -0
- data/{tests → test}/test_ordered_hash.rb +55 -0
- data/{tests → test}/test_round_trip.rb +13 -9
- data/test/test_threading.rb +37 -0
- metadata +74 -32
- data/bin/validate +0 -51
- data/lib/mongo/mongo.rb +0 -74
- data/lib/mongo/types/undefined.rb +0 -31
- data/tests/test_bson.rb +0 -135
- data/tests/test_cursor.rb +0 -66
- data/tests/test_db.rb +0 -51
- data/tests/test_db_api.rb +0 -349
- data/tests/test_objectid.rb +0 -88
data/tests/test_objectid.rb
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
$LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib')
|
2
|
-
require 'mongo'
|
3
|
-
require 'test/unit'
|
4
|
-
|
5
|
-
class ObjectIDTest < Test::Unit::TestCase
|
6
|
-
|
7
|
-
include XGen::Mongo::Driver
|
8
|
-
|
9
|
-
def setup
|
10
|
-
@t = 42
|
11
|
-
@o = ObjectID.new(nil, @t)
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_index_for_time
|
15
|
-
t = 99
|
16
|
-
assert_equal 0, @o.index_for_time(t)
|
17
|
-
assert_equal 1, @o.index_for_time(t)
|
18
|
-
assert_equal 2, @o.index_for_time(t)
|
19
|
-
t = 100
|
20
|
-
assert_equal 0, @o.index_for_time(t)
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_time_bytes
|
24
|
-
a = @o.to_a
|
25
|
-
assert_equal @t, a[0]
|
26
|
-
3.times { |i| assert_equal 0, a[i+1] }
|
27
|
-
|
28
|
-
t = 43
|
29
|
-
o = ObjectID.new(nil, t)
|
30
|
-
a = o.to_a
|
31
|
-
assert_equal t, a[0]
|
32
|
-
3.times { |i| assert_equal 0, a[i+1] }
|
33
|
-
assert_equal 1, o.index_for_time(t) # 0 was used for o
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_different
|
37
|
-
o2 = ObjectID.new(nil, @t)
|
38
|
-
assert @o.to_a != o2.to_a
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_eql?
|
42
|
-
o2 = ObjectID.new(@o.to_a)
|
43
|
-
assert @o.eql?(o2)
|
44
|
-
assert @o == o2
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_to_s
|
48
|
-
s = @o.to_s
|
49
|
-
assert_equal 24, s.length
|
50
|
-
s =~ /^([0-9a-f]+)$/
|
51
|
-
assert_equal 24, $1.length
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_save_and_restore
|
55
|
-
host = ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost'
|
56
|
-
port = ENV['MONGO_RUBY_DRIVER_PORT'] || Mongo::DEFAULT_PORT
|
57
|
-
db = Mongo.new(host, port).db('ruby-mongo-test')
|
58
|
-
coll = db.collection('test')
|
59
|
-
|
60
|
-
coll.clear
|
61
|
-
coll << {'a' => 1, '_id' => @o}
|
62
|
-
|
63
|
-
row = coll.find().collect.first
|
64
|
-
assert_equal 1, row['a']
|
65
|
-
assert_equal @o, row['_id']
|
66
|
-
end
|
67
|
-
|
68
|
-
def test_from_string
|
69
|
-
hex_str = @o.to_s
|
70
|
-
o2 = ObjectID.from_string(hex_str)
|
71
|
-
assert_equal hex_str, o2.to_s
|
72
|
-
assert_equal @o, o2
|
73
|
-
assert_equal @o.to_s, o2.to_s
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_from_string_leading_zeroes
|
77
|
-
hex_str = '000000000000000000abcdef'
|
78
|
-
o = ObjectID.from_string(hex_str)
|
79
|
-
assert_equal hex_str, o.to_s
|
80
|
-
end
|
81
|
-
|
82
|
-
def test_byte_order
|
83
|
-
hex_str = '000102030405060708090A0B'
|
84
|
-
o = ObjectID.from_string(hex_str)
|
85
|
-
assert_equal [0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x0b, 0x0a, 0x09, 0x08], o.to_a
|
86
|
-
end
|
87
|
-
|
88
|
-
end
|