Skip to content

Conversation

@Odyno
Copy link
Contributor

@Odyno Odyno commented Nov 27, 2025

Description:

  • Add Test structure + Workflow CI
  • Abstraction Storage Logics
  • Extracted Logs Tool, e Messages config for native tests
  • Introduced Filter logic + Docs + Tests
  • Update and manage filters via MQTT commands

Test Documentation: https://github.com/Odyno/OpenMQTTGateway/tree/feature/global-filter-and-tests/test
Filter Documentation: https://github.com/Odyno/OpenMQTTGateway/blob/feature/global-filter-and-tests/docs/use/gateway.md#filter-messages

Checklist:

  • The pull request is done against dev
  • Only one feature/fix was added per PR and the code change compiles without warnings
  • I accept the DCO.

@Odyno Odyno force-pushed the feature/global-filter-and-tests branch 4 times, most recently from ac808bd to 21dbbce Compare December 4, 2025 15:08
- Added Global Filter features
- Implemented basic tests
- Created test helpers for common testing utilities, including JSON generation and MQTT topic creation.
- Developed integration tests for module interactions, MQTT message flow, and configuration management.
- Added mock implementations for unit testing, including IStorage and RFBaseGateway.
- Introduced Command actions and status returns
- Added comprehensive test cases for block and pass list functionalities, including edge cases and ignore flags.
- Included wildcard pattern matching tests for both pass and block lists.
- Impruved Storage management and logging in core components; add NoopStorage for non-ESP32 targets

Refactor logging in Filter and MessageFilter classes; improve message filtering logic in pub function

feat: Implement topic filtering functionality in Filter and MessageFilter classes

- Added methods to add, remove, and check for topic filters in the Filter class.
- Introduced a constant for the topic filter key to optimize memory usage.
- Enhanced MessageFilter to handle topic rules from incoming commands.
- Implemented logic to check allowed topics based on pass and block lists.
- Added comprehensive unit tests for topic filtering, including edge cases and wildcard patterns.
- Updated existing tests to ensure compatibility with new filtering logic.
@Odyno Odyno force-pushed the feature/global-filter-and-tests branch from 21dbbce to 883dda8 Compare December 10, 2025 21:08
@Odyno Odyno marked this pull request as ready for review December 27, 2025 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant