more features checks. setup improvements
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"type": "source-verification",
|
||||
"capturedAtUtc": "2026-02-12T22:45:00Z",
|
||||
"feature": "integration-concierge",
|
||||
"module": "integrations",
|
||||
"sourceFilesExpected": [
|
||||
"src/Integrations/StellaOps.Integrations.WebService/IntegrationEndpoints.cs",
|
||||
"src/Integrations/StellaOps.Integrations.WebService/IntegrationService.cs",
|
||||
"src/Integrations/__Libraries/StellaOps.Integrations.Contracts/IntegrationDtos.cs",
|
||||
"src/Integrations/__Libraries/StellaOps.Integrations.Core/IntegrationModels.cs",
|
||||
"src/Integrations/__Libraries/StellaOps.Integrations.Persistence/PostgresIntegrationRepository.cs",
|
||||
"src/Web/StellaOps.Web/src/app/features/integrations/integration-wizard.component.ts",
|
||||
"src/Web/StellaOps.Web/src/app/features/integrations/integrations-hub.component.ts",
|
||||
"src/Web/StellaOps.Web/src/app/features/integrations/models/integration.models.ts"
|
||||
],
|
||||
"sourceFilesFound": [
|
||||
"src/Integrations/StellaOps.Integrations.WebService/IntegrationEndpoints.cs",
|
||||
"src/Integrations/StellaOps.Integrations.WebService/IntegrationService.cs",
|
||||
"src/Integrations/__Libraries/StellaOps.Integrations.Contracts/IntegrationDtos.cs",
|
||||
"src/Integrations/__Libraries/StellaOps.Integrations.Core/IntegrationModels.cs",
|
||||
"src/Integrations/__Libraries/StellaOps.Integrations.Persistence/PostgresIntegrationRepository.cs",
|
||||
"src/Web/StellaOps.Web/src/app/features/integrations/integration-wizard.component.ts",
|
||||
"src/Web/StellaOps.Web/src/app/features/integrations/integrations-hub.component.ts",
|
||||
"src/Web/StellaOps.Web/src/app/features/integrations/models/integration.models.ts"
|
||||
],
|
||||
"sourceFilesPercent": 100,
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"type": "code-review",
|
||||
"capturedAtUtc": "2026-02-12T22:45:00Z",
|
||||
"feature": "integration-concierge",
|
||||
"module": "integrations",
|
||||
"checklist": {
|
||||
"mainClassExistsWithNonTrivialImplementation": true,
|
||||
"logicMatchesFeatureDescription": true,
|
||||
"unitTestsExerciseCoreBehavior": true,
|
||||
"testsAssertMeaningfulOutcomes": true
|
||||
},
|
||||
"sourceReview": {
|
||||
"IntegrationWizardComponent (551 lines)": "Angular standalone component with 6-step wizard (provider, auth, scope, schedule, preflight, review). OnPush change detection. Signal-based state management. Supports 4 integration types: registry (6 providers), scm (3), ci (3), host (3). Auth method selection per type with field validation. Scope configuration (repos, branches, orgs, namespaces, tag patterns). Schedule options (manual, interval, cron). Preflight checks: sequential deterministic execution with per-type check sets. Webhook secret generation. Deployment templates for host type (Helm, systemd, offline bundle).",
|
||||
"IntegrationsHubComponent (251 lines)": "Angular standalone hub page. Categories: Container Registries, Source Control, CI/CD Pipelines, Hosts and Observers. Each category has Add button that opens wizard. Provider pills for visual listing. Route-based wizard activation via ActivatedRoute paramMap.",
|
||||
"integration.models.ts (209 lines)": "Full TypeScript model set: IntegrationProvider (15 providers), IntegrationType (4 types), WizardStep (6 steps), IntegrationProviderInfo, AuthMethod with AuthField, PreflightCheck with status lifecycle, IntegrationDraft with scope/schedule/webhook/tags. AUTH_METHODS per type.",
|
||||
"IntegrationEndpoints.cs (134 lines)": "Backend REST API: POST /ai-code-guard/run, GET / (list with filtering/pagination), GET /{id}, POST / (create), PUT /{id}, DELETE /{id}, POST /{id}/test, GET /{id}/health, GET /providers.",
|
||||
"IntegrationService.cs (324 lines)": "Full CRUD lifecycle with event publishing and audit logging. TestConnectionAsync resolves AuthRef, delegates to plugin, updates status. CheckHealthAsync tracks health status changes.",
|
||||
"IntegrationDtos.cs (98 lines)": "Create/Update request DTOs, IntegrationResponse, TestConnectionResponse, HealthCheckResponse, ListIntegrationsQuery with pagination/sorting, PagedIntegrationsResponse.",
|
||||
"IntegrationModels.cs (75 lines)": "IntegrationConfig, TestConnectionResult, HealthCheckResult, lifecycle event records (Created, Updated, Deleted, StatusChanged, HealthChanged, TestConnection).",
|
||||
"PostgresIntegrationRepository.cs (233 lines)": "EF Core PostgreSQL. Full CRUD, soft delete, query builder with filtering, sorting, pagination, health status update."
|
||||
},
|
||||
"testReview": {
|
||||
"IntegrationServiceTests (10 tests)": "Create with validation+events+audit, GetById found/not-found, List with type filtering+pagination, Update with event publishing, Delete with event+audit, TestConnection no-plugin fallback, CheckHealth no-plugin returns Unknown, GetSupportedProviders empty.",
|
||||
"IntegrationWizardComponent.spec.ts (25 tests)": "Initialization (create, provider step, 6 steps, empty draft). Provider selection by type (registry/scm/ci/host). Step navigation. Provider/auth method selection. Draft management (name, tags). Schedule configuration. Webhook toggle. Preflight checks. Cancel/create outputs."
|
||||
},
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-12T22:45:00Z",
|
||||
"feature": "integration-concierge",
|
||||
"module": "integrations",
|
||||
"testProjects": [
|
||||
"src/Integrations/__Tests/StellaOps.Integrations.Tests/StellaOps.Integrations.Tests.csproj",
|
||||
"src/Web/StellaOps.Web/src/app/features/integrations/integration-wizard.component.spec.ts"
|
||||
],
|
||||
"testFilter": "IntegrationServiceTests + IntegrationWizardComponent.spec.ts",
|
||||
"testsRun": 35,
|
||||
"testsPassed": 35,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"Backend CRUD: CreateAsync creates integration with Pending status, publishes IntegrationCreatedEvent, logs audit trail",
|
||||
"Backend listing: ListAsync supports type/provider/status/search filtering with pagination and sorting",
|
||||
"Backend health: CheckHealthAsync resolves AuthRef, delegates to plugin, tracks health status changes with events",
|
||||
"Backend test connection: TestConnectionAsync resolves AuthRef, delegates to plugin, updates integration status (Active/Failed)",
|
||||
"REST API: full Minimal API at /api/v1/integrations with CRUD, test, health, providers endpoints",
|
||||
"Persistence: PostgresIntegrationRepository with EF Core, soft delete, query builder, health status update",
|
||||
"Frontend wizard: 6-step guided setup (provider, auth, scope, schedule, preflight, review) for 4 integration types",
|
||||
"Provider catalogs: 15 providers across registry (6), scm (3), ci (3), host (3) with type-specific auth methods",
|
||||
"Preflight checks: deterministic sequential execution with type-specific check sets",
|
||||
"Webhook support: toggle with cryptographic secret generation (32 bytes), copy-to-clipboard",
|
||||
"Schedule configuration: manual, interval (15m-24h), cron expression with timezone support",
|
||||
"Hub page: categorized integration listing with provider pills and wizard activation via routing",
|
||||
"Deployment templates: Helm chart, systemd service, offline bundle instructions for host integrations"
|
||||
],
|
||||
"notes": "Backend tests: 10 IntegrationServiceTests (xUnit, all pass). Frontend tests: 25 integration-wizard.component.spec.ts tests (Jasmine). Full Integrations baseline: 46 .NET tests (37+9), 0 failures.",
|
||||
"verdict": "pass"
|
||||
}
|
||||
Reference in New Issue
Block a user