diff --git a/extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHook.java b/extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHook.java index 8ea71f3b42f..676befd4759 100644 --- a/extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHook.java +++ b/extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHook.java @@ -405,8 +405,6 @@ private List extractThrottlingMessages( final ObjectNode impExt = imp.getExt(); final JsonNode bidderNode = extImpPrebid(impExt.get("prebid")).getBidder(); - final List throttlingImpMessages = new ArrayList<>(); - final String ipv4 = Optional.ofNullable(bidRequest.getDevice()) .map(Device::getIp) .orElse(null); @@ -417,6 +415,7 @@ private List extractThrottlingMessages( throw new PreBidException("Failed to get country for IP", e); } + final List throttlingImpMessages = new ArrayList<>(); if (bidderNode.isObject()) { final ObjectNode bidders = (ObjectNode) bidderNode; final Iterator fieldNames = bidders.fieldNames(); diff --git a/extra/modules/greenbids-real-time-data/src/test/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHookTest.java b/extra/modules/greenbids-real-time-data/src/test/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHookTest.java index ae1ce321838..756f68ebf7c 100644 --- a/extra/modules/greenbids-real-time-data/src/test/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHookTest.java +++ b/extra/modules/greenbids-real-time-data/src/test/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHookTest.java @@ -44,7 +44,6 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -73,7 +72,7 @@ public class GreenbidsRealTimeDataProcessedAuctionRequestHookTest { private static final String THRESHOLDS_CACHE_KEY_PREFIX = "throttlingThresholds_"; - private GreenbidsRealTimeDataProcessedAuctionRequestHook hook; + private GreenbidsRealTimeDataProcessedAuctionRequestHook target; private JacksonMapper jacksonMapper; @@ -95,7 +94,7 @@ public void setUp() { thresholdsCacheWithExpiration = Caffeine.newBuilder() .expireAfterWrite(CACHE_EXPIRATION_MINUTES, TimeUnit.MINUTES) .build(); - hook = new GreenbidsRealTimeDataProcessedAuctionRequestHook( + target = new GreenbidsRealTimeDataProcessedAuctionRequestHook( mapper, modelCacheWithExpiration, thresholdsCacheWithExpiration, @@ -120,7 +119,7 @@ public void setUp() { } @Test - public void shouldExitEarlyIfPartnerNotActivatedInBidRequest() throws IOException, OrtException { + public void shouldExitEarlyWhenPartnerNotActivatedInBidRequest() throws IOException, OrtException { // given final Banner banner = givenBanner(); @@ -142,7 +141,7 @@ public void shouldExitEarlyIfPartnerNotActivatedInBidRequest() throws IOExceptio thresholdCache.getCache().put("throttlingThresholds_test-pbuid", givenThrottlingThresholds()); // when - final Future> future = hook + final Future> future = target .call(null, invocationContext); final InvocationResult result = future.result(); final BidRequest resultBidRequest = result @@ -165,7 +164,7 @@ public void shouldExitEarlyIfPartnerNotActivatedInBidRequest() throws IOExceptio } @Test - public void shouldExitEarlyIfThresholdIsNotAvailable() throws OrtException, IOException { + public void shouldExitEarlyWhenThresholdIsNotAvailable() throws OrtException, IOException { // given final Banner banner = givenBanner(); @@ -188,7 +187,7 @@ public void shouldExitEarlyIfThresholdIsNotAvailable() throws OrtException, IOEx modelCache.getCache().put("onnxModelRunner_test-pbuid", givenOnnxModelRunner()); // when - final Future> future = hook + final Future> future = target .call(null, invocationContext); final InvocationResult result = future.result(); final BidRequest resultBidRequest = result @@ -211,7 +210,7 @@ public void shouldExitEarlyIfThresholdIsNotAvailable() throws OrtException, IOEx } @Test - public void shouldExitEarlyIfModelIsNotAvailable() throws IOException { + public void shouldExitEarlyWhenModelIsNotAvailable() throws IOException { // given final Banner banner = givenBanner(); @@ -234,7 +233,7 @@ public void shouldExitEarlyIfModelIsNotAvailable() throws IOException { thresholdCache.getCache().put("throttlingThresholds_test-pbuid", givenThrottlingThresholds()); // when - final Future> future = hook + final Future> future = target .call(null, invocationContext); final InvocationResult result = future.result(); final BidRequest resultBidRequest = result @@ -283,7 +282,7 @@ public void shouldNotFilterBiddersAndReturnAnalyticsTagWhenExploration() throws final AnalyticsResult expectedAnalyticsResult = expectedAnalyticsResult(true, true); // when - final Future> future = hook + final Future> future = target .call(null, invocationContext); final InvocationResult result = future.result(); final BidRequest resultBidRequest = result @@ -314,7 +313,7 @@ public void shouldNotFilterBiddersAndReturnAnalyticsTagWhenExploration() throws } @Test - public void shouldFilterBiddersBasedOnModelIfAnyFeatureNotAvailable() throws OrtException, IOException { + public void shouldFilterBiddersBasedOnModelWhenAnyFeatureNotAvailable() throws OrtException, IOException { // given final Banner banner = givenBanner(); @@ -341,7 +340,7 @@ public void shouldFilterBiddersBasedOnModelIfAnyFeatureNotAvailable() throws Ort final AnalyticsResult expectedAnalyticsResult = expectedAnalyticsResult(false, false); // when - final Future> future = hook + final Future> future = target .call(null, invocationContext); final InvocationResult result = future.result(); final BidRequest resultBidRequest = result @@ -401,7 +400,7 @@ public void shouldFilterBiddersBasedOnModelResults() throws OrtException, IOExce final AnalyticsResult expectedAnalyticsResult = expectedAnalyticsResult(false, false); // when - final Future> future = hook + final Future> future = target .call(null, invocationContext); final InvocationResult result = future.result(); final BidRequest resultBidRequest = result @@ -606,10 +605,10 @@ private static Ortb2ImpExtResult expectedOrtb2ImpExtResult(Boolean isExploration } private static ExplorationResult expectedExplorationResult(Boolean isExploration, Boolean isKeptInAuction) { - final Map keptInAuction = new HashMap<>(); - keptInAuction.put("appnexus", isKeptInAuction); - keptInAuction.put("pubmatic", isKeptInAuction); - keptInAuction.put("rubicon", isKeptInAuction); + final Map keptInAuction = Map.of( + "appnexus", isKeptInAuction, + "pubmatic", isKeptInAuction, + "rubicon", isKeptInAuction); return ExplorationResult.of(null, keptInAuction, isExploration); } } diff --git a/extra/modules/greenbids-real-time-data/src/test/resources/thresholds_pbuid=test-pbuid.json b/extra/modules/greenbids-real-time-data/src/test/resources/thresholds_pbuid=test-pbuid.json index 8c661638366..4f286a9c7dd 100644 --- a/extra/modules/greenbids-real-time-data/src/test/resources/thresholds_pbuid=test-pbuid.json +++ b/extra/modules/greenbids-real-time-data/src/test/resources/thresholds_pbuid=test-pbuid.json @@ -1,401 +1,23 @@ { - "featurizer": "AlphaFeaturizer", - "pipeline": "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", + "featurizer": "featurizer", + "pipeline": "aaabbbccc", "thresholds": [ 0.4, - 0.01941774174323306, - 0.01897625774561416, - 0.01887199441498106, - 0.017462274571715553, - 0.01736002186814881, - 0.01687737615216585, - 0.01659364987867772, - 0.015870900987772454, - 0.015846936304937432, - 0.01570994632600682, - 0.015641626092737056, - 0.015500711080090735, - 0.015401129784568137, - 0.015209639815680149, - 0.014905190735631698, - 0.014697030603076342, - 0.014623878800314261, - 0.0142816047513925, - 0.014036047477093708, - 0.012647707272499548, - 0.012612558077344542, - 0.011312447471427577, - 0.01120464094382329, - 0.01027473942476646, - 0.010181789430516125, - 0.010132446010789746, - 0.009727594334191798, - 0.009601286182911097, - 0.0095273718437802, - 0.009504487037212444, - 0.009504318300914399, - 0.009473250708109783, - 0.009227842893709766, - 0.00909389321677041, - 0.008832715316551987, - 0.008787010196155976, - 0.008351281194118626, - 0.0081771752102384, - 0.008008013514970467, - 0.007947016658947974, - 0.007870260190211953, - 0.007835291859240734, - 0.007185043960756893, - 0.007184223497250037, - 0.0066889005823173985, - 0.006672103667405388, - 0.005920501531797888, - 0.005748579383720604, - 0.005398050482971428, - 0.005355989032878507, - 0.0052630963121757255, - 0.005244851759777185, - 0.004503562340591418, - 0.004490469689264949, - 0.004203436682061725, - 0.004145219153865685, - 0.004044528260754384, - 0.004024082808865765, - 0.00400915870562897, - 0.003740239370167418, - 0.003716937386667617, - 0.003519144195276498, - 0.003517923602377982, - 0.0035070375382145608, - 0.003489143514160343, - 0.003193297472553268, - 0.0031109917217889615, - 0.0029592365823289863, - 0.002948273191530522, - 0.0028218147430571624, - 0.0028201251717882895, - 0.0026912335209892677, - 0.002647313650725702, - 0.002615111412600089, - 0.0026005204606065375, - 0.002559739988354727, - 0.0025409254474634303, - 0.002423839284044564, - 0.002415115863722021, - 0.002326627953704807, - 0.00231461895205866, - 0.0023135415213908256, - 0.0022861613288506846, - 0.0019825924709117606, - 0.0019776856875492214, - 0.0018887673716176392, - 0.0018586356115056055, - 0.001475468471032207, - 0.0014488167931362263, - 0.001210715908367127, - 0.0011851894733306506, - 0.0011815908911382653, - 0.0011717376393042438, - 0.0010900620858735465, - 0.0010856780953377302, - 0.0010806680245089558, - 0.0010742046679082613, - 0.0010403198609435223, - 0.0010290224337875307, - 0.0007081208483387437, - 0.0006770937968388675, - 0.0006690696699594028, - 0.0006466783813663152, - 0.0006445115234344385, - 0.0006371215301169598, - 0.0006236523464892179, - 0.0006236317153460414, - 0.0006090461218391026, - 0.0006074209514695438, - 0.0005900874718570996, - 0.0005816444485002278, - 0.0005242336551828097, - 0.0005200439739544362, - 0.0004962182908287025, - 0.0004832283207351382, - 0.00045190524152958003, - 0.0004505619720688854, - 0.0004421240019694739, - 0.0003449066540904008, - 0.0003374147799790753, - 0.0003302200734686125, - 0.00031137591372743114, - 0.00021526190187120766, - 0.00021231555396812227, - 0.00010383694941308392, - 0.00010256669586046238, - 0.000091357957162375, - 0.0000902267960157644, - 0.000024883739133834265 + 0.224, + 0.018, + 0.018 ], "tpr": [ 0.8, - 0.9525222551928784, - 0.9525222551928784, - 0.9525222551928784, - 0.9525222551928784, - 0.9525222551928784, - 0.9525222551928784, - 0.9584569732937686, - 0.9584569732937686, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9614243323442137, - 0.9643916913946587, - 0.9643916913946587, - 0.9643916913946587, - 0.9643916913946587, - 0.9643916913946587, - 0.9643916913946587, - 0.9673590504451038, - 0.9673590504451038, - 0.9673590504451038, - 0.9673590504451038, - 0.9673590504451038, - 0.9703264094955489, - 0.9703264094955489, - 0.9703264094955489, - 0.9703264094955489, - 0.973293768545994, - 0.973293768545994, - 0.973293768545994, - 0.973293768545994, - 0.9762611275964391, - 0.9762611275964391, - 0.9792284866468842, - 0.9792284866468842, - 0.9821958456973294, - 0.9821958456973294, - 0.9821958456973294, - 0.9821958456973294, - 0.9821958456973294, - 0.9821958456973294, - 0.9821958456973294, - 0.9821958456973294, - 0.9881305637982196, - 0.9881305637982196, - 0.9881305637982196, - 0.9910979228486647, - 0.9910979228486647, - 0.9910979228486647, - 0.9910979228486647, - 0.9910979228486647, - 0.9910979228486647, - 0.9910979228486647, - 0.9910979228486647, - 0.9940652818991098, - 0.9940652818991098, - 0.9940652818991098, - 0.9940652818991098, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 0.9970326409495549, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1 + 0.95, + 0.99, + 0.9999 ], "fpr": [ - 0.5, - 0.5185185185185185, - 0.5230352303523035, - 0.5266485998193315, - 0.5320686540198736, - 0.5338753387533876, - 0.5392953929539296, - 0.5392953929539296, - 0.5411020776874436, - 0.5411020776874436, - 0.5420054200542005, - 0.5447154471544715, - 0.5474254742547425, - 0.5492321589882565, - 0.5510388437217706, - 0.5528455284552846, - 0.5555555555555556, - 0.5591689250225835, - 0.5609756097560976, - 0.5627822944896116, - 0.5754290876242095, - 0.5772357723577236, - 0.5862691960252936, - 0.5889792231255646, - 0.6007226738934056, - 0.6016260162601627, - 0.6034327009936766, - 0.6088527551942186, - 0.6106594399277326, - 0.6142728093947606, - 0.6160794941282746, - 0.6160794941282746, - 0.6196928635953026, - 0.6260162601626016, - 0.6278229448961157, - 0.6314363143631436, - 0.6314363143631436, - 0.6350496838301717, - 0.6386630532971996, - 0.6404697380307136, - 0.6404697380307136, - 0.6413730803974707, - 0.6431797651309846, - 0.6513098464317977, - 0.6513098464317977, - 0.6585365853658537, - 0.6585365853658537, - 0.6775067750677507, - 0.6775067750677507, - 0.6892502258355917, - 0.6928635953026197, - 0.6973803071364046, - 0.6991869918699187, - 0.7136404697380307, - 0.7154471544715447, - 0.7244805781391147, - 0.7244805781391147, - 0.7280939476061428, - 0.7299006323396567, - 0.7299006323396567, - 0.7371273712737128, - 0.7389340560072267, - 0.7425474254742548, - 0.7443541102077688, - 0.7479674796747967, - 0.7497741644083108, - 0.7570009033423668, - 0.7570009033423668, - 0.7624209575429087, - 0.7642276422764228, - 0.7723577235772358, - 0.7723577235772358, - 0.7768744354110207, - 0.7786811201445348, - 0.7813911472448057, - 0.7831978319783198, - 0.7850045167118338, - 0.7868112014453478, - 0.7886178861788617, - 0.7904245709123758, - 0.7967479674796748, - 0.7985546522131888, - 0.7994579945799458, - 0.8021680216802168, - 0.8130081300813008, - 0.8148148148148148, - 0.8184281842818428, - 0.8202348690153568, - 0.8337850045167118, - 0.8355916892502259, - 0.8401084010840109, - 0.8419150858175248, - 0.8428184281842819, - 0.8446251129177959, - 0.8509485094850948, - 0.8527551942186089, - 0.8536585365853658, - 0.8536585365853658, - 0.8545618789521229, - 0.8563685636856369, - 0.8807588075880759, - 0.8834688346883469, - 0.8843721770551038, - 0.8870822041553749, - 0.8888888888888888, - 0.8906955736224029, - 0.8915989159891599, - 0.8934056007226739, - 0.8943089430894309, - 0.8961156278229448, - 0.8979223125564589, - 0.8997289972899729, - 0.9051490514905149, - 0.9069557362240289, - 0.9105691056910569, - 0.912375790424571, - 0.916892502258356, - 0.9186991869918699, - 0.9214092140921409, - 0.9331526648599819, - 0.9349593495934959, - 0.9376693766937669, - 0.9394760614272809, - 0.952122854561879, - 0.9539295392953929, - 0.980126467931346, - 0.98193315266486, - 0.985546522131888, - 0.987353206865402, - 1 + 0.58, + 0.51, + 0.52, + 0.52 ], "version": "2024-05-07T06:30:00+00:00" } diff --git a/src/test/java/org/prebid/server/vertx/httpclient/BasicHttpClientTest.java b/src/test/java/org/prebid/server/vertx/httpclient/BasicHttpClientTest.java index a9101f06440..6d998df1b94 100644 --- a/src/test/java/org/prebid/server/vertx/httpclient/BasicHttpClientTest.java +++ b/src/test/java/org/prebid/server/vertx/httpclient/BasicHttpClientTest.java @@ -162,26 +162,6 @@ public void requestShouldFailIfHttpRequestTimedOut(Vertx vertx, VertxTestContext })); } - @Test - public void requestShouldFailIfHttpResponseTimedOut(Vertx vertx, VertxTestContext context) { - // given - final BasicHttpClient httpClient = new BasicHttpClient(vertx, vertx.createHttpClient()); - final int serverPort = 8888; - - startServer(serverPort, 0L, 2000L); - - // when - final Future future = httpClient.get("http://localhost:" + serverPort, 1000L); - - // then - future.onComplete(context.failing(e -> { - assertThat(e) - .isInstanceOf(TimeoutException.class) - .hasMessage("Timeout period of 1000ms has been exceeded"); - context.completeNow(); - })); - } - /** * The server returns entire response or body with delay. */