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 org.junit.Assert.assertEquals; 20 21 import android.adservices.common.AdServicesStatusUtils; 22 23 import org.junit.Test; 24 25 /** Unit tests for {@link RunAdScoringProcessReportedStats}. */ 26 public class RunAdScoringProcessReportedStatsTest { 27 static final int GET_AD_SELECTION_LOGIC_LATENCY_IN_MILLIS = 10; 28 static final int FETCHED_AD_SELECTION_LOGIC_SCRIPT_SIZE_IN_BYTES = 20; 29 static final int GET_TRUSTED_SCORING_SIGNALS_LATENCY_IN_MILLIS = 10; 30 static final int FETCHED_TRUSTED_SCORING_SIGNALS_DATA_SIZE_IN_BYTES = 10; 31 static final int SCORE_ADS_LATENCY_IN_MILLIS = 5; 32 static final int GET_AD_SCORES_LATENCY_IN_MILLIS = 5; 33 static final int GET_AD_SELECTION_LOGIC_RESULT_CODE = AdServicesStatusUtils.STATUS_SUCCESS; 34 static final int GET_AD_SCORES_RESULT_CODE = AdServicesStatusUtils.STATUS_SUCCESS; 35 static final int GET_TRUSTED_SCORING_SIGNALS_RESULT_CODE = AdServicesStatusUtils.STATUS_SUCCESS; 36 static final int NUM_OF_CAS_ENTERING_SCORING = 5; 37 static final int NUM_OF_REMARKETING_ADS_ENTERING_SCORING = 6; 38 static final int NUM_OF_CONTEXTUAL_ADS_ENTERING_SCORING = 0; 39 static final int RUN_AD_SCORING_LATENCY_IN_MILLIS = 10; 40 static final int RUN_AD_SCORING_RESULT_CODE = AdServicesStatusUtils.STATUS_SUCCESS; 41 static final int GET_AD_SELECTION_LOGIC_SCRIPT_TYPE = AdServicesStatusUtils.STATUS_SUCCESS; 42 43 @Test testBuilderCreateSuccess()44 public void testBuilderCreateSuccess() { 45 RunAdScoringProcessReportedStats stats = 46 RunAdScoringProcessReportedStats.builder() 47 .setGetAdSelectionLogicLatencyInMillis( 48 GET_AD_SELECTION_LOGIC_LATENCY_IN_MILLIS) 49 .setGetAdSelectionLogicResultCode(GET_AD_SELECTION_LOGIC_RESULT_CODE) 50 .setGetAdSelectionLogicScriptType(GET_AD_SELECTION_LOGIC_SCRIPT_TYPE) 51 .setFetchedAdSelectionLogicScriptSizeInBytes( 52 FETCHED_AD_SELECTION_LOGIC_SCRIPT_SIZE_IN_BYTES) 53 .setGetTrustedScoringSignalsLatencyInMillis( 54 GET_TRUSTED_SCORING_SIGNALS_LATENCY_IN_MILLIS) 55 .setGetTrustedScoringSignalsResultCode( 56 GET_TRUSTED_SCORING_SIGNALS_RESULT_CODE) 57 .setFetchedTrustedScoringSignalsDataSizeInBytes( 58 FETCHED_TRUSTED_SCORING_SIGNALS_DATA_SIZE_IN_BYTES) 59 .setScoreAdsLatencyInMillis(SCORE_ADS_LATENCY_IN_MILLIS) 60 .setGetAdScoresLatencyInMillis(GET_AD_SCORES_LATENCY_IN_MILLIS) 61 .setGetAdScoresResultCode(GET_AD_SCORES_RESULT_CODE) 62 .setNumOfCasEnteringScoring(NUM_OF_CAS_ENTERING_SCORING) 63 .setNumOfRemarketingAdsEnteringScoring( 64 NUM_OF_REMARKETING_ADS_ENTERING_SCORING) 65 .setNumOfContextualAdsEnteringScoring( 66 NUM_OF_CONTEXTUAL_ADS_ENTERING_SCORING) 67 .setRunAdScoringLatencyInMillis(RUN_AD_SCORING_LATENCY_IN_MILLIS) 68 .setRunAdScoringResultCode(RUN_AD_SCORING_RESULT_CODE) 69 .build(); 70 assertEquals( 71 GET_AD_SELECTION_LOGIC_LATENCY_IN_MILLIS, 72 stats.getGetAdSelectionLogicLatencyInMillis()); 73 assertEquals(GET_AD_SELECTION_LOGIC_RESULT_CODE, stats.getGetAdSelectionLogicResultCode()); 74 assertEquals(GET_AD_SELECTION_LOGIC_SCRIPT_TYPE, stats.getGetAdSelectionLogicScriptType()); 75 assertEquals( 76 FETCHED_AD_SELECTION_LOGIC_SCRIPT_SIZE_IN_BYTES, 77 stats.getFetchedAdSelectionLogicScriptSizeInBytes()); 78 assertEquals( 79 GET_TRUSTED_SCORING_SIGNALS_LATENCY_IN_MILLIS, 80 stats.getGetTrustedScoringSignalsLatencyInMillis()); 81 assertEquals( 82 GET_TRUSTED_SCORING_SIGNALS_RESULT_CODE, 83 stats.getGetTrustedScoringSignalsResultCode()); 84 assertEquals( 85 FETCHED_TRUSTED_SCORING_SIGNALS_DATA_SIZE_IN_BYTES, 86 stats.getFetchedTrustedScoringSignalsDataSizeInBytes()); 87 assertEquals(SCORE_ADS_LATENCY_IN_MILLIS, stats.getScoreAdsLatencyInMillis()); 88 assertEquals(GET_AD_SCORES_LATENCY_IN_MILLIS, stats.getGetAdScoresLatencyInMillis()); 89 assertEquals(GET_AD_SCORES_RESULT_CODE, stats.getGetAdScoresResultCode()); 90 assertEquals(NUM_OF_CAS_ENTERING_SCORING, stats.getNumOfCasEnteringScoring()); 91 assertEquals( 92 NUM_OF_REMARKETING_ADS_ENTERING_SCORING, 93 stats.getNumOfRemarketingAdsEnteringScoring()); 94 assertEquals( 95 NUM_OF_CONTEXTUAL_ADS_ENTERING_SCORING, 96 stats.getNumOfContextualAdsEnteringScoring()); 97 assertEquals(RUN_AD_SCORING_LATENCY_IN_MILLIS, stats.getRunAdScoringLatencyInMillis()); 98 assertEquals(RUN_AD_SCORING_RESULT_CODE, stats.getRunAdScoringResultCode()); 99 } 100 } 101