Example #1
0
 def testResolving(self):
     ref = DatasetRef(self.datasetType, self.dataId, id=1, run="somerun")
     unresolvedRef = ref.unresolved()
     self.assertIsNotNone(ref.id)
     self.assertIsNone(unresolvedRef.id)
     self.assertIsNone(unresolvedRef.run)
     self.assertNotEqual(ref, unresolvedRef)
     self.assertEqual(ref.unresolved(), unresolvedRef)
     self.assertEqual(ref.datasetType, unresolvedRef.datasetType)
     self.assertEqual(ref.dataId, unresolvedRef.dataId)
     reresolvedRef = unresolvedRef.resolved(id=1, run="somerun")
     self.assertEqual(ref, reresolvedRef)
     self.assertEqual(reresolvedRef.unresolved(), unresolvedRef)
     self.assertIsNotNone(reresolvedRef.run)
Example #2
0
    def comparableRef(self, ref: DatasetRef) -> DatasetRef:
        """Return a DatasetRef that can be compared to a DatasetRef from
        other repository.

        For repositories that do not support round-trip of ID values this
        method returns unresolved DatasetRef, for round-trip-safe repos it
        returns unchanged ref.
        """
        return ref if self.datasetsIdType is uuid.UUID else ref.unresolved()