Add time- and version-stamps to created objects

This commit is contained in:
bspeice
2016-09-06 18:59:16 -04:00
父節點 5e6bc68a33
當前提交 eb0c96b691
共有 4 個文件被更改,包括 29 次插入5 次删除

查看文件

@ -1,10 +1,11 @@
from pymongo import MongoClient
from random import randint
from datetime import datetime, timedelta
from metrik.targets.mongo import MongoTarget
from metrik.conf import get_config
from test.mongo_test import MongoTest
from metrik import __version__ as version
class MongoTargetTest(MongoTest):
@ -38,4 +39,23 @@ class MongoTargetTest(MongoTest):
# Make sure we can trivially scale correctly
targets = [MongoTarget('test_collection', i) for i in range(10000)]
self.assertEqual(len(targets), 10000)
self.assertEqual(len(targets), 10000)
def test_metrik_version_saved(self):
t = MongoTarget('test_collection', 1234)
t.persist({})
r = t.retrieve()
assert r['_metrik_version'] == version
def test_created_at_timestamp(self):
present = datetime.now()
t = MongoTarget('test_collection', 1234)
t.persist({})
r = t.retrieve()
self.assertGreaterEqual(present, r['_created_at'])
one_second_past = present - timedelta(seconds=1)
t = MongoTarget('test_collection', 1235)
t.persist({}, present=one_second_past)
r = t.retrieve()
self.assertEqual(one_second_past, r['_created_at'])