Skip to content

Commit

Permalink
Implementing DateTimePropery._db_(set|get)_value.
Browse files Browse the repository at this point in the history
  • Loading branch information
dhermes committed Nov 8, 2018
1 parent 39b8756 commit de88282
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
16 changes: 16 additions & 0 deletions ndb/src/google/cloud/ndb/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -2284,6 +2284,22 @@ def _prepare_for_put(self, entity):
value = self._now()
self._store_value(entity, value)

def _db_set_value(self, v, p, value):
"""Helper for :meth:`_serialize`.
Raises:
NotImplementedError: Always. This method is virtual.
"""
raise NotImplementedError

def _db_get_value(self, v, unused_p):
"""Helper for :meth:`_deserialize`.
Raises:
NotImplementedError: Always. This method is virtual.
"""
raise NotImplementedError


class DateProperty(DateTimeProperty):
__slots__ = ()
Expand Down
12 changes: 12 additions & 0 deletions ndb/tests/unit/test_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -1837,6 +1837,18 @@ def test__prepare_for_put_auto_now_add():
assert entity._values == {prop._name: _now.return_value}
_now.assert_called_once_with()

@staticmethod
def test__db_set_value():
prop = model.DateTimeProperty(name="dt_val")
with pytest.raises(NotImplementedError):
prop._db_set_value(None, None, None)

@staticmethod
def test__db_get_value():
prop = model.DateTimeProperty(name="dt_val")
with pytest.raises(NotImplementedError):
prop._db_get_value(None, None)


class TestDateProperty:
@staticmethod
Expand Down

0 comments on commit de88282

Please sign in to comment.