mirror of
https://github.com/redis/go-redis.git
synced 2025-07-29 17:41:15 +03:00
test: add comprehensive test coverage for pushnotif package
- Add 100% test coverage for Registry (NewRegistry, RegisterHandler, UnregisterHandler, GetHandler, GetRegisteredPushNotificationNames) - Add 100% test coverage for Processor (NewProcessor, GetHandler, RegisterHandler, UnregisterHandler) - Add 100% test coverage for VoidProcessor (NewVoidProcessor, GetHandler, RegisterHandler, UnregisterHandler, ProcessPendingNotifications) - Add comprehensive tests for ProcessPendingNotifications with mock reader testing all code paths - Add missing UnregisterHandler method to VoidProcessor - Remove HandleNotification method reference from RegistryInterface - Create TestHandler, MockReader, and test helper functions for comprehensive testing Test coverage achieved: - Registry: 100% coverage on all methods - VoidProcessor: 100% coverage on all methods - Processor: 100% coverage except ProcessPendingNotifications (complex RESP3 parsing) - Overall package coverage: 71.7% (limited by complex protocol parsing logic) Test scenarios covered: - All constructor functions and basic operations - Handler registration with duplicate detection - Protected handler unregistration prevention - Empty and invalid notification handling - Error handling for all edge cases - Mock reader testing for push notification processing logic - Real proto.Reader testing for basic scenarios Benefits: - Comprehensive test coverage for all public APIs - Edge case testing for error conditions - Mock-based testing for complex protocol logic - Regression prevention for core functionality - Documentation through test examples
This commit is contained in:
@ -26,5 +26,4 @@ type RegistryInterface interface {
|
||||
UnregisterHandler(pushNotificationName string) error
|
||||
GetHandler(pushNotificationName string) Handler
|
||||
GetRegisteredPushNotificationNames() []string
|
||||
HandleNotification(ctx context.Context, notification []interface{}) bool
|
||||
}
|
||||
|
Reference in New Issue
Block a user