diff --git a/config/bidderinfo.go b/config/bidderinfo.go index ce3eb57e..a8a7dbd0 100644 --- a/config/bidderinfo.go +++ b/config/bidderinfo.go @@ -803,8 +803,8 @@ func (s *Syncer) Override(original *Syncer) *Syncer { copy.ExternalURL = s.ExternalURL } - if s.SupportCORS != nil { - copy.SupportCORS = s.SupportCORS + if s.Enabled != nil { + copy.Enabled = s.Enabled } return © diff --git a/config/bidderinfo_test.go b/config/bidderinfo_test.go index 785b85bc..1a9c2b42 100644 --- a/config/bidderinfo_test.go +++ b/config/bidderinfo_test.go @@ -1479,6 +1479,30 @@ func TestSyncerOverride(t *testing.T) { givenOverride: &Syncer{ExternalURL: "overrideExternalURL"}, expected: &Syncer{Key: "originalKey", ExternalURL: "overrideExternalURL"}, }, + { + description: "Override Enabled - True To False", + givenOriginal: &Syncer{Key: "originalKey", Enabled: ptrutil.ToPtr(true)}, + givenOverride: &Syncer{Enabled: ptrutil.ToPtr(false)}, + expected: &Syncer{Key: "originalKey", Enabled: ptrutil.ToPtr(false)}, + }, + { + description: "Override Enabled - False To True", + givenOriginal: &Syncer{Key: "originalKey", Enabled: ptrutil.ToPtr(false)}, + givenOverride: &Syncer{Enabled: ptrutil.ToPtr(true)}, + expected: &Syncer{Key: "originalKey", Enabled: ptrutil.ToPtr(true)}, + }, + { + description: "Override Enabled - Nil Preserves Original", + givenOriginal: &Syncer{Key: "originalKey", Enabled: ptrutil.ToPtr(true)}, + givenOverride: &Syncer{}, + expected: &Syncer{Key: "originalKey", Enabled: ptrutil.ToPtr(true)}, + }, + { + description: "Override Enabled - Set On Nil Original", + givenOriginal: nil, + givenOverride: &Syncer{Enabled: ptrutil.ToPtr(false)}, + expected: &Syncer{Enabled: ptrutil.ToPtr(false)}, + }, } for _, test := range testCases { diff --git a/config/config.go b/config/config.go index 02153c24..07ef7c3d 100644 --- a/config/config.go +++ b/config/config.go @@ -1441,6 +1441,7 @@ func setBidderDefaults(v *viper.Viper, bidder string) { v.BindEnv(adapterCfgPrefix + ".openrtb.version") v.BindEnv(adapterCfgPrefix + ".openrtb.gpp-supported") + v.BindEnv(adapterCfgPrefix + ".usersync.enabled") v.BindEnv(adapterCfgPrefix + ".usersync.key") v.BindEnv(adapterCfgPrefix + ".usersync.default") v.BindEnv(adapterCfgPrefix + ".usersync.iframe.url") diff --git a/config/config_test.go b/config/config_test.go index 7d7ebe91..a82db109 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -1048,11 +1048,18 @@ func TestUserSyncFromEnv(t *testing.T) { defer os.Unsetenv("PBS_ADAPTERS_BIDDER2_USERSYNC_IFRAME_URL") } + if oldval, ok := os.LookupEnv("PBS_ADAPTERS_BIDDER2_USERSYNC_ENABLED"); ok { + defer os.Setenv("PBS_ADAPTERS_BIDDER2_USERSYNC_ENABLED", oldval) + } else { + defer os.Unsetenv("PBS_ADAPTERS_BIDDER2_USERSYNC_ENABLED") + } + // set new os.Setenv("PBS_ADAPTERS_BIDDER1_USERSYNC_REDIRECT_URL", "http://some.url/sync?redirect={{.RedirectURL}}") os.Setenv("PBS_ADAPTERS_BIDDER1_USERSYNC_REDIRECT_USER_MACRO", "[UID]") os.Setenv("PBS_ADAPTERS_BIDDER1_USERSYNC_SUPPORT_CORS", "true") os.Setenv("PBS_ADAPTERS_BIDDER2_USERSYNC_IFRAME_URL", "http://somedifferent.url/sync?redirect={{.RedirectURL}}") + os.Setenv("PBS_ADAPTERS_BIDDER2_USERSYNC_ENABLED", "false") cfg, _ := newDefaultConfig(t) @@ -1063,7 +1070,7 @@ func TestUserSyncFromEnv(t *testing.T) { assert.Equal(t, "http://somedifferent.url/sync?redirect={{.RedirectURL}}", cfg.BidderInfos["bidder2"].Syncer.IFrame.URL) assert.Nil(t, cfg.BidderInfos["bidder2"].Syncer.Redirect) - assert.Nil(t, cfg.BidderInfos["bidder2"].Syncer.SupportCORS) + assert.Equal(t, ptrutil.ToPtr(false), cfg.BidderInfos["bidder2"].Syncer.Enabled) } func TestBidderInfoFromEnv(t *testing.T) {