def testCompareSchemaCategories(self): """Compare common categories across schema definitions.""" try: sdCc = SchemaDefAccess( self.__schP.makeSchemaDef("chem_comp_core", dataTyping="ANY", saveSchema=False)) sdBcc = SchemaDefAccess( self.__schP.makeSchemaDef("bird_chem_comp_core", dataTyping="ANY", saveSchema=False)) # logger.info("") for schemaId in ["CHEM_COMP", "PDBX_CHEM_COMP_AUDIT"]: atCcL = sdCc.getAttributeIdList(schemaId) atBCcL = sdBcc.getAttributeIdList(schemaId) logger.debug("%s attributes (%d) %r", schemaId, len(atCcL), atCcL) logger.debug("%s attributes (%d) %r", schemaId, len(atBCcL), atBCcL) sDif = set(atCcL) - set(atBCcL) if sDif: logger.info("For %s attribute differences %r", schemaId, sDif) self.assertEqual(len(sDif), 0) except Exception as e: logger.exception("Failing with %s", str(e)) self.fail()
def __testAccessors(self, schemaDef): """ Verify data and accessor mapping - """ sd = SchemaDefAccess(schemaDef) logger.debug("Schema name %s", sd.getName()) logger.debug("Schema name %s", sd.getAppName()) logger.debug("Database name %s", sd.getDatabaseName()) logger.debug("Versioned database name %s", sd.getVersionedDatabaseName()) logger.debug("Collection info %r", sd.getCollectionInfo()) for dS in sd.getDataSelectorNames(): logger.debug("Selector %s %r", dS, sd.getDataSelectors(dS)) collectionInfoL = sd.getCollectionInfo() for dD in collectionInfoL: collectionName = dD["NAME"] logger.debug("Collection excluded %r", sd.getCollectionExcluded(collectionName)) logger.debug("Collection included %r", sd.getCollectionSelected(collectionName)) logger.debug("Collection document key attribute names %r", sd.getDocumentKeyAttributeNames(collectionName)) schemaIdList = sd.getSchemaIdList() for schemaId in schemaIdList: # aIdL = sd.getAttributeIdList(schemaId) tObj = sd.getSchemaObject(schemaId) attributeIdList = tObj.getAttributeIdList() self.assertEqual(len(aIdL), len(attributeIdList)) attributeNameList = tObj.getAttributeNameList() logger.debug("Ordered attribute Id list %s", str(attributeIdList)) logger.debug("Ordered attribute name list %s", str(attributeNameList)) # mAL = tObj.getMapAttributeNameList() logger.debug("Ordered mapped attribute name list %s", str(mAL)) mAL = tObj.getMapAttributeIdList() logger.debug("Ordered mapped attribute id list %s", str(mAL)) cL = tObj.getMapInstanceCategoryList() logger.debug("Mapped category list %s", str(cL)) for cV in cL: aL = tObj.getMapInstanceAttributeList(cV) logger.debug("Mapped attribute list in %s : %s", cV, str(aL)) return True