Commit graph

258 commits

Author SHA1 Message Date
Michael Klishin
62013fd070 Introduce 2-arity monger.core/authenticate that authenticates on the default DB 2013-02-28 16:45:34 +04:00
Michael Klishin
d3114be395 Upgrade to MongoDB Java driver 2.10
A note on a few test we removed: they are not essential, the implementation still
works fine but MongoDB Java driver is so broken in some areas that it is really
painful to work around all that stuff.

For example, authentication commands fail because the request cannot be
authenticated (!!!). In general, all removed tests involve or related to
authentication failures or edge cases where the database is switched between
tests.

Because authentication with valid credentials works perfectly fine,
it is hard to justify spending another 2 hours working around
issues in the driver that had way too many poor design decisions
from very early days.
2012-11-27 23:25:24 +04:00
Michael Klishin
64bf2eff7f ws 2012-11-23 07:24:28 +04:00
Michael Klishin
28c29a7bae Remove temporary test metadata 2012-11-23 07:24:25 +04:00
Michael Klishin
d8ff844bfa Demonstrate correct ordering when sorting on multiple keys using ordered maps (array-map or sorted-map)
Closes #44
2012-11-23 07:23:36 +04:00
Michael Klishin
e4238710f3 Ditto for tests 2012-11-21 12:03:44 +04:00
Michael S. Klishin
c5e2c78ed0 The same fix for data.json compatibility we had in clojurewerkz.support.json 2012-11-09 02:19:48 +04:00
Michael S. Klishin
2818ac6c26 Introduce monger.core/disconnect!
Closes #42
2012-10-24 07:57:09 +04:00
Michael S. Klishin
76b3371420 Cosmetics 2012-09-14 11:46:48 +04:00
Michael S. Klishin
113ee02048 Don't use deprecated constant 2012-09-14 11:42:56 +04:00
Michael S. Klishin
33b8f54460 Cheshire support for monger.json and monger.joda-time 2012-09-07 00:48:18 +04:00
Michael S. Klishin
23a55420df Work arounds for CLJ-1062 2012-09-06 05:54:28 +04:00
Michael S. Klishin
0df0b706df Upgrade to MongoDB Java driver 2.9.0-RC1 2012-08-16 02:13:44 +04:00
Michael S. Klishin
46ad8d1877 Cosmetics 2012-07-21 18:22:33 +04:00
Michael S. Klishin
f374bc53ba Tests for TTL collections, improve aggregation framework tests 2012-07-14 03:24:10 +04:00
Michael S. Klishin
9452862f0c Support bitmask DBCursor options, fixes #35 2012-07-11 23:12:23 +04:00
Michael S. Klishin
1b6cae729b Exclude Ragtime integration tests from CI, they fail for unknown reason half of the time 2012-07-11 22:48:13 +04:00
Michael S. Klishin
2a1e52fc1e Make sure monger.collection/insert-and-return respects existing document id, just like save-and-return does 2012-07-11 22:26:13 +04:00
Michael S. Klishin
c1b86756c8 Introduce monger.collection/save-and-return that mimics /insert-and-return but for /save 2012-07-03 17:07:13 +04:00
Michael S. Klishin
a7b7925495 Support keywords as collection names 2012-07-01 11:09:23 +04:00
Michael S. Klishin
080ef6b896 Introduce monger.collection/insert-and-return
Per discussion in Raynes/refheap#89
2012-06-30 23:49:56 +04:00
Michael S. Klishin
f194dc9cae Reader extensions for Joda Time types 2012-06-27 20:30:35 +04:00
Michael S. Klishin
1b69e0644b Extend Clojure reader for ObjectId and java.util.Date 2012-06-27 19:51:10 +04:00
Michael S. Klishin
dde4a59495 Correct the test now that we don't have :date in the serialized value 2012-06-27 19:10:20 +04:00
Michael S. Klishin
5e4d8d7c5a Correct test ns name 2012-06-27 19:06:57 +04:00
Michael S. Klishin
43349f65ae Add an alternative Ring session store that uses Clojure reader serialization
This way libraries like Friend, that use namespaced keywords (::identity) and other
Clojure-specific data structures will work well with Monger.

Current store will strip off namespace information from namespaced keywords
because clojure.core/name work that way. For example: (name ::identity).

Reported by Julio Barros.
2012-06-27 19:02:11 +04:00
Michael S. Klishin
dc7a8fd6ec Extend DBObject conversion protocol for more JodaTime types 2012-06-26 13:23:16 +04:00
Michael S. Klishin
c2a56cbf77 ...and as part of converting an entire map 2012-06-23 19:36:14 +04:00
Michael S. Klishin
53854254e4 Cover conversion of booleans separately 2012-06-23 19:34:49 +04:00
Michael S. Klishin
f9fa17f572 Add a new test, more spring cleanup before 1.0.0 2012-06-23 19:11:54 +04:00
Michael S. Klishin
2fc81a8180 More robust test, does not depend on test run order and concurrently running tests 2012-06-19 12:21:28 +04:00
Michael S. Klishin
0a2fdc8cc3 Ragtime migrations adapter 2012-06-19 12:18:43 +04:00
Michael S. Klishin
3a948667d5 Fight Java with Java
Make our own version of DBRef that is exactly like the original but has one extra constructor and
implements clojure.lang.IDeref so it is possible to @dereference such refs.

This is only one small step in a proper, Clojuric, easy to use DBRef support. We may tack more Monger-specific
extensions to our DBRef implementation later.

As sang by Jetallica:

Do unto others as they have done unto you
but what in the hell is this world coming to?

Blow the universe into nothingness
nuclear warfare shall lay us to rest

Fight Java with Java
ending is near
fight Java with Java
bursting with fear
2012-06-14 19:28:40 +04:00
Michael S. Klishin
ff2d095402 Cover insertion of DBRefs
Apparently, they are not deprecated and there is real interest in Monger supporting them
2012-06-14 18:32:07 +04:00
Michael S. Klishin
787d2d299d Don't seq the underlying cursor in the query DSL
map will work over the cursor itself because it is Iterable. This both avoids silly NPEs and
follows the common sense of finder functions: they must return an empty sequence when there
are no results, not nil.
2012-06-14 15:08:05 +04:00
Michael S. Klishin
4df673d127 Make it possible to pass fields to index as any collection (not just map) 2012-06-11 00:06:13 +04:00
Michael S. Klishin
75bb240af9 Add monger.collection/system-collection?, a convenience function
We don't add it to the change log because the majority of apps won't use it and
it is not an important change between RC1 and RC2 (or what may even be 1.0).
2012-06-10 12:35:52 +04:00
Michael S. Klishin
e481b1ca84 Add more assertions to the URI connection test 2012-06-10 11:25:40 +04:00
Michael S. Klishin
898349f95a A couple more convenience functions 2012-06-09 11:25:48 +04:00
Michael S. Klishin
1c686c1766 Cosmetics 2012-06-08 22:03:43 +04:00
Michael S. Klishin
babd429f5b Implement monger.result/ok? for Clojure maps 2012-06-08 11:56:00 +04:00
Michael S. Klishin
6e43328941 New higher-level DSL for storing files on GridFS
References #27
2012-06-04 14:46:13 +04:00
Michael S. Klishin
e033aa995b More gridfs support improvements
References #27
2012-06-04 14:03:45 +04:00
Michael S. Klishin
01773f50d5 Better coverage for storing files in gridfs, include file metadata
References #27
2012-06-04 13:11:31 +04:00
Michael S. Klishin
ef083b383e Cosmetics 2012-06-03 16:38:14 +04:00
Michael S. Klishin
63f7099350 MongoDB 2.1 Aggregation Framework support 2012-05-28 00:43:45 +04:00
Michael S. Klishin
acdaffba99 Add $regex and $options operator macros 2012-05-25 14:39:35 +04:00
Michael S. Klishin
ca67d9f4cb One more test case 2012-05-22 18:54:53 +04:00
Michael S. Klishin
6e6f04e292 Use explicitly specified collection name in tests 2012-05-14 16:11:33 +04:00
Michael S. Klishin
87184af396 Initial Ring session store implementation 2012-05-14 16:10:55 +04:00