2016-08-16 17:21:09 -04:00
|
|
|
from pymongo import MongoClient
|
|
|
|
from random import randint
|
|
|
|
|
2016-08-19 22:02:19 -04:00
|
|
|
from metrik.targets.mongo import MongoTarget
|
2016-08-24 16:09:54 -04:00
|
|
|
from metrik.conf import get_config
|
2016-08-16 17:21:09 -04:00
|
|
|
from test.mongo_test import MongoTest
|
|
|
|
|
|
|
|
|
|
|
|
class MongoTargetTest(MongoTest):
|
|
|
|
|
|
|
|
def test_exists(self):
|
|
|
|
collection = 'test_collection'
|
|
|
|
id = 1234
|
|
|
|
t = MongoTarget(collection, id)
|
|
|
|
assert not t.exists()
|
|
|
|
|
|
|
|
t.persist({'a': 'b'})
|
|
|
|
assert t.exists()
|
|
|
|
|
2016-08-24 16:09:54 -04:00
|
|
|
db_collection = self.db[collection]
|
2016-08-16 17:21:09 -04:00
|
|
|
db_collection.remove(id)
|
|
|
|
assert not t.exists()
|
|
|
|
|
|
|
|
def test_persist_retrieve(self):
|
|
|
|
collection = 'test_collection'
|
|
|
|
id = 1234
|
|
|
|
t = MongoTarget(collection, id)
|
|
|
|
|
|
|
|
d = {str(k): randint(0, 9999) for k in range(20)}
|
|
|
|
t.persist(d)
|
|
|
|
|
|
|
|
u = MongoTarget(collection, id)
|
|
|
|
assert u.retrieve() == d
|