• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.adservices.adselection;
18 
19 import android.adservices.common.AdData;
20 import android.adservices.common.AdDataFixture;
21 import android.adservices.common.AdTechIdentifier;
22 import android.adservices.common.CommonFixture;
23 import android.net.Uri;
24 
25 import com.google.common.collect.ImmutableList;
26 import com.google.common.collect.ImmutableMap;
27 
28 import java.util.List;
29 import java.util.stream.Collectors;
30 
31 /**
32  * This is a static class meant to help with tests that involve creating an {@link ContextualAds}.
33  */
34 public class ContextualAdsFixture {
35 
36     public static final AdTechIdentifier BUYER = CommonFixture.VALID_BUYER_1;
37     public static final AdTechIdentifier BUYER_2 = CommonFixture.VALID_BUYER_2;
38 
39     // Uri Constants
40     public static final String DECISION_LOGIC_FRAGMENT = "/decisionFragment";
41 
42     public static final Uri DECISION_LOGIC_URI =
43             CommonFixture.getUri(BUYER, DECISION_LOGIC_FRAGMENT);
44 
45     private static final AdData VALID_AD_DATA = AdDataFixture.getValidAdDataByBuyer(BUYER, 0);
46     private static final double TEST_BID = 0.1;
47 
48     public static final AdWithBid AD_WITH_BID_1 = new AdWithBid(VALID_AD_DATA, TEST_BID);
49     public static final AdWithBid AD_WITH_BID_2 = new AdWithBid(VALID_AD_DATA, TEST_BID * 2);
50     public static final List<AdWithBid> ADS_WITH_BID =
51             ImmutableList.of(AD_WITH_BID_1, AD_WITH_BID_2);
52 
aContextualAdBuilder()53     public static ContextualAds.Builder aContextualAdBuilder() {
54         return new ContextualAds.Builder()
55                 .setBuyer(BUYER)
56                 .setDecisionLogicUri(DECISION_LOGIC_URI)
57                 .setAdsWithBid(ADS_WITH_BID);
58     }
59 
generateContextualAds( AdTechIdentifier buyer, List<Double> bids)60     public static ContextualAds.Builder generateContextualAds(
61             AdTechIdentifier buyer, List<Double> bids) {
62         return new ContextualAds.Builder()
63                 .setBuyer(buyer)
64                 .setDecisionLogicUri(CommonFixture.getUri(buyer, DECISION_LOGIC_FRAGMENT))
65                 .setAdsWithBid(
66                         bids.stream()
67                                 .map(
68                                         bid ->
69                                                 new AdWithBid(
70                                                         AdDataFixture.getValidAdDataByBuyer(
71                                                                 buyer, bid.intValue()),
72                                                         bid))
73                                 .collect(Collectors.toList()));
74     }
75 
aContextualAd()76     public static ContextualAds aContextualAd() {
77         return aContextualAdBuilder().build();
78     }
79 
aContextualAd(AdTechIdentifier buyer)80     public static ContextualAds aContextualAd(AdTechIdentifier buyer) {
81         return aContextualAdBuilder().setBuyer(buyer).build();
82     }
83 
getBuyerContextualAdsMap()84     public static ImmutableMap<AdTechIdentifier, ContextualAds> getBuyerContextualAdsMap() {
85         return ImmutableMap.of(
86                 CommonFixture.VALID_BUYER_1,
87                 aContextualAd(CommonFixture.VALID_BUYER_1),
88                 CommonFixture.VALID_BUYER_2,
89                 aContextualAd(CommonFixture.VALID_BUYER_2));
90     }
91 }
92