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>
This commit is contained in:
92
teamleader_test/tests/test_basic.py
Normal file
92
teamleader_test/tests/test_basic.py
Normal file
@@ -0,0 +1,92 @@
|
||||
"""
|
||||
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"])
|
||||
Reference in New Issue
Block a user