Skip to content

[SYS] Feature/global filter and tests#2252

Open
Odyno wants to merge 1 commit into1technophile:developmentfrom
Odyno:feature/global-filter-and-tests
Open

[SYS] Feature/global filter and tests#2252
Odyno wants to merge 1 commit into1technophile:developmentfrom
Odyno:feature/global-filter-and-tests

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
@Odyno
Copy link
Contributor Author

Odyno commented Jan 15, 2026

@1technophile How do you prefer that I do the rebase for this branch, which has been here for a while? Should I rebase it on dev, or should I connect it to the proposed workflow? There are many changes going around now, and I don't understand if the delay is a matter of timing or if there is simply no intention (which is totally understandable, I just need to know) to merge it.
I’ll wait a little longer for more information.

@1technophile
Copy link
Owner

I will test the new workflow in the next days, if I merge it you could rebase this one from dev

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.

2 participants