Home | History | Annotate | Download | only in parser
      1 /*
      2  * Copyright (C) 2017 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 package com.android.loganalysis.parser;
     17 
     18 import com.android.loganalysis.item.AppVersionItem;
     19 import com.android.loganalysis.item.DumpsysPackageStatsItem;
     20 
     21 import junit.framework.TestCase;
     22 
     23 import java.util.Arrays;
     24 import java.util.List;
     25 
     26 /** Unit tests for {@link DumpsysPackageStatsParser} */
     27 public class DumpsysPackageStatsParserTest extends TestCase {
     28 
     29     /** Test that normal input is parsed. */
     30     public void testDumpsysPackageStatsParser() {
     31         List<String> inputBlock =
     32                 Arrays.asList(
     33                         "DUMP OF SERVICE package:",
     34                         "Package [com.google.android.calculator] (e075c9d):",
     35                         "  userId=10071",
     36                         "  secondaryCpuAbi=null",
     37                         "  versionCode=73000302 minSdk=10000 targetSdk=10000",
     38                         "  versionName=7.3 (3821978)",
     39                         "  splits=[base]",
     40                         " Package [com.google.android.googlequicksearchbox] (607929e):",
     41                         "  userId=10037",
     42                         "  pkg=Package{af43294 com.google.android.googlequicksearchbox}",
     43                         "  versionCode=300734793 minSdk=10000 targetSdk=10000",
     44                         "  versionName=6.16.35.26.arm64",
     45                         "  apkSigningVersion=2");
     46 
     47         final DumpsysPackageStatsItem packagestats =
     48                 new DumpsysPackageStatsParser().parse(inputBlock);
     49         assertEquals(2, packagestats.size());
     50         assertNotNull(packagestats.get("com.google.android.calculator"));
     51         final AppVersionItem calculator = packagestats.get("com.google.android.calculator");
     52         assertEquals(73000302, calculator.getVersionCode());
     53         assertEquals("7.3 (3821978)", calculator.getVersionName());
     54         assertNotNull(packagestats.get("com.google.android.googlequicksearchbox"));
     55         final AppVersionItem googlequicksearchbox =
     56                 packagestats.get("com.google.android.googlequicksearchbox");
     57         assertEquals(300734793, googlequicksearchbox.getVersionCode());
     58         assertEquals("6.16.35.26.arm64", googlequicksearchbox.getVersionName());
     59     }
     60 }
     61