Merge "Starting Unit Tests for Metrics" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b42ac69390
@@ -30,6 +30,7 @@ import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INI
|
|||||||
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_REGISTER_CREDENTIAL_DESCRIPTION;
|
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_REGISTER_CREDENTIAL_DESCRIPTION;
|
||||||
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_SET_ENABLED_PROVIDERS;
|
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_SET_ENABLED_PROVIDERS;
|
||||||
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_UNKNOWN;
|
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_UNKNOWN;
|
||||||
|
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_UNREGISTER_CREDENTIAL_DESCRIPTION;
|
||||||
|
|
||||||
import android.credentials.ui.RequestInfo;
|
import android.credentials.ui.RequestInfo;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
@@ -61,7 +62,7 @@ CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_IS_ENABLED_CREDENT
|
|||||||
),
|
),
|
||||||
|
|
||||||
UNREGISTER_CREDENTIAL_DESCRIPTION(
|
UNREGISTER_CREDENTIAL_DESCRIPTION(
|
||||||
CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_REGISTER_CREDENTIAL_DESCRIPTION
|
CREDENTIAL_MANAGER_INITIAL_PHASE_REPORTED__API_NAME__API_NAME_UNREGISTER_CREDENTIAL_DESCRIPTION
|
||||||
);
|
);
|
||||||
|
|
||||||
private static final String TAG = "ApiName";
|
private static final String TAG = "ApiName";
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.android.server.credentials;
|
||||||
|
|
||||||
|
import androidx.test.filters.SmallTest;
|
||||||
|
import androidx.test.runner.AndroidJUnit4;
|
||||||
|
|
||||||
|
import com.android.server.credentials.metrics.InitialPhaseMetric;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Given the secondary-system nature of the MetricUtilities, we expect absolutely nothing to
|
||||||
|
* throw an error. If one presents itself, that is problematic.
|
||||||
|
*
|
||||||
|
* atest FrameworksServicesTests:com.android.server.credentials.MetricUtilitiesTest
|
||||||
|
*/
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
@SmallTest
|
||||||
|
public final class MetricUtilitiesTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void logApiCalledInitialPhase_nullInitPhaseMetricAndNegativeSequence_success() {
|
||||||
|
MetricUtilities.logApiCalledInitialPhase(null, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void logApiCalledInitialPhase_invalidInitPhaseMetricAndPositiveSequence_success() {
|
||||||
|
MetricUtilities.logApiCalledInitialPhase(new InitialPhaseMetric(-1), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void logApiCalledInitialPhase_validInitPhaseMetric_success() {
|
||||||
|
InitialPhaseMetric validInitPhaseMetric = new InitialPhaseMetric(
|
||||||
|
MetricUtilities.getHighlyUniqueInteger());
|
||||||
|
MetricUtilities.logApiCalledInitialPhase(validInitPhaseMetric, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.android.server.credentials.metrics;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@SmallTest
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
public class ApiNameTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getMetricCode_matchesWestWorldMetricCode_success() {
|
||||||
|
// com.android.os is only visible in cts tests, so we need to mimic it for server side unit
|
||||||
|
// tests. aidegen can identify it but builds will not. Thus, this is the workaround.
|
||||||
|
Set<Integer> expectedApiNames = new HashSet<>();
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
expectedApiNames.add(i);
|
||||||
|
}
|
||||||
|
Set<Integer> actualServerApiNames = Arrays.stream(ApiName.values())
|
||||||
|
.map(ApiName::getMetricCode).collect(Collectors.toSet());
|
||||||
|
|
||||||
|
assertThat(actualServerApiNames).containsExactlyElementsIn(expectedApiNames);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.server.credentials.metrics;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@SmallTest
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
public class ApiStatusTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getMetricCode_matchesWestWorldMetricCode_success() {
|
||||||
|
Set<Integer> expectedApiStatus = new HashSet<>();
|
||||||
|
for (int i = 1; i < 5; i++) {
|
||||||
|
expectedApiStatus.add(i);
|
||||||
|
}
|
||||||
|
Set<Integer> actualServerApiStatus = Arrays.stream(ApiStatus.values())
|
||||||
|
.map(ApiStatus::getMetricCode).collect(Collectors.toSet());
|
||||||
|
|
||||||
|
assertThat(actualServerApiStatus).containsExactlyElementsIn(expectedApiStatus);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.server.credentials.metrics;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@SmallTest
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
public class EntryEnumTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getMetricCode_matchesWestWorldMetricCode_success() {
|
||||||
|
Set<Integer> expectedEntryEnum = new HashSet<>();
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
expectedEntryEnum.add(i);
|
||||||
|
}
|
||||||
|
Set<Integer> actualServerEntryEnum = Arrays.stream(EntryEnum.values())
|
||||||
|
.map(EntryEnum::getMetricCode).collect(Collectors.toSet());
|
||||||
|
|
||||||
|
assertThat(actualServerEntryEnum).containsExactlyElementsIn(expectedEntryEnum);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user