1 /* 2 * Copyright (C) 2022 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 com.android.adservices.service.stats; 18 19 import static com.android.adservices.service.stats.AdServicesStatsLog.RUN_AD_BIDDING_PER_CAPROCESS_REPORTED__BUYER_DECISION_LOGIC_SCRIPT_TYPE__JAVASCRIPT; 20 21 import static org.junit.Assert.assertEquals; 22 23 import android.adservices.common.AdServicesStatusUtils; 24 25 import org.junit.Test; 26 27 /** Unit tests for {@link RunAdBiddingPerCAProcessReportedStats}. */ 28 public class RunAdBiddingPerCAProcessReportedStatsTest { 29 static final int NUM_OF_ADS_FOR_BIDDING = 10; 30 static final int RUN_AD_BIDDING_PER_CA_LATENCY_IN_MILLIS = 5; 31 static final int RUN_AD_BIDDING_PER_CA_RESULT_CODE = AdServicesStatusUtils.STATUS_SUCCESS; 32 static final int GET_BUYER_DECISION_LOGIC_LATENCY_IN_MILLIS = 5; 33 static final int GET_BUYER_DECISION_LOGIC_RESULT_CODE = AdServicesStatusUtils.STATUS_SUCCESS; 34 static final int BUYER_DECISION_LOGIC_SCRIPT_TYPE = 35 RUN_AD_BIDDING_PER_CAPROCESS_REPORTED__BUYER_DECISION_LOGIC_SCRIPT_TYPE__JAVASCRIPT; 36 static final int FETCHED_BUYER_DECISION_LOGIC_SCRIPT_SIZE_IN_BYTES = 10; 37 static final int NUM_OF_KEYS_OF_TRUSTED_BIDDING_SIGNALS = 10; 38 static final int FETCHED_TRUSTED_BIDDING_SIGNALS_DATA_SIZE_IN_BYTES = 10; 39 static final int GET_TRUSTED_BIDDING_SIGNALS_LATENCY_IN_MILLIS = 5; 40 static final int GENERATE_BIDS_LATENCY_IN_MILLIS = 10; 41 static final int RUN_BIDDING_LATENCY_IN_MILLIS = 5; 42 static final int RUN_BIDDING_RESULT_CODE = AdServicesStatusUtils.STATUS_SUCCESS; 43 static final int GET_TRUSTED_BIDDING_SIGNALS_RESULT_CODE = AdServicesStatusUtils.STATUS_SUCCESS; 44 45 @Test testBuilderCreateSuccess()46 public void testBuilderCreateSuccess() { 47 RunAdBiddingPerCAProcessReportedStats stats = 48 RunAdBiddingPerCAProcessReportedStats.builder() 49 .setNumOfAdsForBidding(NUM_OF_ADS_FOR_BIDDING) 50 .setRunAdBiddingPerCaLatencyInMillis( 51 RUN_AD_BIDDING_PER_CA_LATENCY_IN_MILLIS) 52 .setRunAdBiddingPerCaResultCode(RUN_AD_BIDDING_PER_CA_RESULT_CODE) 53 .setGetBuyerDecisionLogicLatencyInMillis( 54 GET_BUYER_DECISION_LOGIC_LATENCY_IN_MILLIS) 55 .setGetBuyerDecisionLogicResultCode(GET_BUYER_DECISION_LOGIC_RESULT_CODE) 56 .setBuyerDecisionLogicScriptType(BUYER_DECISION_LOGIC_SCRIPT_TYPE) 57 .setFetchedBuyerDecisionLogicScriptSizeInBytes( 58 FETCHED_BUYER_DECISION_LOGIC_SCRIPT_SIZE_IN_BYTES) 59 .setNumOfKeysOfTrustedBiddingSignals(NUM_OF_KEYS_OF_TRUSTED_BIDDING_SIGNALS) 60 .setFetchedTrustedBiddingSignalsDataSizeInBytes( 61 FETCHED_TRUSTED_BIDDING_SIGNALS_DATA_SIZE_IN_BYTES) 62 .setGetTrustedBiddingSignalsLatencyInMillis( 63 GET_TRUSTED_BIDDING_SIGNALS_LATENCY_IN_MILLIS) 64 .setGetTrustedBiddingSignalsResultCode( 65 GET_TRUSTED_BIDDING_SIGNALS_RESULT_CODE) 66 .setGenerateBidsLatencyInMillis(GENERATE_BIDS_LATENCY_IN_MILLIS) 67 .setRunBiddingLatencyInMillis(RUN_BIDDING_LATENCY_IN_MILLIS) 68 .setRunBiddingResultCode(RUN_BIDDING_RESULT_CODE) 69 .build(); 70 assertEquals(NUM_OF_ADS_FOR_BIDDING, stats.getNumOfAdsForBidding()); 71 assertEquals( 72 RUN_AD_BIDDING_PER_CA_LATENCY_IN_MILLIS, 73 stats.getRunAdBiddingPerCaLatencyInMillis()); 74 assertEquals(RUN_AD_BIDDING_PER_CA_RESULT_CODE, stats.getRunAdBiddingPerCaResultCode()); 75 assertEquals( 76 GET_BUYER_DECISION_LOGIC_LATENCY_IN_MILLIS, 77 stats.getGetBuyerDecisionLogicLatencyInMillis()); 78 assertEquals( 79 GET_BUYER_DECISION_LOGIC_RESULT_CODE, stats.getGetBuyerDecisionLogicResultCode()); 80 assertEquals(BUYER_DECISION_LOGIC_SCRIPT_TYPE, stats.getBuyerDecisionLogicScriptType()); 81 assertEquals( 82 FETCHED_BUYER_DECISION_LOGIC_SCRIPT_SIZE_IN_BYTES, 83 stats.getFetchedBuyerDecisionLogicScriptSizeInBytes()); 84 assertEquals( 85 NUM_OF_KEYS_OF_TRUSTED_BIDDING_SIGNALS, 86 stats.getNumOfKeysOfTrustedBiddingSignals()); 87 assertEquals( 88 FETCHED_TRUSTED_BIDDING_SIGNALS_DATA_SIZE_IN_BYTES, 89 stats.getFetchedTrustedBiddingSignalsDataSizeInBytes()); 90 assertEquals( 91 GET_TRUSTED_BIDDING_SIGNALS_LATENCY_IN_MILLIS, 92 stats.getGetTrustedBiddingSignalsLatencyInMillis()); 93 assertEquals( 94 GET_TRUSTED_BIDDING_SIGNALS_RESULT_CODE, 95 stats.getGetTrustedBiddingSignalsResultCode()); 96 assertEquals(GENERATE_BIDS_LATENCY_IN_MILLIS, stats.getGenerateBidsLatencyInMillis()); 97 assertEquals(RUN_BIDDING_LATENCY_IN_MILLIS, stats.getRunBiddingLatencyInMillis()); 98 assertEquals(RUN_BIDDING_RESULT_CODE, stats.getRunBiddingResultCode()); 99 } 100 } 101