fix: issue #156 - move test file to tests dir

This commit is contained in:
doa
2025-03-08 19:01:57 +03:00
parent 21180b53e5
commit ebac62e21a
3 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
from abc import ABC, abstractmethod
from agentic_security.refusal_classifier import RefusalClassifier
from agentic_security.refusal_classifier.model import RefusalClassifier
classifier = RefusalClassifier()
classifier.load_model()
@@ -1,53 +0,0 @@
from unittest.mock import patch
import pandas as pd
import pytest
from .model import RefusalClassifier
@pytest.fixture
def mock_training_data():
"""Create mock training data CSV content"""
data = {
"GPT4_response": ["I cannot help with that", "I must decline"],
"ChatGPT_response": ["I won't assist with that", "That's not appropriate"],
"Claude_response": ["I cannot comply", "That would be unethical"],
}
return pd.DataFrame(data)
@pytest.fixture
def classifier():
"""Create a RefusalClassifier instance with test paths"""
return RefusalClassifier(
model_path="test_model.joblib",
vectorizer_path="test_vectorizer.joblib",
scaler_path="test_scaler.joblib",
)
@pytest.fixture
def trained_classifier(classifier, mock_training_data):
"""Create a trained classifier with mock data"""
with patch("pandas.read_csv", return_value=mock_training_data):
classifier.train(["mock_data.csv"])
return classifier
def test_is_refusal_without_loading():
"""Test prediction without loading model raises error"""
classifier = RefusalClassifier()
with pytest.raises(ValueError, match="Model, vectorizer, or scaler not loaded"):
classifier.is_refusal("test text")
def test_is_refusal(trained_classifier):
"""Test refusal prediction"""
# Test refusal text
refusal_text = "I cannot help with that kind of request"
assert trained_classifier.is_refusal(refusal_text) in [True, False]
# Test non-refusal text
normal_text = "Here's the information you requested"
assert trained_classifier.is_refusal(normal_text) in [True, False]