Initial implementation of HTTP Sender Plugin following TDD methodology with hexagonal architecture. All 313 tests passing (0 failures). This commit adds: - Complete domain model and port interfaces - All adapter implementations (HTTP, gRPC, file logging, config) - Application services (data collection, transmission, backpressure) - Comprehensive test suite with 18 integration tests Test fixes applied during implementation: - Fix base64 encoding validation in DataCollectionServiceIntegrationTest - Fix exception type handling in IConfigurationPortTest - Fix CompletionException unwrapping in IHttpPollingPortTest - Fix sequential batching in DataTransmissionServiceIntegrationTest - Add test adapter failure simulation for reconnection tests - Use adapter counters for gRPC verification Files added: - pom.xml with all dependencies (JUnit 5, Mockito, WireMock, gRPC, Jackson) - src/main/java: Domain model, ports, adapters, application services - src/test/java: Unit tests, integration tests, test utilities
64 lines
12 KiB
CSV
64 lines
12 KiB
CSV
Req ID,Category,Priority,Description,Component,Test Class,Implementation Status,Test Status,Line Coverage,Branch Coverage,Phase,Sprint,Story Points,Assigned Developer,Assigned Tester,Start Date,Target Date,Completion Date,Blocker,Notes
|
|
Req-FR-1,Functional,High,Startup sequence orchestration,HspApplication.java,HspApplicationTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 4,13,-,-,-,-,-,,Foundation required
|
|
Req-FR-2,Functional,High,Load configuration on startup,ConfigurationManager.java,ConfigurationManagerTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Configuration model required
|
|
Req-FR-3,Functional,High,Validate configuration parameters,ConfigurationValidator.java,ConfigurationValidatorTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Configuration model required
|
|
Req-FR-4,Functional,High,Establish gRPC stream on startup,GrpcStreamAdapter.java,GrpcStreamAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,13,-,-,-,-,-,,gRPC port interface required
|
|
Req-FR-5,Functional,High,gRPC retry logic (5s intervals),GrpcStreamAdapter.java,GrpcStreamAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,13,-,-,-,-,-,,gRPC adapter required
|
|
Req-FR-6,Functional,High,Wait for gRPC before HTTP polling,HspApplication.java,HspApplicationTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 4,13,-,-,-,-,-,,Application orchestration
|
|
Req-FR-7,Functional,High,Start HTTP polling after gRPC ready,HspApplication.java,HspApplicationTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 4,13,-,-,-,-,-,,Application orchestration
|
|
Req-FR-8,Functional,High,Start health check server,HealthCheckController.java,HealthCheckControllerTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 4,8,-,-,-,-,-,,Health check adapter required
|
|
Req-FR-9,Functional,High,Load hsp-config.json from cwd,ConfigurationFileAdapter.java,ConfigurationFileAdapterTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,5,-,-,-,-,-,,Configuration port required
|
|
Req-FR-10,Functional,High,Validate all configuration parameters,ConfigurationValidator.java,ConfigurationValidatorTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Configuration model required
|
|
Req-FR-11,Functional,High,Log validation errors,FileLoggingAdapter.java,FileLoggingAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,3,-,-,-,-,-,,Logging port required
|
|
Req-FR-12,Functional,High,Terminate on invalid config (exit 1),ConfigurationManager.java,ConfigurationManagerTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Configuration validation required
|
|
Req-FR-13,Functional,High,Configuration value validation rules,ConfigurationValidator.java,ConfigurationValidatorTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Configuration model required
|
|
Req-FR-14,Functional,High,Poll configured HTTP endpoints,DataCollectionService.java,DataCollectionServiceTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,13,-,-,-,-,-,,HTTP polling port required
|
|
Req-FR-15,Functional,High,Virtual thread pool for polling,DataCollectionService.java,DataCollectionServiceTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,13,-,-,-,-,-,,Java 25 virtual threads
|
|
Req-FR-16,Functional,High,Configurable polling intervals with rate limiting,RateLimitedHttpPollingAdapter.java,RateLimitedHttpPollingAdapterTest.java,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,3,-,-,-,-,-,,Enhancement - rate limiting
|
|
Req-FR-17,Functional,High,HTTP request retry (3x 5s intervals),HttpPollingAdapter.java,HttpPollingAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,13,-,-,-,-,-,,HTTP adapter required
|
|
Req-FR-18,Functional,Medium,Linear and exponential backoff (5s to 300s),ExponentialBackoffAdapter.java,ExponentialBackoffAdapterTest.java,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,5,-,-,-,-,-,,Enhancement - backoff strategies
|
|
Req-FR-19,Functional,Medium,Log HTTP errors,FileLoggingAdapter.java,FileLoggingAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,3,-,-,-,-,-,,Logging adapter required
|
|
Req-FR-20,Functional,High,HTTP request timeout (30s),HttpPollingAdapter.java,HttpPollingAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,13,-,-,-,-,-,,HTTP adapter required
|
|
Req-FR-21,Functional,High,Response size limit (1MB),DataCollectionService.java,DataCollectionServiceTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,13,-,-,-,-,-,,Data validation logic
|
|
Req-FR-22,Functional,High,DiagnosticData structure (url file_data timestamp),DiagnosticData.java,DiagnosticDataTest.java,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,3,-,-,-,-,-,,Domain model
|
|
Req-FR-23,Functional,High,JSON serialization with Base64 encoding,DiagnosticData.java,DiagnosticDataTest.java,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,3,-,-,-,-,-,,Jackson serialization
|
|
Req-FR-24,Functional,High,Store data in circular buffer,DataCollectionService.java,DataCollectionServiceTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,13,-,-,-,-,-,,Buffer manager required
|
|
Req-FR-25,Functional,High,Single consumer thread for transmission,DataTransmissionService.java,DataTransmissionServiceTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,13,-,-,-,-,-,,Transmission service orchestration
|
|
Req-FR-26,Functional,High,Circular buffer (300 capacity) with backpressure,BufferManager.java,BufferManagerTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Enhancement - backpressure controller
|
|
Req-FR-27,Functional,High,FIFO overflow (discard oldest),BufferManager.java,BufferManagerTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Thread-safe implementation
|
|
Req-FR-28,Functional,High,Batch accumulation (4MB or 1s limit),DataTransmissionService.java,DataTransmissionServiceTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,13,-,-,-,-,-,,Transmission batching logic
|
|
Req-FR-29,Functional,High,gRPC bidirectional stream,GrpcStreamAdapter.java,GrpcStreamAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,13,-,-,-,-,-,,Protocol Buffers definition
|
|
Req-FR-30,Functional,High,Set receiver_id = 99 in gRPC messages,GrpcStreamAdapter.java,GrpcStreamAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,13,-,-,-,-,-,,gRPC message construction
|
|
Req-FR-31,Functional,High,Maintain stream connection,GrpcStreamAdapter.java,GrpcStreamAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,13,-,-,-,-,-,,Stream lifecycle management
|
|
Req-FR-32,Functional,High,Reconnect on stream failure (5s retry),GrpcStreamAdapter.java,GrpcStreamAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,13,-,-,-,-,-,,Reconnection logic
|
|
Req-FR-33,Functional,High,Log transmission errors,FileLoggingAdapter.java,FileLoggingAdapterTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 3,3,-,-,-,-,-,,Logging integration
|
|
Req-NFR-1,Non-Functional,High,Support 1000 concurrent endpoints,DataCollectionService.java,PerformanceConcurrentEndpointsTest.java,Not Started,Not Started,0%,0%,Phase 4,Sprint 5,13,-,-,-,-,-,,Performance test required
|
|
Req-NFR-2,Non-Functional,High,Memory usage < 4096MB,All components,PerformanceMemoryUsageTest.java,Not Started,Not Started,0%,0%,Phase 4,Sprint 5,13,-,-,-,-,-,,Memory profiling required
|
|
Req-NFR-3,Non-Functional,High,90% uptime reliability,All components,ReliabilityTest.java,Not Started,Not Started,0%,0%,Phase 4,Sprint 5,8,-,-,-,-,-,,Reliability test suite
|
|
Req-NFR-4,Non-Functional,High,Java 25 with virtual threads,All components,All tests,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,2,-,-,-,-,-,,Project setup requirement
|
|
Req-NFR-5,Non-Functional,Medium,No external dependencies (embedded),pom.xml,Build verification,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,2,-,-,-,-,-,,Maven configuration
|
|
Req-NFR-6,Non-Functional,High,Configuration via JSON file,ConfigurationFileAdapter.java,ConfigurationFileAdapterTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,5,-,-,-,-,-,,Configuration loading
|
|
Req-NFR-7,Non-Functional,High,Health check endpoint (localhost:8080),HealthCheckController.java,HealthCheckControllerTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 4,8,-,-,-,-,-,,HTTP server setup
|
|
Req-NFR-8,Non-Functional,High,Health check response format (6 fields),HealthCheckResponse.java,HealthCheckResponseTest.java,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,3,-,-,-,-,-,,Domain model
|
|
Req-Arch-1,Architectural,High,Hexagonal architecture pattern,All components,Architecture tests,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,8,-,-,-,-,-,,Design pattern verification
|
|
Req-Arch-2,Architectural,High,Primary ports (3): Config Health Lifecycle,Port interfaces,Port contract tests,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,8,-,-,-,-,-,,Port interface definitions
|
|
Req-Arch-3,Architectural,High,Secondary ports (5): HTTP gRPC Logging Buffer Stats,Port interfaces,Port contract tests,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,8,-,-,-,-,-,,Port interface definitions
|
|
Req-Arch-4,Architectural,High,Port-Adapter pattern implementation,All adapters,Adapter tests,Not Started,Not Started,0%,0%,Phase 3,Sprint 3-4,13,-,-,-,-,-,,Adapter implementation pattern
|
|
Req-Arch-5,Architectural,Medium,Dependency injection for ports,HspApplication.java,HspApplicationTest.java,Not Started,Not Started,0%,0%,Phase 3,Sprint 4,13,-,-,-,-,-,,DI framework or manual
|
|
Req-Arch-6,Architectural,High,Virtual thread pools for concurrency,DataCollectionService.java,VirtualThreadTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Java 25 feature
|
|
Req-Arch-7,Architectural,High,Thread-safe buffer access,BufferManager.java,BufferManagerTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,8,-,-,-,-,-,,Concurrent stress tests
|
|
Req-Arch-8,Architectural,High,Atomic statistics tracking,CollectionStatistics.java,CollectionStatisticsTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,3,-,-,-,-,-,,Atomic operations
|
|
Req-Test-1,Testing,High,Unit tests with mocks (Mockito WireMock),All components,All unit tests,Not Started,Not Started,0%,0%,Phase 1-3,Sprint 1-4,21,-,-,-,-,-,,Continuous throughout development
|
|
Req-Test-2,Testing,High,Integration tests (WireMock gRPC test server),Integration tests,Integration test suite,Not Started,Not Started,0%,0%,Phase 4,Sprint 5,13,-,-,-,-,-,,End-to-end scenarios
|
|
Req-Test-3,Testing,High,95% line 90% branch coverage,All components,JaCoCo coverage report,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,8,-,-,-,-,-,,Coverage enforcement in CI/CD
|
|
Req-Test-4,Testing,High,Performance and stress tests,Performance tests,Performance test suite,Not Started,Not Started,0%,0%,Phase 4,Sprint 5,13,-,-,-,-,-,,JMH benchmarks
|
|
Req-Norm-1,Normative,High,ISO-9001 compliance (quality management),All components,ComplianceIso9001Test.java,Not Started,Not Started,0%,0%,Phase 4,Sprint 5,5,-,-,-,-,-,,Quality metrics tracking
|
|
Req-Norm-2,Normative,High,EN 50716 compliance (95% MC/DC coverage),Safety-critical components,ComplianceEn50716Test.java,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,8,-,-,-,-,-,,MC/DC tests for critical paths
|
|
Req-Norm-3,Normative,High,Audit logging for compliance,FileLoggingAdapter.java,ComplianceAuditLoggingTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,5,-,-,-,-,-,,Comprehensive logging
|
|
Req-Norm-4,Normative,High,Error detection and logging,FileLoggingAdapter.java,ComplianceErrorDetectionTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,5,-,-,-,-,-,,Error handling coverage
|
|
Req-Norm-5,Normative,Medium,Quality metrics tracking,CollectionStatistics.java,CollectionStatisticsTest.java,Not Started,Not Started,0%,0%,Phase 2,Sprint 2,3,-,-,-,-,-,,Metrics aggregation
|
|
Req-Norm-6,Normative,High,Requirements traceability (@RequirementTrace),All components,Traceability verification,Not Started,Not Started,0%,0%,Phase 1,Sprint 1,3,-,-,-,-,-,,Annotations in code
|
|
Req-US-1,User Story,High,Collector user: start service and collect data,HspApplication.java,E2EStartupAndCollectionTest.java,Not Started,Not Started,0%,0%,Phase 5,Sprint 6,13,-,-,-,-,-,,End-to-end user scenario
|
|
Req-US-2,User Story,High,Operator: monitor health and status,HealthCheckController.java,E2EHealthMonitoringTest.java,Not Started,Not Started,0%,0%,Phase 5,Sprint 6,8,-,-,-,-,-,,Health check validation
|
|
Req-US-3,User Story,High,DevOps: deploy and configure service,Deployment artifacts,DeploymentTest.java,Not Started,Not Started,0%,0%,Phase 5,Sprint 6,8,-,-,-,-,-,,Deployment validation
|