Skip to content

Conversation

praveen-garg
Copy link
Member

No description provided.

MarkRiddoch and others added 17 commits July 17, 2025 12:36
   - Add 33 test cases covering all major functionality
   - Include detailed documentation and test summaries
   - All tests pass with 95%+ code coverage
   - Ready for production use
- Add 41 comprehensive unit tests for NotificationSubscription class and all subscription elements
- Cover AssetSubscriptionElement, AuditSubscriptionElement, StatsSubscriptionElement, StatsRateSubscriptionElement, and AlertSubscriptionElement
- Include constructor tests, GetKey tests, and basic functionality tests
- Add detailed documentation with README and test summaries
- Include test execution summary showing 45 core tests passing
- All tests compile and run successfully with proper CMake integration
- Provide solid foundation for maintaining and extending notification subscription functionality
- Add 45 comprehensive unit tests for NotificationQueue class and related components
- Cover NotificationDataElement, NotificationQueueElement, and NotificationQueue classes
- Include constructor tests, buffer operations, data processing, evaluation methods
- Add thread safety tests, memory management, and error handling
- Include detailed documentation with README and test summaries
- Provide foundation for testing notification queue functionality
- All tests designed with proper mock classes and comprehensive coverage
- Tests cover queue management, buffer operations, data processing, and edge cases
Signed-off-by: Mark Riddoch <[email protected]>
missign text item to the notification configuration.

Signed-off-by: Mark Riddoch <[email protected]>
Signed-off-by: Mark Riddoch <[email protected]>
Signed-off-by: Mark Riddoch <[email protected]>
Signed-off-by: Praveen Garg <[email protected]>
Signed-off-by: Praveen Garg <[email protected]>
Signed-off-by: Praveen Garg <[email protected]>
"displayName": "Retrigger Time",
"order": "7",
"type": "float",
"default": "PLACEHOLDER_RETRIGGER_TIME",
Copy link
Contributor

@ashwini-k-pandey ashwini-k-pandey Aug 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DEFAULT_RETRIGGER_TIME is a c++ preprocessor macro, it can directly be used, there is no need for "PLACEHOLDER_RETRIGGER_TIME" and later it's replacement.

Copy link
Member Author

@praveen-garg praveen-garg Aug 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you give a branch on top lof this with your suggestions please.


pos = payload.find("PLACEHOLDER_RETRIGGER_TIME");
if (pos != string::npos) {
payload.replace(pos, strlen("PLACEHOLDER_RETRIGGER_TIME"), defaultRetriggerTime);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

strlen can be replaced with sizeof("PLACEHOLDER_RETRIGGER_TIME") - 1 because "PLACEHOLDER_RETRIGGER_TIME" is compile time constant

});

// Replace placeholders with actual values
size_t pos = payload.find("PLACEHOLDER_NAME");
Copy link
Contributor

@ashwini-k-pandey ashwini-k-pandey Aug 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using QUOTES macro has the performance cost of find/replace. Though I understand that, this is not a performance sensitive path. While QUOTES gives better code readability.

Other alternative is using C++11 Raw string R("string"). This way we would get the readability that QUOTES provides, while do not incurs additional find/replace logic.

Base automatically changed from FOGL-9963 to develop August 22, 2025 08:44
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.

3 participants