def test_match_when_rule_already_executed(self): rule_application_log = RuleApplicationLog(NOT_IGNORED_RULE_ID, False) rule_application_log_as_metadata = Metadata(RuleApplicationLogJSONEncoder().default(rule_application_log)) self.cookie.enrichments.add(create_creation_enrichment(datetime(1, 1, 1))) self.cookie.enrichments.add(create_creation_enrichment(datetime(3, 3, 3))) self.cookie.enrichments.add(Enrichment(RULE_APPLICATION, datetime(2, 2, 2), rule_application_log_as_metadata)) self.assertFalse(self.rule.matches(self.cookie))
def test_match_when_created_and_manual_qc_in_irods(self): data_object = DataObject("/path", metadata=IrodsMetadata({IRODS_MANUAL_QC_KEY: {INCORRECT_MANUAL_QC_VALUE}})) data_object_as_metadata = Metadata(DataObjectJSONEncoder().default(data_object)) self.cookie.enrichments.add([ create_creation_enrichment(datetime(1, 1, 1)), Enrichment(IRODS_ENRICHMENT, datetime(2, 2, 2), data_object_as_metadata) ]) self.assertTrue(self.rule.matches(self.cookie))
def test_match_when_created_and_manual_qc_in_update(self): modification = DataObjectModification(IrodsMetadata({IRODS_MANUAL_QC_KEY: {INCORRECT_MANUAL_QC_VALUE}})) modification_as_metadata = Metadata(DataObjectModificationJSONEncoder().default(modification)) self.cookie.enrichments.add([ create_creation_enrichment(datetime(1, 1, 1)), Enrichment(IRODS_UPDATE_ENRICHMENT, datetime(2, 2, 2), modification_as_metadata) ]) self.assertTrue(self.rule.matches(self.cookie))
def test_no_match_when_created_but_unknown_manual_qc(self): modification = DataObjectModification(IrodsMetadata({IRODS_MANUAL_QC_KEY: {"unknown"}})) modification_as_metadata = Metadata(DataObjectModificationJSONEncoder().default(modification)) self.cookie.enrichments.add([ create_creation_enrichment(datetime(1, 1, 1)), Enrichment(IRODS_UPDATE_ENRICHMENT, datetime(2, 2, 2), modification_as_metadata) ]) self.assertFalse(self.rule.matches(self.cookie))
def test_no_match_when_created_but_no_manual_qc_defined(self): self.cookie.enrichments.add(create_creation_enrichment(datetime(1, 1, 1))) self.assertFalse(self.rule.matches(self.cookie))
def test_match_when_irrelevant_enrichments(self): rule_application_log = RuleApplicationLog("other", False) rule_application_log_as_metadata = Metadata(RuleApplicationLogJSONEncoder().default(rule_application_log)) self.cookie.enrichments.add(create_creation_enrichment(datetime(1, 1, 1))) self.cookie.enrichments.add(Enrichment(RULE_APPLICATION, datetime(2, 2, 2), rule_application_log_as_metadata)) self.assertTrue(self.rule.matches(self.cookie))