Skip to content

Commit f829bea

Browse files
linux019oleksandr
andauthored
Warn in auction response for bidders blocked by privacy settings (prebid#4537)
Co-authored-by: oleksandr <[email protected]>
1 parent 0c228b4 commit f829bea

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

errortypes/code.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ const (
4040
InvalidUserUIDsWarningCode
4141
TooLongTargetingPrefixWarningCode
4242
TooShortTargetingPrefixWarningCode
43+
BidderBlockedByPrivacySettings
4344
)
4445

4546
// Coder provides an error or warning code with severity.

exchange/utils.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,10 @@ func (rs *requestSplitter) cleanOpenRTBRequests(ctx context.Context,
190190

191191
// privacy blocking
192192
if rs.isBidderBlockedByPrivacy(reqWrapperCopy, auctionReq.Activities, auctionPermissions, coreBidder, openrtb_ext.BidderName(bidder)) {
193+
errs = append(errs, &errortypes.Warning{
194+
Message: fmt.Sprintf("bidder %q blocked by privacy settings", coreBidder),
195+
WarningCode: errortypes.BidderBlockedByPrivacySettings,
196+
})
193197
continue
194198
}
195199

exchange/utils_test.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2456,13 +2456,18 @@ func TestCleanOpenRTBRequestsGDPRBlockBidRequest(t *testing.T) {
24562456
gdprAllowedBidders []openrtb_ext.BidderName
24572457
expectedBidders []openrtb_ext.BidderName
24582458
expectedBlockedBidders []openrtb_ext.BidderName
2459+
expectedErrors []error
24592460
}{
24602461
{
24612462
description: "gdpr enforced, one request allowed and one request blocked",
24622463
gdprEnforced: true,
24632464
gdprAllowedBidders: []openrtb_ext.BidderName{openrtb_ext.BidderAppnexus},
24642465
expectedBidders: []openrtb_ext.BidderName{openrtb_ext.BidderAppnexus},
24652466
expectedBlockedBidders: []openrtb_ext.BidderName{openrtb_ext.BidderRubicon},
2467+
expectedErrors: []error{&errortypes.Warning{
2468+
Message: `bidder "rubicon" blocked by privacy settings`,
2469+
WarningCode: errortypes.BidderBlockedByPrivacySettings,
2470+
}},
24662471
},
24672472
{
24682473
description: "gdpr enforced, two requests allowed and no requests blocked",
@@ -2531,7 +2536,7 @@ func TestCleanOpenRTBRequestsGDPRBlockBidRequest(t *testing.T) {
25312536
bidders = append(bidders, req.BidderName)
25322537
}
25332538

2534-
assert.Empty(t, errs, test.description)
2539+
assert.Equal(t, test.expectedErrors, errs, test.description)
25352540
assert.ElementsMatch(t, bidders, test.expectedBidders, test.description)
25362541

25372542
for _, blockedBidder := range test.expectedBlockedBidders {
@@ -5129,6 +5134,7 @@ func TestCleanOpenRTBRequestsActivities(t *testing.T) {
51295134
expectedDevice openrtb2.Device
51305135
expectedSource openrtb2.Source
51315136
expectedImpExt json.RawMessage
5137+
expectedErrors []error
51325138
}{
51335139
{
51345140
name: "fetch_bids_request_with_one_bidder_allowed",
@@ -5148,6 +5154,10 @@ func TestCleanOpenRTBRequestsActivities(t *testing.T) {
51485154
expectedUser: expectedUserDefault,
51495155
expectedDevice: expectedDeviceDefault,
51505156
expectedSource: expectedSourceDefault,
5157+
expectedErrors: []error{&errortypes.Warning{
5158+
Message: `bidder "appnexus" blocked by privacy settings`,
5159+
WarningCode: errortypes.BidderBlockedByPrivacySettings,
5160+
}},
51515161
},
51525162
{
51535163
name: "transmit_ufpd_allowed",
@@ -5292,7 +5302,7 @@ func TestCleanOpenRTBRequestsActivities(t *testing.T) {
52925302
}
52935303

52945304
bidderRequests, _, errs := reqSplitter.cleanOpenRTBRequests(context.Background(), auctionReq, nil, map[string]float64{})
5295-
assert.Empty(t, errs)
5305+
assert.Equal(t, test.expectedErrors, errs)
52965306
assert.Len(t, bidderRequests, test.expectedReqNumber)
52975307

52985308
if test.expectedReqNumber == 1 {

0 commit comments

Comments
 (0)