示例#1
0
 def test_get_value_model_attr_callable(self):
     o = SimpleDemoModel()
     ds = SimpleDemoModelSource.as_datasource()
     o.fake = F
     c = Column('fake')
     v = c.get_value(o, ds)
     self.assertIsInstance(v, RowValue)
     self.assertEqual(v, 'called without obj')
示例#2
0
    def test_get_value(self):
        o = SimpleDemoModel()
        ds = SimpleDemoModelSource.as_datasource()

        # model found return attr
        c = Column('char')
        v = c.get_value(o, ds)
        self.assertIsInstance(v, RowValue)

        # raise last ValueError
        c = Column('nonexistant')
        with self.assertRaises(ValueError):
            c.get_value(o, ds)

        # Exception with raise ValueError
        c = Column(FakeCallable, name='fake')
        with self.assertRaises(ValueError):
            c.get_value(o, ds)
示例#3
0
    def test_get_value_attr_on_ds(self):
        """Test get value where attr not found on model, but on ds"""
        o = SimpleDemoModel()
        ds = SimpleDemoModelSource.as_datasource()

        ds.fake = 'Hello'
        c = Column('fake')
        v = c.get_value(o, ds)
        self.assertIsInstance(v, RowValue)
        self.assertEqual(v, 'Hello')
示例#4
0
    def test_get_value_attr_callable_on_ds(self):
        """Test get value where attr is not found on model and is callable
        attr on ds
        """
        o = SimpleDemoModel()
        ds = SimpleDemoModelSource.as_datasource()

        ds.fake = F
        c = Column('fake')
        v = c.get_value(o, ds)
        self.assertIsInstance(v, RowValue)
        self.assertEqual(v, 'called with obj')