@@ -138,8 +138,81 @@ func TestDefaults(t *testing.T) {
138
138
cmpStrings (t , "stored_requests.filesystem.directorypath" , "./stored_requests/data/by_id" , cfg .StoredRequests .Files .Path )
139
139
cmpBools (t , "auto_gen_source_tid" , cfg .AutoGenSourceTID , true )
140
140
cmpBools (t , "generate_bid_id" , cfg .GenerateBidID , false )
141
- cmpBools (t , "gdpr.tcf2.purpose_one_treatment.enabled" , true , cfg .GDPR .TCF2 .PurposeOneTreatment .Enabled )
142
- cmpBools (t , "gdpr.tcf2.purpose_one_treatment.access_allowed" , true , cfg .GDPR .TCF2 .PurposeOneTreatment .AccessAllowed )
141
+
142
+ //Assert purpose VendorExceptionMap hash tables were built correctly
143
+ expectedTCF2 := TCF2 {
144
+ Enabled : true ,
145
+ Purpose1 : TCF2Purpose {
146
+ Enabled : true ,
147
+ EnforceVendors : true ,
148
+ VendorExceptions : []openrtb_ext.BidderName {},
149
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
150
+ },
151
+ Purpose2 : TCF2Purpose {
152
+ Enabled : true ,
153
+ EnforceVendors : true ,
154
+ VendorExceptions : []openrtb_ext.BidderName {},
155
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
156
+ },
157
+ Purpose3 : TCF2Purpose {
158
+ Enabled : true ,
159
+ EnforceVendors : true ,
160
+ VendorExceptions : []openrtb_ext.BidderName {},
161
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
162
+ },
163
+ Purpose4 : TCF2Purpose {
164
+ Enabled : true ,
165
+ EnforceVendors : true ,
166
+ VendorExceptions : []openrtb_ext.BidderName {},
167
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
168
+ },
169
+ Purpose5 : TCF2Purpose {
170
+ Enabled : true ,
171
+ EnforceVendors : true ,
172
+ VendorExceptions : []openrtb_ext.BidderName {},
173
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
174
+ },
175
+ Purpose6 : TCF2Purpose {
176
+ Enabled : true ,
177
+ EnforceVendors : true ,
178
+ VendorExceptions : []openrtb_ext.BidderName {},
179
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
180
+ },
181
+ Purpose7 : TCF2Purpose {
182
+ Enabled : true ,
183
+ EnforceVendors : true ,
184
+ VendorExceptions : []openrtb_ext.BidderName {},
185
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
186
+ },
187
+ Purpose8 : TCF2Purpose {
188
+ Enabled : true ,
189
+ EnforceVendors : true ,
190
+ VendorExceptions : []openrtb_ext.BidderName {},
191
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
192
+ },
193
+ Purpose9 : TCF2Purpose {
194
+ Enabled : true ,
195
+ EnforceVendors : true ,
196
+ VendorExceptions : []openrtb_ext.BidderName {},
197
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
198
+ },
199
+ Purpose10 : TCF2Purpose {
200
+ Enabled : true ,
201
+ EnforceVendors : true ,
202
+ VendorExceptions : []openrtb_ext.BidderName {},
203
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
204
+ },
205
+ SpecialPurpose1 : TCF2Purpose {
206
+ Enabled : true ,
207
+ VendorExceptions : []openrtb_ext.BidderName {},
208
+ VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{},
209
+ },
210
+ PurposeOneTreatment : TCF2PurposeOneTreatment {
211
+ Enabled : true ,
212
+ AccessAllowed : true ,
213
+ },
214
+ }
215
+ assert .Equal (t , expectedTCF2 , cfg .GDPR .TCF2 , "gdpr.tcf2" )
143
216
}
144
217
145
218
var fullConfig = []byte (`
@@ -149,25 +222,35 @@ gdpr:
149
222
non_standard_publishers: ["siteID","fake-site-id","appID","agltb3B1Yi1pbmNyDAsSA0FwcBiJkfIUDA"]
150
223
tcf2:
151
224
purpose1:
225
+ enforce_vendors: false
152
226
vendor_exceptions: ["foo1a", "foo1b"]
153
227
purpose2:
154
228
enabled: false
229
+ enforce_vendors: false
155
230
vendor_exceptions: ["foo2"]
156
231
purpose3:
232
+ enforce_vendors: false
157
233
vendor_exceptions: ["foo3"]
158
234
purpose4:
235
+ enforce_vendors: false
159
236
vendor_exceptions: ["foo4"]
160
237
purpose5:
238
+ enforce_vendors: false
161
239
vendor_exceptions: ["foo5"]
162
240
purpose6:
241
+ enforce_vendors: false
163
242
vendor_exceptions: ["foo6"]
164
243
purpose7:
244
+ enforce_vendors: false
165
245
vendor_exceptions: ["foo7"]
166
246
purpose8:
247
+ enforce_vendors: false
167
248
vendor_exceptions: ["foo8"]
168
249
purpose9:
250
+ enforce_vendors: false
169
251
vendor_exceptions: ["foo9"]
170
252
purpose10:
253
+ enforce_vendors: false
171
254
vendor_exceptions: ["foo10"]
172
255
special_purpose1:
173
256
vendor_exceptions: ["fooSP1"]
@@ -407,51 +490,61 @@ func TestFullConfig(t *testing.T) {
407
490
Enabled : true ,
408
491
Purpose1 : TCF2Purpose {
409
492
Enabled : true , // true by default
493
+ EnforceVendors : false ,
410
494
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo1a" ), openrtb_ext .BidderName ("foo1b" )},
411
495
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo1a" ): {}, openrtb_ext .BidderName ("foo1b" ): {}},
412
496
},
413
497
Purpose2 : TCF2Purpose {
414
498
Enabled : false ,
499
+ EnforceVendors : false ,
415
500
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo2" )},
416
501
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo2" ): {}},
417
502
},
418
503
Purpose3 : TCF2Purpose {
419
504
Enabled : true , // true by default
505
+ EnforceVendors : false ,
420
506
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo3" )},
421
507
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo3" ): {}},
422
508
},
423
509
Purpose4 : TCF2Purpose {
424
510
Enabled : true , // true by default
511
+ EnforceVendors : false ,
425
512
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo4" )},
426
513
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo4" ): {}},
427
514
},
428
515
Purpose5 : TCF2Purpose {
429
516
Enabled : true , // true by default
517
+ EnforceVendors : false ,
430
518
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo5" )},
431
519
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo5" ): {}},
432
520
},
433
521
Purpose6 : TCF2Purpose {
434
522
Enabled : true , // true by default
523
+ EnforceVendors : false ,
435
524
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo6" )},
436
525
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo6" ): {}},
437
526
},
438
527
Purpose7 : TCF2Purpose {
439
528
Enabled : true , // true by default
529
+ EnforceVendors : false ,
440
530
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo7" )},
441
531
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo7" ): {}},
442
532
},
443
533
Purpose8 : TCF2Purpose {
444
534
Enabled : true , // true by default
535
+ EnforceVendors : false ,
445
536
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo8" )},
446
537
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo8" ): {}},
447
538
},
448
539
Purpose9 : TCF2Purpose {
449
540
Enabled : true , // true by default
541
+ EnforceVendors : false ,
450
542
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo9" )},
451
543
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo9" ): {}},
452
544
},
453
545
Purpose10 : TCF2Purpose {
454
546
Enabled : true , // true by default
547
+ EnforceVendors : false ,
455
548
VendorExceptions : []openrtb_ext.BidderName {openrtb_ext .BidderName ("foo10" )},
456
549
VendorExceptionMap : map [openrtb_ext.BidderName ]struct {}{openrtb_ext .BidderName ("foo10" ): {}},
457
550
},
0 commit comments