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')
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)
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')
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')