Ejemplo n.º 1
0
    def get_property_value(self, model):
        """Returns value of the given property of model

        Args:
            model: datastore_services.Model. Entity to validate.

        Returns:
            value. The value of the property of model.
        """
        return job_utils.get_model_property(model, self._property_name)
Ejemplo n.º 2
0
    def get_property_value(self, model):
        # type: (Any) -> Any # type: ignore[no-any-return]
        """Returns value of the given property of model

        Args:
            model: datastore_services.Model. Entity to validate.

        Returns:
            value. The value of the property of model.
        """
        return job_utils.get_model_property(  # type: ignore[no-untyped-call]
            model, self._property_name)
Ejemplo n.º 3
0
    def yield_value_from_model(self, model):
        """Yields the value(s) of the property from the given model.

        If the property is repeated, all values are yielded. Otherwise, a single
        value is yielded.

        Args:
            model: *. A subclass of BaseModel.

        Yields:
            *. The value(s) of the property.

        Raises:
            TypeError. When the argument is not a model.
        """
        if not isinstance(model, self._to_model_class()):
            raise TypeError('%r is not an instance of %s' %
                            (model, self._model_kind))
        value = job_utils.get_model_property(model, self._property_name)
        if self._is_repeated_property():
            for item in value:
                yield item
        else:
            yield value
Ejemplo n.º 4
0
 def test_get_property_from_bad_value(self):
     with self.assertRaisesRegexp(TypeError, 'not a model instance'):
         job_utils.get_model_property(123, 'prop')
Ejemplo n.º 5
0
    def test_get_missing_property_from_datastore_model(self):
        model = FooModel()

        self.assertEqual(job_utils.get_model_property(model, 'prop'), None)
Ejemplo n.º 6
0
    def test_get_property_from_datastore_model(self):
        model = FooModel(prop='abc')

        self.assertEqual(job_utils.get_model_property(model, 'prop'), 'abc')
Ejemplo n.º 7
0
    def test_get_id_from_datastore_model(self):
        model = FooModel(id='123')

        self.assertEqual(job_utils.get_model_property(model, 'id'), '123')
Ejemplo n.º 8
0
    def test_get_key_from_datastore_model(self):
        model = FooModel(id='123')

        self.assertEqual(job_utils.get_model_property(model, '__key__'),
                         model.key)
Ejemplo n.º 9
0
 def test_get_property_from_bad_value(self) -> None:
     with self.assertRaisesRegexp(
             TypeError,
             'not a model instance'):  # type: ignore[no-untyped-call]
         job_utils.get_model_property(123, 'prop')  # type: ignore[arg-type]
Ejemplo n.º 10
0
 def test_get_missing_property_from_cloud_datastore_entity(self):
     entity = cloud_datastore_types.Entity(
         key=cloud_datastore_types.Key('FooModel', '123', project='foo'))
     self.assertEqual(job_utils.get_model_property(entity, 'prop'), None)