| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import pytest
- from app.services.scan_data_processor import ScanDataProcessor
- from app.scanners.base import ResourceData, ScanResult
- @pytest.fixture
- def processor():
- return ScanDataProcessor()
- @pytest.fixture
- def valid_scan_data():
- return {
- "metadata": {
- "account_id": "123456789012",
- "scan_timestamp": "2024-01-15T10:30:00Z",
- "regions_scanned": ["us-east-1"],
- "services_scanned": ["vpc"],
- },
- "resources": {
- "vpc": [{
- "account_id": "123456789012",
- "region": "us-east-1",
- "service": "vpc",
- "resource_type": "VPC",
- "resource_id": "vpc-12345678",
- "name": "main-vpc",
- "attributes": {}
- }]
- },
- "errors": []
- }
- class TestValidateScanData:
- def test_valid_scan_data(self, processor, valid_scan_data):
- is_valid, errors = processor.validate_scan_data(valid_scan_data)
- assert is_valid is True
- assert errors == []
- def test_invalid_data_type(self, processor):
- is_valid, errors = processor.validate_scan_data("not a dict")
- assert is_valid is False
- class TestConvertToScanResult:
- def test_convert_valid_data(self, processor, valid_scan_data):
- result = processor.convert_to_scan_result(valid_scan_data)
- assert isinstance(result, ScanResult)
- assert result.success is True
|