Commit graph

395 commits

Author SHA1 Message Date
Michael Klishin
0dca29285c Ditto 2013-11-30 14:20:37 +04:00
Michael Klishin
19d0058c53 Ditto 2013-11-30 14:20:16 +04:00
Michael Klishin
141380dd26 Ditto 2013-11-30 14:19:50 +04:00
Michael Klishin
1da5f64b91 Ditto 2013-11-30 14:19:25 +04:00
Michael Klishin
9760e88b66 Ditto 2013-11-30 14:18:55 +04:00
Michael Klishin
a2ff58f4f4 Ditto 2013-11-30 14:18:24 +04:00
Michael Klishin
b24517e648 Ditto 2013-11-30 14:17:48 +04:00
Michael Klishin
65e6310758 Don't use :use 2013-11-30 14:17:24 +04:00
Michael Klishin
a468f75a7c Don't use :use 2013-11-30 14:14:06 +04:00
Michael Klishin
bb5a57b468 This feature has long been a part of a stable release 2013-11-30 03:52:39 +04:00
Michael Klishin
3d120456ff Merge pull request #62 from timgluz/query_options
Enhancements for tweaking options of dbCursor
2013-09-21 13:04:48 -07:00
Timo Sulg
2dca992496 added cursor namespaces, cleanups;
refactored helpers for DBCursor into own namespace;
cleaned up previous hacks;
added extra classes for add-options;
added tests for cursor namespace;
2013-09-21 15:46:01 +02:00
Timo Sulg
b57c97a962 fixed tests for LocalDate - now tests components of date separately. 2013-09-11 16:29:59 +02:00
Timo Sulg
7b3869ec04 Moved localdate tests into lib_integration_test. 2013-09-11 14:51:35 +02:00
Timo Sulg
679fd2bf92 Added support for LocalDate - required for serializing (clj-time/today). 2013-09-10 17:54:37 +02:00
Fernando Dobladez
0179bbc046 Fix: must return ids in creation order 2013-07-05 16:21:35 -03:00
Erik Bakstad
54f204b1a5 Renamed test 2013-06-24 00:25:58 +02:00
Erik Bakstad
a6606deb05 Made it possbile to pass explisit db to session-store 2013-06-24 00:17:48 +02:00
Erik Bakstad
0a03ec1bf8 Added rest of tests. Fixes #53 2013-06-22 20:20:59 +02:00
Erik Bakstad
41c2aa7488 Added multi.collection-tests 2013-06-20 19:56:26 +02:00
Erik Bakstad
fd5e041099 Fixed test issues when running all tests 2013-06-20 19:41:02 +02:00
Erik Bakstad
6a9cb9f1a3 Don't run fin_test on ns load 2013-06-20 19:11:52 +02:00
Erik Bakstad
0d635721a1 Added missing fns to multi/collection. Related to #53. 2013-06-20 13:25:27 +02:00
Tommi Reiman
4137f4a6f9 $setOnInsert 2013-06-20 00:01:28 +03:00
Michael Klishin
4ac8f8330a Initial work on monger.multi.collection 2013-04-19 00:43:27 +04:00
Michael Klishin
957623094b Clear cache collections in the correct db 2013-04-17 02:26:42 +04:00
Michael Klishin
0a386750c3 Clear cache collections 2013-04-17 02:22:57 +04:00
Michael Klishin
a39c13a574 Make monger.collection/upsert actually upsert
Headdesk
2013-04-17 02:01:22 +04:00
Michael Klishin
bdf0082372 Merge branch 'master' of github.com:michaelklishin/monger 2013-04-15 21:24:13 +04:00
Michael Klishin
c0a83e7241 Add monger.collection/upsert 2013-04-15 21:24:08 +04:00
Michael Klishin
bffb58cc1f Introduce additional cache implementation that can use any database 2013-04-14 01:53:56 +04:00
Michael Klishin
496325a417 Use clojure.core/array-map with ensure-index in all examples
To preserve ordering which is important.

References #50
2013-04-04 23:44:58 +04:00
Michael Klishin
9e99933c53 Make tests compile with the 2.11 Java driver 2013-03-20 04:08:24 +04:00
Michael Klishin
848bbd07d3 Full text search support via monger.search 2013-03-20 03:50:27 +04:00
Michael Klishin
2012fed7c4 Finally get rid of the factory DSL
We did learn some things from it but it just did not
work very well. A better solution is coming in the future.
2013-03-17 20:57:40 +04:00
Michael Klishin
3af05ef74c Add a test for m.c/insert-batch with lazy sequence inputs 2013-03-17 19:55:19 +04:00
Michael Klishin
082a3ec7b7 Make this test pass in isolation repeatedly 2013-03-17 19:50:37 +04:00
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
Baishampayan Ghose
ccd3d7ab66 Add monger.collection/find-and-modify and associated tests. 2012-05-12 09:02:19 +05:30
Michael S. Klishin
2228a6dcbe How about you don't stop writing tests in the middle, Michael? 2012-05-03 19:55:06 +04:00
Michael S. Klishin
d04ab3af2d More cleanup 2012-05-01 16:35:33 +04:00
Michael S. Klishin
971b2e230c More test suite cleanup 2012-05-01 16:29:58 +04:00
Michael S. Klishin
d92112e135 Remove unused imports 2012-04-26 20:41:37 +04:00
Michael S. Klishin
6a2698dce2 Support serialization of Clojure sets (or anything that implements java.util.Set) 2012-04-16 02:32:28 +04:00
Michael S. Klishin
5c62e47de7 Add an example that inserts a document with Clojure keywords as values 2012-04-16 01:14:26 +04:00
Michael S. Klishin
379fb73795 Guard one more test that relies on authentication/ordering 2012-04-16 00:44:08 +04:00
Michael S. Klishin
29d97f611d Try excluding the test that drops databases from CI 2012-04-16 00:41:43 +04:00
Michael S. Klishin
c970a60765 Remove some assertions that do not really test anything in the client 2012-04-16 00:38:26 +04:00
Michael S. Klishin
2c9cce8466 Capped collections support 2012-04-12 06:10:08 +04:00
Michael S. Klishin
f049fed33b Remove a fragile test
2.0.4 returns some BS error messages for it. I'd fix it if I could understand it. There are other tests for commands, so
screw it.
2012-04-12 04:17:29 +04:00
Michael S. Klishin
261583e604 Leiningen 2 style test naming 2012-04-12 00:40:37 +04:00
Michael S. Klishin
28831c61da Initial monger.cache version, implements clojure.core.cache/CacheProtocol only 2012-04-11 20:58:05 +04:00
Michael S. Klishin
07d44ddc1f ws 2012-04-11 20:56:57 +04:00
Michael S. Klishin
009d4c6232 Eliminate a few reflection warnings 2012-04-11 16:04:50 +04:00
Michael S. Klishin
19b8e48084 Make sure we authenticate before calling set-db! (which instantiates a GridFS object)
Fixes Heroku/MongoHQ add-on issues
2012-04-11 01:33:29 +04:00
Michael S. Klishin
6e7c29ba8b Improve support for URI connections 2012-04-11 00:20:07 +04:00
Michael S. Klishin
0da0a696f2 Initial support for URI connections.
I want to believe that the person who designed MongoDB Java driver API was not sober while at it.
2012-04-10 23:54:23 +04:00
Michael S. Klishin
a6d15dbbe1 Extend monger.core/count to MapReduceOutput 2012-04-10 19:16:21 +04:00
Michael S. Klishin
8f18d30e43 Extract map/reduce and indexing tests 2012-04-10 19:11:06 +04:00
Michael S. Klishin
fbd631b22e Add a test that inserts documents with fields that are Clojure records 2012-04-10 16:12:59 +04:00
Michael S. Klishin
6282f41f06 Support field negation in queries, closes #17 2012-04-04 23:08:05 +04:00
Michael S. Klishin
c899c48263 Make sure we drop indexes after this test 2012-04-03 16:43:44 +04:00
Michael S. Klishin
0530b165f6 Add support for index options + unique indexes for monger.collection/ensure-index and monger.collection/create-index 2012-04-03 16:42:48 +04:00
Michael S. Klishin
f0d190cff7 Support conversion of Clojure ratios to MongoDB data types
We go with doubles because it is the only realistic solution that is
interoperable with all other technologies. Plus, Clojure ratios are just
lazily evaluated doubles anyway.
2012-04-02 12:14:24 +04:00
Michael S. Klishin
60a14e62e7 One more test to serve as example 2012-03-22 01:28:21 +04:00
Michael S. Klishin
1db1e04b0a monger.testing => monger.testkit
If nothing else, this will save everyone some headaches trying to figure out
conflicts between testing the namespace alias and clojure.test/testing (the function)
2012-03-21 19:36:48 +04:00
Michael S. Klishin
5df187c596 Migrate to Leiningen 2 2012-03-10 22:13:39 +04:00
Michael S. Klishin
cedfecbbbd Introduce monger.testing/memoized-oid (convenience function for defining referenced associations) 2012-03-08 12:18:02 +04:00
Michael S. Klishin
425327aafa Introduce monger.testing/seed-all 2012-03-07 13:02:59 +04:00
Michael S. Klishin
dfb7bd3fc8 Remember object ids of inserted documents 2012-03-07 11:33:32 +04:00
Michael S. Klishin
0154e33470 Implement parent-id seeding in the factory DSL 2012-03-07 10:21:57 +04:00
Michael S. Klishin
94abe56605 Initial support for child => parent references in factories 2012-03-06 21:13:34 +04:00
Michael S. Klishin
5a2ab1a22b Make monger.internal.fn/expand-all-with more flexible 2012-03-06 19:44:23 +04:00
Michael S. Klishin
9b9005448b Implement monger.internal.fn/expand-all-with 2012-03-06 19:38:40 +04:00
Michael S. Klishin
c1409eb81e Test case with child documents embedded into parent now passes 2012-03-06 12:07:02 +04:00
Michael S. Klishin
a2eb9ce964 Also expand vector values that are functions 2012-03-06 12:02:26 +04:00
Michael S. Klishin
64981ac913 One more test case 2012-03-06 11:47:11 +04:00
Michael S. Klishin
2e47407ef0 Implement expansion (evaluation) of function values in factories 2012-03-06 11:35:35 +04:00
Michael S. Klishin
b9016aff99 Implement recursive function value expansion (for maps) 2012-03-06 11:30:01 +04:00
Michael S. Klishin
c9d4c1316b Make sure atomic modifiers tests can run on its own 2012-03-06 09:40:50 +04:00
Michael S. Klishin
e54bd37932 Cached object ids won't work, per (long) discussion with Alex 2012-03-05 20:55:08 +04:00
Michael S. Klishin
0f867b8236 Implement seeding (insertion) of factory-built documents, add (experimental) oid-of function
We will see if caching object ids is a viable idea, it is not obvious at this point
2012-03-05 18:10:36 +04:00
Michael S. Klishin
35be335a71 One more scenario 2012-03-05 17:21:07 +04:00
Michael S. Klishin
19a55b5a5b Initial factory/fixture DSL bits 2012-03-05 17:09:59 +04:00
Michael S. Klishin
a09c55096c Add ability to connect using ServerAddress and MongoOptions, closes #15 2012-02-28 20:08:05 +04:00
Michael S. Klishin
60688e7482 Merge branch 'toby-commands' 2012-02-21 15:06:29 +04:00
Toby Hede
9cc2d6dd19 insert into collection before re-index
just to see if that makes a diff
2012-02-21 13:13:20 +11:00
Toby Hede
219c9fa41c temporarily remove reindex collection due to strange CI error 2012-02-21 13:07:25 +11:00
Toby Hede
f36528b592 command namespace and basic commands 2012-02-21 13:02:01 +11:00
Michael S. Klishin
7747325030 Make monger.core/get-db-names return a set 2012-02-20 16:06:05 +04:00
Michael Klishin
7348ca9f2e Merge pull request #12 from tobyhede/63870b1136e63865ba349faa159d473b3cab79a7
new core/get-db-names
2012-02-20 04:00:40 -08:00
Toby Hede
63870b1136 add get-db-names to core 2012-02-20 22:46:07 +11:00
Michael S. Klishin
96d5b4a66f Eliminate recently introduced reflection warnings 2012-02-19 05:32:50 +04:00
Michael S. Klishin
4a0fb343ec Commit unsaved change 2012-02-18 19:04:56 +04:00
Michael S. Klishin
345ee691eb Introduce monger.collection/remove-by-id 2012-02-18 19:02:43 +04:00
Michael S. Klishin
fdcad90cd8 Introduce monger.collection/update-by-id 2012-02-18 18:56:34 +04:00
Michael S. Klishin
13135c10dd Make sure that tests that perform authentication and drop databases do not affect authentication tests
Fixes the build.
2012-02-18 15:59:33 +04:00
Michael S. Klishin
e29655a7fd Cosmetics 2012-02-18 15:46:18 +04:00
Michael Klishin
1494cc5ad4 Merge pull request #11 from tobyhede/b51aae652403e98c4979191bfda60a776272836f
monger.db namespace and funcs
2012-02-18 03:43:06 -08:00
Toby Hede
157cbc698f amend find-map-by-id to accept fields as 3rd parameter
fix atomic update tests that broke … being passed fields as the param, but mismatch in api
2012-02-18 21:57:45 +11:00
Toby Hede
3151587d67 add-user and test, db ns 2012-02-17 19:12:16 +11:00