github.com/prebid/prebid-server@v0.275.0/usersync/bidderfilter_test.go (about) 1 package usersync 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestSpecificBidderFilter(t *testing.T) { 10 bidder := "a" 11 12 testCases := []struct { 13 description string 14 bidders []string 15 mode BidderFilterMode 16 expected bool 17 }{ 18 { 19 description: "Include - None", 20 bidders: []string{}, 21 mode: BidderFilterModeInclude, 22 expected: false, 23 }, 24 { 25 description: "Include - One", 26 bidders: []string{bidder}, 27 mode: BidderFilterModeInclude, 28 expected: true, 29 }, 30 { 31 description: "Include - Many", 32 bidders: []string{"other", bidder}, 33 mode: BidderFilterModeInclude, 34 expected: true, 35 }, 36 { 37 description: "Include - Other", 38 bidders: []string{"other"}, 39 mode: BidderFilterModeInclude, 40 expected: false, 41 }, 42 { 43 description: "Exclude - None", 44 bidders: []string{}, 45 mode: BidderFilterModeExclude, 46 expected: true, 47 }, 48 { 49 description: "Exclude - One", 50 bidders: []string{bidder}, 51 mode: BidderFilterModeExclude, 52 expected: false, 53 }, 54 { 55 description: "Exclude - Many", 56 bidders: []string{"other", bidder}, 57 mode: BidderFilterModeExclude, 58 expected: false, 59 }, 60 { 61 description: "Exclude - Other", 62 bidders: []string{"other"}, 63 mode: BidderFilterModeExclude, 64 expected: true, 65 }, 66 { 67 description: "Invalid Mode", 68 bidders: []string{bidder}, 69 mode: BidderFilterMode(-1), 70 expected: false, 71 }, 72 } 73 74 for _, test := range testCases { 75 filter := NewSpecificBidderFilter(test.bidders, test.mode) 76 assert.Equal(t, test.expected, filter.Allowed(bidder), test.description) 77 } 78 } 79 80 func TestUniformBidderFilter(t *testing.T) { 81 bidder := "a" 82 83 testCases := []struct { 84 description string 85 mode BidderFilterMode 86 expected bool 87 }{ 88 { 89 description: "Include", 90 mode: BidderFilterModeInclude, 91 expected: true, 92 }, 93 { 94 description: "Exclude", 95 mode: BidderFilterModeExclude, 96 expected: false, 97 }, 98 } 99 100 for _, test := range testCases { 101 filter := NewUniformBidderFilter(test.mode) 102 assert.Equal(t, test.expected, filter.Allowed(bidder), test.description) 103 } 104 }