def test_save(self): from lumin.node import ContextById # Insert item directly into collection self.request.db['test'].insert( {'_id': 'frobnitz'}, {'title': 'Frobnitz'} ) context = ContextById(self.request, 'frobnitz', 'test') context.data.update({'title': 'Frobbozz'}) context.save() history = context.history() self.assertEquals(history.count(), 0) self.assertRaises(StopIteration, next, history) self.assertTrue(context.data['mtime'])
def test_context_with_data(self): """A context can be constructed directly from document data. """ from lumin.node import ContextById self.request.db['test'].insert( {'_id': 'frobnitz', 'title': 'Frobnitz'}) doc = self.request.db['test'].find_one({'_id': 'frobnitz'}) context = ContextById(self.request, 'frobnitz', 'test', data=doc) self.assertEqual( context.data, {'_id': 'frobnitz', 'title': 'Frobnitz'}) context.data['abc'] = 123 context.save() doc = self.request.db['test'].find_one({'_id': 'frobnitz'}) doc.pop('mtime') self.assertEqual( doc, dict(_id='frobnitz', title='Frobnitz', abc=123, changed_by=''))
def test_empty_default__acl__(self): self.request.db['test'].insert({'_id': 'frobnitz', 'title': ''}) from lumin.node import ContextById context = ContextById(self.request, 'frobnitz', 'test') self.assertEquals(context.__acl__, []) context.__acl__ = [[1, 2, 3]] self.assertEquals(context.__acl__, [[1, 2, 3]]) context.save() document = self.request.db['test'].find_one({'_id': 'frobnitz'}) self.failUnless(document.get('__acl__', None), [[1, 2, 3]]) del context.__acl__ self.assertEquals(context.__acl__, []) context.save() document = self.request.db['test'].find_one({'_id': 'frobnitz'}) self.failIf(document.get('__acl__', None))