Skip to content

Test Coverage Checklist

github-actions[bot] edited this page Jun 27, 2026 · 1 revision

Test Coverage Checklist

This document provides an overview of the current test coverage in the SolaceCore project, listing classes and functions that are covered by tests versus those that are not.

Summary

Based on the analysis of the codebase, here's a summary of test coverage by package:

Package Coverage Status Notes
actor Partial Basic Actor tests exist, but many components lack coverage
kernel Good Port, BidirectionalPort, and MessageHandlers have tests
lifecycle Good Lifecycle and Disposable have tests
scripting Good Most scripting components have tests
storage Good Most storage components have tests
workflow Minimal Only basic workflow tests exist
util Good LoggerProvider has tests

Detailed Coverage

Actor Package

Tested

  • Actor (basic functionality)
  • SupervisorActor
  • ActorMessage
  • ActorState
  • ActorBuilder
  • Filter (example)
  • TextProcessor (example)
  • ActorMetrics

Not Tested

  • None

Kernel Package

Tested

  • BidirectionalPort
  • Port (connection functionality)
  • PortException
  • MessageHandlers

Not Tested

  • None

Lifecycle Package

Tested

  • Disposable
  • Lifecycle

Not Tested

  • None

Scripting Package

Tested

  • JvmScriptEngine
  • AdvancedJvmScriptEngine
  • DependencyScriptEngine
  • FileScriptStorage
  • FileScriptVersionManager
  • ScriptManager
  • SimpleScriptValidator
  • CompiledScript
  • ScriptActor

Not Tested

  • None

Storage Package

Tested

  • FileActorStateStorage
  • FileConfigurationStorage
  • FileStorage
  • FileStorageManager
  • InMemoryActorStateStorage
  • InMemoryConfigurationStorage
  • InMemoryStorage
  • InMemoryStorageManager
  • TransactionalFileStorage
  • TransactionalInMemoryStorage
  • CachedStorage
  • LRUCachePolicy
  • TTLCachePolicy
  • CompressedStorage
  • GZIPCompressionStrategy
  • AESEncryptionStrategy
  • EncryptedStorage
  • ActorRecoveryManager
  • DelegatingSerializableActorStateStorage
  • ActorStateEnumSerializer
  • ActorStateSerializer
  • ActorStateSerializerRegistry
  • SerializationWrapper

Not Tested

  • Storage (interface)
  • StorageManager (interface)
  • StorageSerializer
  • Transaction
  • TransactionalStorage (interface)
  • CachePolicy (interface)
  • ActorStateSnapshot
  • RecoverableActorStateStorage
  • SerializableActorStateStorage
  • SerializableInMemoryActorStateStorage

Workflow Package

Tested

  • WorkflowManager (basic functionality)

Not Tested

  • Advanced WorkflowManager functionality

Util Package

Tested

  • LoggerProvider

Not Tested

  • None

Recommendations

Based on the current test coverage analysis, here are some recommendations for improving test coverage:

  1. Priority Areas for New Tests:

    • Storage package interfaces and remaining components
    • Actor package (more comprehensive tests)
    • Workflow package (more comprehensive tests)
  2. Enhance Existing Tests:

    • Expand Actor tests to cover more scenarios
    • Add more comprehensive tests for WorkflowManager
  3. Test Infrastructure:

    • Consider implementing a test coverage tool like JaCoCo to automatically track coverage metrics
    • Set up continuous integration to run tests and report coverage
  4. Test Types to Add:

    • Integration tests for interactions between components
    • Performance tests for critical paths
    • Concurrency tests for thread-safe components

Next Steps

  1. ✓ Implement tests for the kernel package components (BidirectionalPort, Port, PortException)
  2. ✓ Add tests for lifecycle components (Disposable, Lifecycle)
  3. ✓ Implement tests for MessageHandlers in the kernel package
  4. ✓ Implement tests for ActorMessage in the actor package
  5. ✓ Implement tests for ActorState in the actor package
  6. ✓ Implement tests for ActorBuilder in the actor package
  7. ✓ Expand actor tests to cover Filter, TextProcessor, and ActorMetrics
  8. ✓ Add tests for CompiledScript and ScriptActor in the scripting package
  9. ✓ Continue with remaining components:
    • Add tests for the remaining untested components in the storage package
    • Add more comprehensive tests for WorkflowManager
    • ✓ Add tests for LoggerProvider in the util package
  10. Set up a test coverage tool like JaCoCo to automatically track coverage metrics

SolaceCore Wiki

Orientation
Runtime
Solace AI
Reference

Clone this wiki locally