Skip to content

Commit

Permalink
Merge pull request #8 from sahajsoft/pytest
Browse files Browse the repository at this point in the history
migrate to pytest
  • Loading branch information
akshaykarle authored Jun 3, 2024
2 parents f42a430 + 9c1a6f5 commit f1ece7d
Show file tree
Hide file tree
Showing 14 changed files with 103 additions and 33 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ jobs:
shell: bash

- name: "Test"
run: 'shopt -s globstar && poetry run python -m unittest tests/**/*.py'
run: 'poetry run pytest'
shell: bash
75 changes: 74 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,15 @@ spacy = "^3.7.4"
scipy = "<1.13.0"
presidio-anonymizer = "^2.2.354"
presidio-analyzer = {version = "^2.2.354", extras = ["transformers", "stanza"]}
pytest = "^8.2.1"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.pytest.ini_options]
pythonpath = "src"
addopts = [
"--import-mode=importlib",
]
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Empty file removed tests/__init__.py
Empty file.
Empty file removed tests/analyzer_engine/__init__.py
Empty file.
25 changes: 9 additions & 16 deletions tests/analyzer_engine/csv_analyzer_engine_test.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,15 @@
import unittest
import pytest

from analyzer_engine.csv_analyzer_engine import CSVAnalyzerEngine
from config.nlp_engine_config import FlairNLPEngine


class CSVAnalayzerEngineTest(unittest.TestCase):
def setUp(self) -> None:
nlp_engine = FlairNLPEngine("flair/ner-english-large")
self.csv_analyser = CSVAnalyzerEngine(nlp_engine)
def test_csv_analyzer_engine_anonymizer():
nlp_engine = FlairNLPEngine("flair/ner-english-large")
csv_analyzer = CSVAnalyzerEngine(nlp_engine)
from presidio_anonymizer import BatchAnonymizerEngine
analyzer_results = csv_analyzer.analyze_csv('./sample_data.csv', language="en")

def test_csv_analyzer_engine_anonymizer(self):
import pprint
from presidio_anonymizer import BatchAnonymizerEngine
analyzer_results = self.csv_analyser.analyze_csv('./sample_data.csv', language="en")

pprint.pprint(analyzer_results)

anonymizer = BatchAnonymizerEngine()
anonymized_results = anonymizer.anonymize_dict(analyzer_results)
pprint.pprint(anonymized_results)
self.assertIsNotNone(anonymized_results)
anonymizer = BatchAnonymizerEngine()
anonymized_results = anonymizer.anonymize_dict(analyzer_results)
assert anonymized_results
Empty file removed tests/recognizer/__init__.py
Empty file.
27 changes: 12 additions & 15 deletions tests/recognizer/flair_recognizer_test.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
import unittest
import pytest

from recognizer.flair_recognizer import FlairRecognizer


class TestFlairRecognizer(unittest.TestCase):
def setUp(self) -> None:
self.recognizer = FlairRecognizer(model_path="flair/ner-english-large")

def test_flair_recognizer_analyse(self):
test_data = "Sowmya is working in Berkley bank as an accountant since 2021"
result = self.recognizer.analyze(test_data)
self.assertGreater(len(result), 0)

def test_flair_recognizes_persons_correctly(self):
test_data = "Sowmya is a person name"
self.assertGreater(len(self.recognizer.analyze(test_data)), 0)
test_data = "XXXXXX is a valid name?"
self.assertEquals(len(self.recognizer.analyze(test_data)), 0)
def test_flair_recognizer_analyze():
recognizer = FlairRecognizer(model_path="flair/ner-english-large")
test_data = "Sowmya is working in Berkley bank as an accountant since 2021"
result = recognizer.analyze(test_data)
assert len(result) > 0

def test_flair_recognizes_persons_correctly():
recognizer = FlairRecognizer(model_path="flair/ner-english-large")
test_data = "Sowmya is a person name"
assert len(recognizer.analyze(test_data)) > 0
test_data = "XXXXXX is a valid name?"
assert len(recognizer.analyze(test_data)) == 0

0 comments on commit f1ece7d

Please sign in to comment.