def test_get_database(self): user = mock.Mock(database_uri='sqlite:///:memory:') engine = get_database_engine(user) self.assertIn(self.uri, _ENGINES) self.assertIs(_ENGINES[self.uri], engine) engine2 = get_database_engine(user) self.assertIs(engine, engine2)
def test_resource_construction(self): """Simple Resource construction""" with self.app.app_context(): user = self.db.session.query(User).filter_by(username='******').first() man_model = ManagerModel(model_name='blah', owner=user, fields=('id',)) self.db.session.add(man_model) self.db.session.commit() res = ResourceModel(restmixin='CRUDL', manager=man_model, owner=user) res.pks = ['id'] resource_class = res.resource self.assertEqual(restmixins.CRUDL, res.restmixin_class) self.assertIsInstance(resource_class, ResourceMetaClass) req = RequestContainer() resource_instance = resource_class.create(req) self.assertIsInstance(resource_instance, resource_class) id_ = resource_instance.properties['id'] engine = get_database_engine(user) session = ScopedSessionHandler(engine).get_session() model = session.query(self.model).get(id_) self.assertIsNotNone(model) self.assertListEqual(res.pks, ['id']) self.assertEqual(res._pks, '["id"]')