Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed
All services: admin-v2, studio-v2, website, ai-compliance-sdk, consent-service, klausur-service, voice-service, and infrastructure. Large PDFs and compiled binaries excluded via .gitignore.
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
"""
|
|
Go Test Discovery
|
|
|
|
Functions for discovering Go tests in a codebase.
|
|
"""
|
|
|
|
from pathlib import Path
|
|
from typing import List
|
|
|
|
from ...models import TestCase, TestFramework, TestCategory
|
|
from ..config import PROJECT_ROOT
|
|
|
|
|
|
def discover_go_tests(base_path: Path) -> List[TestCase]:
|
|
"""Entdeckt Go-Tests in einem Verzeichnis"""
|
|
tests = []
|
|
if not base_path.exists():
|
|
return tests
|
|
|
|
# Suche nach *_test.go Dateien
|
|
test_files = list(base_path.rglob("*_test.go"))
|
|
|
|
for test_file in test_files:
|
|
# Parse Test-Funktionen aus der Datei
|
|
try:
|
|
content = test_file.read_text()
|
|
for i, line in enumerate(content.split("\n"), 1):
|
|
if line.strip().startswith("func Test"):
|
|
# Extrahiere Funktionsname
|
|
name_start = line.find("Test")
|
|
name_end = line.find("(", name_start)
|
|
if name_end > name_start:
|
|
func_name = line[name_start:name_end]
|
|
tests.append(TestCase(
|
|
id=f"{test_file.stem}_{func_name}",
|
|
name=func_name,
|
|
file_path=str(test_file.relative_to(PROJECT_ROOT)),
|
|
line_number=i,
|
|
framework=TestFramework.GO_TEST,
|
|
category=TestCategory.UNIT,
|
|
))
|
|
except Exception:
|
|
pass
|
|
|
|
return tests
|