aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Onea <andreionea@google.com>2022-07-19 14:22:06 +0000
committerAndrei Onea <andreionea@google.com>2022-07-19 14:31:41 +0000
commitc8927342523b6a4440a4f9cf0ecb0d671bd35811 (patch)
treea11433bcd6d31f8b49f02d1daa502f816cccf19c
parent46c6d37aa623fe37264306331bfe6a7617a88b20 (diff)
downloadmodules-utils-c8927342523b6a4440a4f9cf0ecb0d671bd35811.tar.gz
Fix ModulesUtilsTestingTests on Q devices
The DeviceConfig.getProperties API was introduced in R, so exclude earlier builds from tests that use that API (as well as prevent that method being mocked). Test: atest ModulesUtilsTestingTests #on Q device Bug: 239527036 Ignore-AOSP-First: Fix MTS tests Change-Id: I548badcc3d45f59fb6287eadb66112087d5e15ac
-rw-r--r--java/com/android/modules/utils/testing/TestableDeviceConfig.java40
-rw-r--r--javatests/com/android/modules/utils/testing/TestableDeviceConfigTest.java4
2 files changed, 25 insertions, 19 deletions
diff --git a/java/com/android/modules/utils/testing/TestableDeviceConfig.java b/java/com/android/modules/utils/testing/TestableDeviceConfig.java
index 2012ad4..7177c74 100644
--- a/java/com/android/modules/utils/testing/TestableDeviceConfig.java
+++ b/java/com/android/modules/utils/testing/TestableDeviceConfig.java
@@ -130,27 +130,29 @@ public final class TestableDeviceConfig implements StaticMockFixture {
String name = invocationOnMock.getArgument(1);
return mKeyValueMap.get(getKey(namespace, name));
}).when(() -> DeviceConfig.getProperty(anyString(), anyString()));
-
- doAnswer((Answer<Properties>) invocationOnMock -> {
- String namespace = invocationOnMock.getArgument(0);
- final int varargStartIdx = 1;
- Map<String, String> keyValues = new ArrayMap<>();
- if (invocationOnMock.getArguments().length == varargStartIdx) {
- mKeyValueMap.entrySet().forEach(entry -> {
- Pair<String, String> nameSpaceAndName = getNameSpaceAndName(entry.getKey());
- if (!nameSpaceAndName.first.equals(namespace)) {
- return;
+ if (SdkLevel.isAtLeastR()) {
+ doAnswer((Answer<Properties>) invocationOnMock -> {
+ String namespace = invocationOnMock.getArgument(0);
+ final int varargStartIdx = 1;
+ Map<String, String> keyValues = new ArrayMap<>();
+ if (invocationOnMock.getArguments().length == varargStartIdx) {
+ mKeyValueMap.entrySet().forEach(entry -> {
+ Pair<String, String> nameSpaceAndName = getNameSpaceAndName(entry.getKey());
+ if (!nameSpaceAndName.first.equals(namespace)) {
+ return;
+ }
+ keyValues.put(nameSpaceAndName.second.toLowerCase(), entry.getValue());
+ });
+ } else {
+ for (int i = varargStartIdx; i < invocationOnMock.getArguments().length; ++i) {
+ String name = invocationOnMock.getArgument(i);
+ keyValues.put(name.toLowerCase(),
+ mKeyValueMap.get(getKey(namespace, name)));
}
- keyValues.put(nameSpaceAndName.second.toLowerCase(), entry.getValue());
- });
- } else {
- for (int i = varargStartIdx; i < invocationOnMock.getArguments().length; ++i) {
- String name = invocationOnMock.getArgument(i);
- keyValues.put(name.toLowerCase(), mKeyValueMap.get(getKey(namespace, name)));
}
- }
- return getProperties(namespace, keyValues);
- }).when(() -> DeviceConfig.getProperties(anyString(), ArgumentMatchers.<String>any()));
+ return getProperties(namespace, keyValues);
+ }).when(() -> DeviceConfig.getProperties(anyString(), ArgumentMatchers.<String>any()));
+ }
}
/**
diff --git a/javatests/com/android/modules/utils/testing/TestableDeviceConfigTest.java b/javatests/com/android/modules/utils/testing/TestableDeviceConfigTest.java
index 1b2c844..ac0252e 100644
--- a/javatests/com/android/modules/utils/testing/TestableDeviceConfigTest.java
+++ b/javatests/com/android/modules/utils/testing/TestableDeviceConfigTest.java
@@ -127,6 +127,8 @@ public class TestableDeviceConfigTest {
@Test
public void getProperties_empty() {
+ // api only present on R+
+ assumeTrue(SdkLevel.isAtLeastR());
String newKey = "key2";
String newValue = "value2";
DeviceConfig.setProperty(sNamespace, sKey, sValue, false);
@@ -143,6 +145,8 @@ public class TestableDeviceConfigTest {
@Test
public void getProperties() {
+ // api only present on R+
+ assumeTrue(SdkLevel.isAtLeastR());
Properties properties = DeviceConfig.getProperties(sNamespace, sKey);
assertThat(properties.getString(sKey, null)).isNull();