Files
werkzeuge/teamleader_test/tests/test_basic.py
root cb073786b3 Initial commit: Werkzeuge-Sammlung
Enthält:
- rdp_client.py: RDP Client mit GUI und Monitor-Auswahl
- rdp.sh: Bash-basierter RDP Client
- teamleader_test/: Network Scanner Fullstack-App
- teamleader_test2/: Network Mapper CLI

Subdirectories mit eigenem Repo wurden ausgeschlossen.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 09:39:24 +01:00

93 lines
2.3 KiB
Python

"""
Basic tests for the network scanner.
Run with: pytest tests/test_basic.py
"""
import pytest
from app.config import settings
def test_settings_loaded():
"""Test that settings are loaded correctly."""
assert settings.app_name is not None
assert settings.database_url is not None
def test_network_range_validation():
"""Test network range validation."""
import ipaddress
# Valid private networks
valid_networks = [
"192.168.1.0/24",
"10.0.0.0/8",
"172.16.0.0/12"
]
for network in valid_networks:
net = ipaddress.ip_network(network, strict=False)
assert net.is_private
# Invalid public network
public_net = ipaddress.ip_network("8.8.8.8/32", strict=False)
assert not public_net.is_private
def test_port_range_parsing():
"""Test port range parsing."""
from app.scanner.port_scanner import PortScanner
scanner = PortScanner()
# Single port
ports = scanner.parse_port_range("80")
assert ports == [80]
# Multiple ports
ports = scanner.parse_port_range("80,443,8080")
assert ports == [80, 443, 8080]
# Port range
ports = scanner.parse_port_range("8000-8005")
assert ports == [8000, 8001, 8002, 8003, 8004, 8005]
# Combined
ports = scanner.parse_port_range("80,443,8000-8002")
assert ports == [80, 443, 8000, 8001, 8002]
def test_service_name_guess():
"""Test service name guessing."""
from app.scanner.port_scanner import PortScanner
scanner = PortScanner()
assert scanner._guess_service_name(80) == "http"
assert scanner._guess_service_name(443) == "https"
assert scanner._guess_service_name(22) == "ssh"
assert scanner._guess_service_name(99999) is None
@pytest.mark.asyncio
async def test_database_initialization():
"""Test database initialization."""
from app.database import init_db, SessionLocal
# Initialize database
init_db()
# Test session creation
db = SessionLocal()
try:
# Simple query to verify database works
from app.models import Host
count = db.query(Host).count()
assert count >= 0 # Should not error
finally:
db.close()
if __name__ == "__main__":
pytest.main([__file__, "-v"])