Ejemplo n.º 1
0
 def test_min_producer_version(self):
     deserialized, _ = revived_types.deserialize(
         saved_object_graph_pb2.SavedUserObject(
             identifier="test_type",
             version=versions_pb2.VersionDef(producer=3,
                                             min_consumer=0,
                                             bad_consumers=[])))
     self.assertEqual(3, deserialized.version)
Ejemplo n.º 2
0
 def test_load_identifier_not_found(self):
     nothing_matches = revived_types.deserialize(
         saved_object_graph_pb2.SavedUserObject(
             identifier="_unregistered_type",
             version=versions_pb2.VersionDef(producer=1,
                                             min_consumer=1,
                                             bad_consumers=[])))
     self.assertIs(nothing_matches, None)
Ejemplo n.º 3
0
 def test_min_consumer_version(self):
     nothing_matches = revived_types.deserialize(
         saved_object_graph_pb2.SavedUserObject(
             identifier="test_type",
             version=versions_pb2.VersionDef(producer=5,
                                             min_consumer=5,
                                             bad_consumers=[])))
     self.assertIs(nothing_matches, None)
Ejemplo n.º 4
0
 def test_min_producer_version(self):
   deserialized, _ = revived_types.deserialize(
       saved_object_graph_pb2.SavedUserObject(
           identifier="test_type",
           version=versions_pb2.VersionDef(
               producer=3,
               min_consumer=0,
               bad_consumers=[])))
   self.assertEqual(3, deserialized.version)
Ejemplo n.º 5
0
 def test_min_consumer_version(self):
   nothing_matches = revived_types.deserialize(
       saved_object_graph_pb2.SavedUserObject(
           identifier="test_type",
           version=versions_pb2.VersionDef(
               producer=5,
               min_consumer=5,
               bad_consumers=[])))
   self.assertIs(nothing_matches, None)
Ejemplo n.º 6
0
 def test_load_identifier_not_found(self):
   nothing_matches = revived_types.deserialize(
       saved_object_graph_pb2.SavedUserObject(
           identifier="_unregistered_type",
           version=versions_pb2.VersionDef(
               producer=1,
               min_consumer=1,
               bad_consumers=[])))
   self.assertIs(nothing_matches, None)
Ejemplo n.º 7
0
    def _recreate_user_object(self, proto):
        """Instantiates a SavedUserObject."""
        looked_up = revived_types.deserialize(proto)
        if looked_up is None:
            # Note: each user object has its own class. This allows to make each one
            # individually callable by adding a `__call__` method to the classes of
            # the objects instances that have a `__call__` property.

            class _UserObject(tracking.AutoCheckpointable):
                pass

            return _UserObject(), setattr
        return looked_up
Ejemplo n.º 8
0
  def _recreate_user_object(self, proto):
    """Instantiates a SavedUserObject."""
    looked_up = revived_types.deserialize(proto)
    if looked_up is None:
      # Note: each user object has its own class. This allows to make each one
      # individually callable by adding a `__call__` method to the classes of
      # the objects instances that have a `__call__` property.

      class _UserObject(tracking.AutoTrackable):
        pass

      return _UserObject(), setattr
    return looked_up
Ejemplo n.º 9
0
 def _recreate_user_object(self, proto):
   """Instantiates a SavedUserObject."""
   looked_up = revived_types.deserialize(proto)
   if looked_up is None:
     return self._recreate_base_user_object(proto)
   return looked_up
Ejemplo n.º 10
0
 def test_most_recent_version_saved(self):
     serialized = revived_types.serialize(CustomTestClass(None))
     self.assertEqual([3], serialized.version.bad_consumers)
     deserialized, _ = revived_types.deserialize(serialized)
     self.assertIsInstance(deserialized, CustomTestClass)
     self.assertEqual(4, deserialized.version)
Ejemplo n.º 11
0
 def test_most_recent_version_saved(self):
   serialized = revived_types.serialize(CustomTestClass(None))
   self.assertEqual([3], serialized.version.bad_consumers)
   deserialized, _ = revived_types.deserialize(serialized)
   self.assertIsInstance(deserialized, CustomTestClass)
   self.assertEqual(4, deserialized.version)