diff --git a/pkg/config/polling_manager.go b/pkg/config/polling_manager.go index 775b17dd6..014f7e84c 100644 --- a/pkg/config/polling_manager.go +++ b/pkg/config/polling_manager.go @@ -206,9 +206,11 @@ func NewPollingProjectConfigManager(sdkKey string, pollingMangerOptions ...Optio } for _, handler := range pollingProjectConfigManager.projectConfigUpdateHandlers { - if _, err := pollingProjectConfigManager.OnProjectConfigUpdate(handler); err != nil { - break + if _, err := pollingProjectConfigManager.OnProjectConfigUpdate(handler); err == nil { + // To bypass linter warnings for ignoring error + continue } + break } initDatafile := pollingProjectConfigManager.initDatafile diff --git a/pkg/config/polling_manager_test.go b/pkg/config/polling_manager_test.go index 8da24ea29..170e7b7f1 100644 --- a/pkg/config/polling_manager_test.go +++ b/pkg/config/polling_manager_test.go @@ -263,3 +263,16 @@ func TestDatafileTemplate(t *testing.T) { assert.Equal(t, datafileTemplate, configManager.datafileURLTemplate) } + +func TestNotificationHandlers(t *testing.T) { + + projectConfigUpdateCallback := func(notification notification.ProjectConfigUpdateNotification) { + } + + sdkKey := "test_sdk_key" + exeCtx := utils.NewCancelableExecutionCtx() + configManager := NewPollingProjectConfigManager(sdkKey, WithNotificationHandlers(projectConfigUpdateCallback)) + configManager.Start(sdkKey, exeCtx) + + assert.Equal(t, len(configManager.projectConfigUpdateHandlers), 1) +}