Skip to content

Commit e6a10a8

Browse files
committed
fix review: invocationContext.accountConfig
1 parent b0c5c69 commit e6a10a8

File tree

5 files changed

+33
-39
lines changed

5 files changed

+33
-39
lines changed

extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/model/data/GreenbidsConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ public class GreenbidsConfig {
1616

1717
String pbuid;
1818

19-
@JsonProperty("targetTpr")
19+
@JsonProperty("target-tpr")
2020
Double targetTpr;
2121

22-
@JsonProperty("explorationRate")
22+
@JsonProperty("exploration-rate")
2323
Double explorationRate;
2424

2525
public Double getThreshold(ThrottlingThresholds throttlingThresholds) {

extra/modules/greenbids-real-time-data/src/main/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHook.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public Future<InvocationResult<AuctionRequestPayload>> call(
7878
final AuctionContext auctionContext = invocationContext.auctionContext();
7979
final BidRequest bidRequest = auctionContext.getBidRequest();
8080
final GreenbidsConfig greenbidsConfig = Optional.ofNullable(parseBidRequestExt(auctionContext))
81-
.orElse(parseAccountConfig(auctionContext.getAccount()));
81+
.orElse(parseAccountConfig(invocationContext.accountConfig()));
8282

8383
if (greenbidsConfig == null) {
8484
return Future.failedFuture(
@@ -113,13 +113,12 @@ private boolean isNotEmptyObjectNode(JsonNode analytics) {
113113
return analytics != null && analytics.isObject() && !analytics.isEmpty();
114114
}
115115

116-
private GreenbidsConfig parseAccountConfig(Account account) {
117-
return Optional.ofNullable(account)
118-
.map(Account::getHooks)
119-
.map(AccountHooksConfiguration::getModules)
120-
.map(modules -> modules.get(name()))
121-
.map(this::toGreenbidsConfig)
122-
.orElse(null);
116+
private GreenbidsConfig parseAccountConfig(ObjectNode accountConfig) {
117+
try {
118+
return mapper.treeToValue(accountConfig, GreenbidsConfig.class);
119+
} catch (JsonProcessingException e) {
120+
throw new PreBidException(e.getMessage());
121+
}
123122
}
124123

125124
private GreenbidsConfig toGreenbidsConfig(ObjectNode adapterNode) {

extra/modules/greenbids-real-time-data/src/test/java/org/prebid/server/hooks/modules/greenbids/real/time/data/v1/GreenbidsRealTimeDataProcessedAuctionRequestHookTest.java

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,9 @@ public void callShouldFilterBiddersWhenPartnerActivatedInBidRequest()
167167
final BidRequest bidRequest = givenBidRequestWithExtension(identity(), List.of(imp));
168168
final AuctionContext auctionContext = givenAuctionContext(
169169
bidRequest,
170-
context -> context,
171-
explorationRate);
172-
final AuctionInvocationContext invocationContext = givenAuctionInvocationContext(auctionContext);
170+
context -> context);
171+
final AuctionInvocationContext invocationContext = givenAuctionInvocationContext(
172+
auctionContext, explorationRate);
173173
when(invocationContext.auctionContext()).thenReturn(auctionContext);
174174
when(modelCacheWithExpiration.getIfPresent("onnxModelRunner_test-pbuid"))
175175
.thenReturn(givenOnnxModelRunner());
@@ -229,8 +229,9 @@ public void callShouldNotFilterBiddersAndReturnAnalyticsTagWhenExploration() thr
229229
final Double explorationRate = 1.0;
230230
final Device device = givenDevice(identity());
231231
final BidRequest bidRequest = givenBidRequest(request -> request, List.of(imp), device);
232-
final AuctionContext auctionContext = givenAuctionContext(bidRequest, context -> context, explorationRate);
233-
final AuctionInvocationContext invocationContext = givenAuctionInvocationContext(auctionContext);
232+
final AuctionContext auctionContext = givenAuctionContext(bidRequest, context -> context);
233+
final AuctionInvocationContext invocationContext = givenAuctionInvocationContext(
234+
auctionContext, explorationRate);
234235
when(invocationContext.auctionContext()).thenReturn(auctionContext);
235236
when(modelCacheWithExpiration.getIfPresent("onnxModelRunner_test-pbuid"))
236237
.thenReturn(givenOnnxModelRunner());
@@ -282,8 +283,9 @@ public void callShouldFilterBiddersBasedOnModelWhenAnyFeatureNotAvailable() thro
282283
final Double explorationRate = 0.0001;
283284
final Device device = givenDeviceWithoutUserAgent(identity());
284285
final BidRequest bidRequest = givenBidRequest(request -> request, List.of(imp), device);
285-
final AuctionContext auctionContext = givenAuctionContext(bidRequest, context -> context, explorationRate);
286-
final AuctionInvocationContext invocationContext = givenAuctionInvocationContext(auctionContext);
286+
final AuctionContext auctionContext = givenAuctionContext(bidRequest, context -> context);
287+
final AuctionInvocationContext invocationContext = givenAuctionInvocationContext(
288+
auctionContext, explorationRate);
287289
when(invocationContext.auctionContext()).thenReturn(auctionContext);
288290
when(modelCacheWithExpiration.getIfPresent("onnxModelRunner_test-pbuid"))
289291
.thenReturn(givenOnnxModelRunner());
@@ -342,8 +344,9 @@ public void callShouldFilterBiddersBasedOnModelResults() throws OrtException, IO
342344
final Double explorationRate = 0.0001;
343345
final Device device = givenDevice(identity());
344346
final BidRequest bidRequest = givenBidRequest(request -> request, List.of(imp), device);
345-
final AuctionContext auctionContext = givenAuctionContext(bidRequest, context -> context, explorationRate);
346-
final AuctionInvocationContext invocationContext = givenAuctionInvocationContext(auctionContext);
347+
final AuctionContext auctionContext = givenAuctionContext(bidRequest, context -> context);
348+
final AuctionInvocationContext invocationContext = givenAuctionInvocationContext(
349+
auctionContext, explorationRate);
347350
when(invocationContext.auctionContext()).thenReturn(auctionContext);
348351
when(modelCacheWithExpiration.getIfPresent("onnxModelRunner_test-pbuid"))
349352
.thenReturn(givenOnnxModelRunner());
@@ -391,38 +394,30 @@ public void callShouldFilterBiddersBasedOnModelResults() throws OrtException, IO
391394

392395
private AuctionContext givenAuctionContext(
393396
BidRequest bidRequest,
394-
UnaryOperator<AuctionContext.AuctionContextBuilder> auctionContextCustomizer,
395-
Double explorationRate) {
397+
UnaryOperator<AuctionContext.AuctionContextBuilder> auctionContextCustomizer) {
396398

397399
final AuctionContext.AuctionContextBuilder auctionContextBuilder = AuctionContext.builder()
398400
.httpRequest(HttpRequestContext.builder().build())
399-
.bidRequest(bidRequest)
400-
.account(givenAccount(explorationRate));
401+
.bidRequest(bidRequest);
401402

402403
return auctionContextCustomizer.apply(auctionContextBuilder).build();
403404
}
404405

405-
private AuctionInvocationContext givenAuctionInvocationContext(AuctionContext auctionContext) {
406+
private AuctionInvocationContext givenAuctionInvocationContext(
407+
AuctionContext auctionContext, Double explorationRate) {
406408
final AuctionInvocationContext invocationContext = mock(AuctionInvocationContext.class);
407409
when(invocationContext.auctionContext()).thenReturn(auctionContext);
410+
when(invocationContext.accountConfig()).thenReturn(givenAccountConfig(explorationRate));
408411
return invocationContext;
409412
}
410413

411-
private Account givenAccount(Double explorationRate) {
412-
return Account.builder()
413-
.id("test-account")
414-
.hooks(givenAccountHooksConfiguration(explorationRate))
415-
.build();
416-
}
417-
418-
private AccountHooksConfiguration givenAccountHooksConfiguration(Double explorationRate) {
414+
private ObjectNode givenAccountConfig(Double explorationRate) {
419415
final ObjectNode greenbidsNode = TestBidRequestProvider.MAPPER.createObjectNode();
420416
greenbidsNode.put("enabled", true);
421417
greenbidsNode.put("pbuid", "test-pbuid");
422-
greenbidsNode.put("targetTpr", 0.60);
423-
greenbidsNode.put("explorationRate", explorationRate);
424-
final Map<String, ObjectNode> modules = Map.of("greenbids", greenbidsNode);
425-
return AccountHooksConfiguration.of(null, modules, null);
418+
greenbidsNode.put("target-tpr", 0.60);
419+
greenbidsNode.put("exploration-rate", explorationRate);
420+
return greenbidsNode;
426421
}
427422

428423
private OnnxModelRunner givenOnnxModelRunner() throws OrtException, IOException {

src/main/java/org/prebid/server/analytics/reporter/greenbids/model/GreenbidsConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ public class GreenbidsConfig {
88

99
String pbuid;
1010

11-
@JsonProperty("greenbidsSampling")
11+
@JsonProperty("greenbids-sampling")
1212
Double greenbidsSampling;
1313
}

src/test/java/org/prebid/server/analytics/reporter/greenbids/GreenbidsAnalyticsReporterTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ private static Account givenAccount() {
668668
private static AccountAnalyticsConfig givenAccountHooksConfiguration() {
669669
final ObjectNode greenbidsNode = mapper.createObjectNode();
670670
greenbidsNode.put("pbuid", "leparisien");
671-
greenbidsNode.put("greenbidsSampling", 1.0);
671+
greenbidsNode.put("greenbids-sampling", 1.0);
672672
final Map<String, ObjectNode> modules = Map.of("greenbids", greenbidsNode);
673673
return AccountAnalyticsConfig.of(true, null, modules);
674674
}
@@ -701,7 +701,7 @@ private static BidRequest givenBidRequestWithExtension(
701701
private static ExtRequest givenExtRequest() {
702702
final ObjectNode greenbidsNode = new ObjectMapper().createObjectNode();
703703
greenbidsNode.put("pbuid", "leparisien");
704-
greenbidsNode.put("greenbidsSampling", 1.0);
704+
greenbidsNode.put("greenbids-sampling", 1.0);
705705

706706
final ObjectNode analyticsNode = new ObjectMapper().createObjectNode();
707707
analyticsNode.set("greenbids", greenbidsNode);

0 commit comments

Comments
 (0)