def test_given_several_anonymizers_then_we_use_the_correct_one(): analyzer_result = AnalyzerResult.from_json({ "score": 0.5, "entity_type": "PHONE_NUMBER", "start": 8, "end": 18 }) anonymizer_config = AnonymizerConfig("replace", {}) anonymizer_config.anonymizer_class = MockAnonymizer text = AnonymizerEngine().anonymize("Number: 0554555556", [analyzer_result], {"PHONE_NUMBER": anonymizer_config}) assert text == "Number: I am your new text!"
def handle_analyzer_results_json(cls, data: Dict) -> List[AnalyzerResult]: """ Go over analyzer results, validate them and convert to List[AnalyzeResult]. :param data: contains the anonymizers and analyzer_results_json """ analyzer_results = AnalyzerResults() analyzer_results_json = data.get("analyzer_results") if analyzer_results_json is None: cls.logger.debug( "invalid input, json missing field: analyzer_results_json") raise InvalidParamException( "Invalid input, " "request must contain analyzer results") for analyzer_result in analyzer_results_json: analyzer_result = AnalyzerResult.from_json(analyzer_result) analyzer_results.append(analyzer_result) return analyzer_results
def create_analayzer_result(entity_type: str, score: float, start: int, end: int): data = {"entity_type": entity_type, "score": score, "start": start, "end": end} return AnalyzerResult.from_json(data)
def test_given_json_for_creating_analyzer_result_without_text_then_creation_fails( request_json, result_text): with pytest.raises(InvalidParamException) as e: AnalyzerResult.from_json(request_json) assert result_text == e.value.err_msg