Skip to content
This repository has been archived by the owner on Dec 21, 2022. It is now read-only.

Commit

Permalink
Merge pull request #90 from postatum/107303060_es_2_0
Browse files Browse the repository at this point in the history
Remove _version field
  • Loading branch information
jstoiko committed Feb 9, 2016
2 parents a14920f + 9bed536 commit 013bce9
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 35 deletions.
13 changes: 1 addition & 12 deletions nefertari_sqla/documents.py
Original file line number Diff line number Diff line change
Expand Up @@ -658,9 +658,6 @@ def __repr__(self):
parts = [
'{}={}'.format(pk_field, getattr(self, pk_field)),
]
if hasattr(self, '_version'):
parts.append('v=%s' % self._version)

return '<{}: {}>'.format(self.__class__.__name__, ', '.join(parts))

@classmethod
Expand All @@ -672,7 +669,7 @@ def get_by_ids(cls, ids, **params):
@classmethod
def get_null_values(cls):
""" Get null values of :cls: fields. """
skip_fields = {'_version', '_acl'}
skip_fields = set(['_acl'])
null_values = {}
columns = cls._mapped_columns()
columns.update(cls._mapped_relationships())
Expand Down Expand Up @@ -851,15 +848,8 @@ class BaseDocument(BaseObject, BaseMixin):
"""
__abstract__ = True

_version = IntegerField(default=0)

def _bump_version(self):
if self._is_modified():
self._version = (self._version or 0) + 1

def save(self, request=None):
session = object_session(self)
self._bump_version()
self._request = request
session = session or Session()
try:
Expand All @@ -880,7 +870,6 @@ def update(self, params, request=None):
self._request = request
try:
self._update(params)
self._bump_version()
session = object_session(self)
session.add(self)
session.flush()
Expand Down
29 changes: 6 additions & 23 deletions nefertari_sqla/tests/test_documents.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ class MyModel2(docs.BaseDocument):
'MyModel': {
'properties': {
'_pk': {'type': 'string'},
'_version': {'type': 'long'},
'settings': {'type': 'object', 'enabled': False},
'groups': {'type': 'string'},
'my_id': {'type': 'long'},
Expand All @@ -120,7 +119,6 @@ class MyModel2(docs.BaseDocument):
'MyModel2': {
'properties': {
'_pk': {'type': 'string'},
'_version': {'type': 'long'},
'child_id': {'type': 'string'},
'name': {'type': 'string'},
'myself': {
Expand Down Expand Up @@ -196,7 +194,7 @@ class MyModel(docs.BaseDocument):
memory_db()

query_set = Mock()
_fields = ['-title', '-_version']
_fields = ['-title']
MyModel.apply_fields(query_set, _fields)
query_set.with_entities.assert_called_once_with(
MyModel.desc, MyModel.id, MyModel.name)
Expand Down Expand Up @@ -346,12 +344,12 @@ def test_get_item(self, mock_get_coll):
def test_native_fields(self, simple_model, memory_db):
memory_db()
assert sorted(simple_model.native_fields()) == [
'_version', 'id', 'name']
'id', 'name']

def test_mapped_columns(self, simple_model, memory_db):
memory_db()
cols = simple_model._mapped_columns().keys()
assert sorted(cols) == ['_version', 'id', 'name']
assert sorted(cols) == ['id', 'name']

@patch.object(docs, 'class_mapper')
def test_mapped_relationships(
Expand All @@ -366,7 +364,7 @@ def test_fields_to_query(self, simple_model, memory_db):
memory_db()
assert sorted(simple_model.fields_to_query()) == [
'_count', '_fields', '_limit', '_page', '_sort',
'_start', '_version', 'id', 'name']
'_start', 'id', 'name']

def test_unique_fields(self, memory_db):
class MyModel(docs.BaseDocument):
Expand Down Expand Up @@ -481,8 +479,7 @@ def test_underscore_update_many_query(self, mock_clean):
def test_repr(self, simple_model, memory_db):
obj = simple_model()
obj.id = 3
obj._version = 12
assert str(obj) == '<MyModel: id=3, v=12>'
assert str(obj) == '<MyModel: id=3>'

@patch.object(docs.BaseMixin, 'get_collection')
def test_get_by_ids(self, mock_coll, memory_db):
Expand Down Expand Up @@ -538,7 +535,7 @@ class MyModel(docs.BaseDocument):

result = myobj1.to_dict()
assert list(sorted(result.keys())) == [
'_pk', '_type', '_version', 'id', 'other_obj',
'_pk', '_type', 'id', 'other_obj',
'other_obj2', 'other_obj3']
assert result['_type'] == 'MyModel'
assert result['id'] == 1
Expand Down Expand Up @@ -715,27 +712,13 @@ def test_is_created(self, memory_db, simple_model):

class TestBaseDocument(object):

def test_bump_version(self, simple_model, memory_db):
from datetime import datetime
memory_db()

myobj = simple_model(id=None)
assert myobj._version is None
myobj._bump_version()

myobj.save()
myobj.name = 'foo'
myobj._bump_version()
assert myobj._version == 1

@patch.object(docs, 'object_session')
def test_save(self, obj_session, simple_model, memory_db):
memory_db()

myobj = simple_model(id=4)
newobj = myobj.save()
assert newobj == myobj
assert myobj._version is None
obj_session.assert_called_once_with(myobj)
obj_session().add.assert_called_once_with(myobj)
obj_session().flush.assert_called_once_with()
Expand Down

0 comments on commit 013bce9

Please sign in to comment.