File: test_constants.py

package info (click to toggle)
python-azure 20250603%2Bgit-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 851,724 kB
  • sloc: python: 7,362,925; ansic: 804; javascript: 287; makefile: 195; sh: 145; xml: 109
file content (57 lines) | stat: -rw-r--r-- 2,302 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
"""
Unit tests for red_team.utils.constants module.
"""

import pytest
from azure.ai.evaluation.red_team._utils.constants import (
    BASELINE_IDENTIFIER, DATA_EXT, RESULTS_EXT,
    ATTACK_STRATEGY_COMPLEXITY_MAP, RISK_CATEGORY_EVALUATOR_MAP,
    INTERNAL_TASK_TIMEOUT, TASK_STATUS
)
from azure.ai.evaluation.red_team._attack_strategy import AttackStrategy
from azure.ai.evaluation.red_team._attack_objective_generator import RiskCategory
from azure.ai.evaluation import ViolenceEvaluator, HateUnfairnessEvaluator, SexualEvaluator, SelfHarmEvaluator


@pytest.mark.unittest
class TestBasicConstants:
    """Test basic constants are defined correctly."""

    def test_basic_constants(self):
        """Verify basic constants are defined correctly."""
        assert BASELINE_IDENTIFIER == "baseline"
        assert DATA_EXT == ".jsonl"
        assert RESULTS_EXT == ".json"
        assert INTERNAL_TASK_TIMEOUT == 120


@pytest.mark.unittest
class TestTaskStatusConstants:
    """Test task status constants are defined correctly."""
    
    def test_task_status_constants(self):
        """Verify task status constants are defined correctly."""
        assert TASK_STATUS["PENDING"] == "pending"
        assert TASK_STATUS["RUNNING"] == "running"
        assert TASK_STATUS["COMPLETED"] == "completed"
        assert TASK_STATUS["FAILED"] == "failed"
        assert TASK_STATUS["TIMEOUT"] == "timeout"


@pytest.mark.unittest
class TestRiskCategoryEvaluatorMap:
    """Test risk category evaluator mapping."""
    
    def test_risk_category_evaluator_map(self):
        """Verify risk category evaluator map includes all risk categories."""
        assert RiskCategory.Violence in RISK_CATEGORY_EVALUATOR_MAP
        assert RISK_CATEGORY_EVALUATOR_MAP[RiskCategory.Violence] == ViolenceEvaluator
        
        assert RiskCategory.HateUnfairness in RISK_CATEGORY_EVALUATOR_MAP
        assert RISK_CATEGORY_EVALUATOR_MAP[RiskCategory.HateUnfairness] == HateUnfairnessEvaluator
        
        assert RiskCategory.Sexual in RISK_CATEGORY_EVALUATOR_MAP
        assert RISK_CATEGORY_EVALUATOR_MAP[RiskCategory.Sexual] == SexualEvaluator
        
        assert RiskCategory.SelfHarm in RISK_CATEGORY_EVALUATOR_MAP
        assert RISK_CATEGORY_EVALUATOR_MAP[RiskCategory.SelfHarm] == SelfHarmEvaluator