Refactor and enhance tests for call graph extractors and connection management

- Updated JavaScriptCallGraphExtractorTests to improve naming conventions and test cases for Azure Functions, CLI commands, and socket handling.
- Modified NodeCallGraphExtractorTests to correctly assert exceptions for null inputs.
- Enhanced WitnessModalComponent tests in Angular to use Jasmine spies and improved assertions for path visualization and signature verification.
- Added ConnectionState property for tracking connection establishment time in Router.Common.
- Implemented validation for HelloPayload in ConnectionManager to ensure required fields are present.
- Introduced RabbitMqContainerFixture method for restarting RabbitMQ container during tests.
- Added integration tests for RabbitMq to verify connection recovery after broker restarts.
- Created new BinaryCallGraphExtractorTests, GoCallGraphExtractorTests, and PythonCallGraphExtractorTests for comprehensive coverage of binary, Go, and Python call graph extraction functionalities.
- Developed ConnectionManagerTests to validate connection handling, including rejection of invalid hello messages and proper cleanup on client disconnects.
This commit is contained in:
master
2025-12-19 18:49:36 +02:00
parent 8779e9226f
commit 91f3610b9d
18 changed files with 1119 additions and 69 deletions

View File

@@ -356,6 +356,7 @@ SPRINT_3600_0004 (UI) Integration
|---|---|---|
| 2025-12-17 | Created master sprint from advisory analysis | Agent |
| 2025-12-18 | Marked SPRINT_3600_0002 + SPRINT_3600_0003 as DONE (call graph + drift engine + storage + API); UI sprint remains TODO. | Agent |
| 2025-12-19 | RDRIFT-MASTER-0006 DONE: Created docs/airgap/reachability-drift-airgap-workflows.md with comprehensive air-gap workflow documentation covering offline call graph extraction, drift detection without live endpoints, and portable bundle formats. | Agent |
---

View File

@@ -85,3 +85,11 @@ Implement Node.js call graph extraction using Babel AST parsing via an external
- [x] Express/Fastify/NestJS entrypoints detected
- [x] socket.io/Lambda entrypoints detected
- [x] Node.js sinks matched (child_process, eval)
---
## Execution Log
| Date (UTC) | Update | Owner |
|------------|--------|-------|
| 2025-12-19 | NCG-012 DONE: Created JavaScriptCallGraphExtractorTests.cs with comprehensive unit tests for JsEntrypointClassifier, JsSinkMatcher, and extractor properties. Tests cover HTTP handlers, Lambda, CLI, GraphQL, NestJS patterns, and sink matching for CmdExec, SqlRaw, UnsafeDeser, PathTraversal, CodeInjection. All tests pass. | Agent |

View File

@@ -242,8 +242,8 @@ This sprint addresses architectural alignment between StellaOps and the referenc
| 1.2 Update Package References | DONE | Updated to CycloneDX.Core 10.0.2 (kept 1.6 spec) |
| 1.3 Update Specification Version | BLOCKED | Awaiting CycloneDX.Core v1_7 support |
| 1.4 Update Media Type Constants | BLOCKED | Awaiting CycloneDX.Core v1_7 support |
| 1.5 Update Documentation | TODO | 2 docs files |
| 1.6 Integration Testing | TODO | Scanner.Emit.Tests |
| 1.5 Update Documentation | BLOCKED | Awaiting CycloneDX.Core v1_7 support; docs should reflect actual code |
| 1.6 Integration Testing | DONE | Scanner.Emit.Tests: 35/35 passed (CycloneDX 1.6) |
| 1.7 Validate Acceptance Criteria | BLOCKED | Awaiting 1.7 support |
| 2.1 Create Signal Mapping Reference | DONE | `docs/architecture/signal-contract-mapping.md` (965 lines) |
| 2.2 Document Idempotency Mechanisms | DONE | Section 4 in signal-contract-mapping.md |
@@ -272,6 +272,7 @@ This sprint addresses architectural alignment between StellaOps and the referenc
| 2025-12-19 | Fixed Scanner.CallGraph build errors (cross-sprint fix): Extended SinkCategory enum, added EntrypointType.Lambda/EventHandler, created shared CallGraphEdgeComparer, fixed all language extractors (Java/Go/JS/Python). | Agent |
| 2025-12-19 | Fixed additional build errors: PHP/Ruby/Binary extractors accessibility + SinkCategory values. Added BinaryEntrypointClassifier. All tests pass (35/35). | Agent |
| 2025-12-19 | Task 3.3 complete: Added EPSS versioning clarification section to docs/guides/epss-integration-v4.md explaining model_date vs. formal version numbers. | Agent |
| 2025-12-19 | Task 1.6 DONE: Ran Scanner.Emit.Tests integration tests - 35/35 passed for CycloneDX 1.6 code path. Task 1.5 set BLOCKED pending 1.7 code upgrade. | Agent |
---