def insert(class_name: str, name: str, description: Optional[str] = None) -> Entity: from openatlas.util.display import sanitize if not name: # pragma: no cover from openatlas import logger logger.log('error', 'model', 'Insert entity without name') abort(422) id_ = Db.insert({ 'name': str(name).strip(), 'code': g.classes[class_name].cidoc_class.code, 'system_class': class_name, 'description': sanitize(description, 'text') if description else None}) return Entity.get_by_id(id_)
def test_links(self) -> None: from openatlas.database.entity import Entity as DbEntity from openatlas.database.link import Link as DbLink with app.app_context(): with app.test_request_context(): app.preprocess_request() # type: ignore id_ = DbEntity.insert({ 'name': 'Invalid linked entity', 'openatlas_class_name': 'artifact', 'code': 'E13', 'description': ''}) DbLink.insert({ 'property_code': 'P86', 'domain_id': id_, 'range_id': id_, 'description': '', 'type_id': None}) rv = self.app.get(url_for('admin_check_links')) assert b'Invalid linked entity' in rv.data