Skip to content

Commit 4d6a603

Browse files
committed
Fix comments
1 parent 53a6e6f commit 4d6a603

3 files changed

Lines changed: 19 additions & 40 deletions

File tree

extra/modules/live-intent-omni-channel-identity/src/main/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/model/IdResResponse.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package org.prebid.server.hooks.modules.liveintent.omni.channel.identity.model;
22

33
import com.iab.openrtb.request.Eid;
4+
import lombok.AllArgsConstructor;
45
import lombok.Data;
56
import lombok.NoArgsConstructor;
67

78
import java.util.List;
89

910
@Data
1011
@NoArgsConstructor
12+
@AllArgsConstructor(staticName = "of")
1113
public class IdResResponse {
1214

1315
List<Eid> eids;

extra/modules/live-intent-omni-channel-identity/src/main/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/v1/hooks/LiveIntentOmniChannelIdentityProcessedAuctionRequestHook.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.iab.openrtb.request.User;
66
import io.vertx.core.Future;
77
import io.vertx.core.MultiMap;
8+
import org.apache.commons.collections4.ListUtils;
89
import org.prebid.server.hooks.execution.v1.InvocationResultImpl;
910
import org.prebid.server.hooks.execution.v1.auction.AuctionRequestPayloadImpl;
1011
import org.prebid.server.hooks.modules.liveintent.omni.channel.identity.model.IdResResponse;
@@ -45,7 +46,6 @@ public LiveIntentOmniChannelIdentityProcessedAuctionRequestHook(LiveIntentOmniCh
4546
RandomGenerator random) {
4647

4748
this.config = Objects.requireNonNull(config);
48-
//todo: maybe it's redundant, what do you think?
4949
HttpUtil.validateUrlSyntax(config.getIdentityResolutionEndpoint());
5050
this.mapper = Objects.requireNonNull(mapper);
5151
this.httpClient = Objects.requireNonNull(httpClient);
@@ -60,7 +60,6 @@ public Future<InvocationResult<AuctionRequestPayload>> call(AuctionRequestPayloa
6060
? noAction()
6161
: requestIdentities(auctionRequestPayload.bidRequest())
6262
.<InvocationResult<AuctionRequestPayload>>map(this::update)
63-
//todo: is it find to just fail instead of rejection or no_action?
6463
.onFailure(throwable -> logger.error("Failed enrichment:", throwable));
6564

6665
}
@@ -79,7 +78,6 @@ private MultiMap headers() {
7978
.add(HttpUtil.AUTHORIZATION_HEADER, "Bearer " + config.getAuthToken());
8079
}
8180

82-
//todo: no status check and proper error code handling
8381
private IdResResponse processResponse(HttpClientResponse response) {
8482
return mapper.decodeValue(response.getBody(), IdResResponse.class);
8583
}
@@ -95,18 +93,16 @@ private InvocationResultImpl<AuctionRequestPayload> update(IdResResponse resolut
9593
return InvocationResultImpl.<AuctionRequestPayload>builder()
9694
.status(InvocationStatus.success)
9795
.action(InvocationAction.update)
98-
//todo: might eids be null? NPE is possible
9996
.payloadUpdate(payload -> updatedPayload(payload, resolutionResult.getEids()))
10097
.build();
10198
}
10299

103100
private AuctionRequestPayload updatedPayload(AuctionRequestPayload requestPayload, List<Eid> resolvedEids) {
101+
final List<Eid> eids = ListUtils.emptyIfNull(resolvedEids);
104102
final BidRequest bidRequest = requestPayload.bidRequest();
105103
final User updatedUser = Optional.ofNullable(bidRequest.getUser())
106-
.map(user -> user.toBuilder().eids(user.getEids() == null
107-
? resolvedEids
108-
: ListUtil.union(user.getEids(), resolvedEids)))
109-
.orElseGet(() -> User.builder().eids(resolvedEids))
104+
.map(user -> user.toBuilder().eids(ListUtil.union(ListUtils.emptyIfNull(user.getEids()), eids)))
105+
.orElseGet(() -> User.builder().eids(eids))
110106
.build();
111107

112108
return AuctionRequestPayloadImpl.of(bidRequest.toBuilder().user(updatedUser).build());

extra/modules/live-intent-omni-channel-identity/src/test/java/org/prebid/server/hooks/modules/liveintent/omni/channel/identity/v1/LiveIntentOmniChannelIdentityProcessedAuctionRequestHookTest.java

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.mockito.junit.jupiter.MockitoExtension;
1313
import org.prebid.server.hooks.execution.v1.auction.AuctionInvocationContextImpl;
1414
import org.prebid.server.hooks.execution.v1.auction.AuctionRequestPayloadImpl;
15+
import org.prebid.server.hooks.modules.liveintent.omni.channel.identity.model.IdResResponse;
1516
import org.prebid.server.hooks.modules.liveintent.omni.channel.identity.model.config.LiveIntentOmniChannelProperties;
1617
import org.prebid.server.hooks.modules.liveintent.omni.channel.identity.v1.hooks.LiveIntentOmniChannelIdentityProcessedAuctionRequestHook;
1718
import org.prebid.server.hooks.v1.InvocationAction;
@@ -81,19 +82,14 @@ public void callShouldEnrichUserEidsWithRequestedEids() {
8182
final User givenUser = User.builder().eids(singletonList(givenEid)).build();
8283
final BidRequest givenBidRequest = BidRequest.builder().id("request").user(givenUser).build();
8384

84-
final String givenResponseBody = """
85-
{
86-
"eids": [{
87-
"source": "liveintent.com",
88-
"uids": [{
89-
"atype": 3,
90-
"id": "id2"
91-
}]
92-
}]
93-
}""";
85+
final Eid expectedEid = Eid.builder()
86+
.source("liveintent.com")
87+
.uids(singletonList(Uid.builder().id("id2").atype(3).build()))
88+
.build();
9489

90+
final String responseBody = MAPPER.encodeToString(IdResResponse.of(List.of(expectedEid)));
9591
given(httpClient.post(any(), any(), any(), anyLong()))
96-
.willReturn(Future.succeededFuture(HttpClientResponse.of(200, null, givenResponseBody)));
92+
.willReturn(Future.succeededFuture(HttpClientResponse.of(200, null, responseBody)));
9793

9894
final AuctionInvocationContext auctionInvocationContext = AuctionInvocationContextImpl.of(
9995
null, null, false, null, null);
@@ -103,11 +99,6 @@ public void callShouldEnrichUserEidsWithRequestedEids() {
10399
target.call(AuctionRequestPayloadImpl.of(givenBidRequest), auctionInvocationContext).result();
104100

105101
// then
106-
final Eid expectedEid = Eid.builder()
107-
.source("liveintent.com")
108-
.uids(singletonList(Uid.builder().id("id2").atype(3).build()))
109-
.build();
110-
111102
assertThat(result.status()).isEqualTo(InvocationStatus.success);
112103
assertThat(result.action()).isEqualTo(InvocationAction.update);
113104
assertThat(result.payloadUpdate().apply(AuctionRequestPayloadImpl.of(givenBidRequest)))
@@ -128,19 +119,14 @@ public void callShouldCreateUserAndUseRequestedEidsWhenUserIsAbsent() {
128119
// given
129120
final BidRequest givenBidRequest = BidRequest.builder().id("request").user(null).build();
130121

131-
final String givenResponseBody = """
132-
{
133-
"eids": [{
134-
"source": "liveintent.com",
135-
"uids": [{
136-
"atype": 3,
137-
"id": "id2"
138-
}]
139-
}]
140-
}""";
122+
final Eid expectedEid = Eid.builder()
123+
.source("liveintent.com")
124+
.uids(singletonList(Uid.builder().id("id2").atype(3).build()))
125+
.build();
141126

127+
final String responseBody = MAPPER.encodeToString(IdResResponse.of(List.of(expectedEid)));
142128
given(httpClient.post(any(), any(), any(), anyLong()))
143-
.willReturn(Future.succeededFuture(HttpClientResponse.of(200, null, givenResponseBody)));
129+
.willReturn(Future.succeededFuture(HttpClientResponse.of(200, null, responseBody)));
144130

145131
final AuctionInvocationContext auctionInvocationContext = AuctionInvocationContextImpl.of(
146132
null, null, false, null, null);
@@ -150,11 +136,6 @@ public void callShouldCreateUserAndUseRequestedEidsWhenUserIsAbsent() {
150136
target.call(AuctionRequestPayloadImpl.of(givenBidRequest), auctionInvocationContext).result();
151137

152138
// then
153-
final Eid expectedEid = Eid.builder()
154-
.source("liveintent.com")
155-
.uids(singletonList(Uid.builder().id("id2").atype(3).build()))
156-
.build();
157-
158139
assertThat(result.status()).isEqualTo(InvocationStatus.success);
159140
assertThat(result.action()).isEqualTo(InvocationAction.update);
160141
assertThat(result.payloadUpdate().apply(AuctionRequestPayloadImpl.of(givenBidRequest)))

0 commit comments

Comments
 (0)