aboutsummaryrefslogtreecommitdiff
path: root/tests/carservice_unit_test/src/com/android/car/hal/UserHalHelperTest.java
diff options
context:
space:
mode:
authorYu Shan <shanyu@google.com>2021-12-02 18:07:44 -0800
committerYu Shan <shanyu@google.com>2022-01-25 11:19:27 -0800
commit8801d129b6300828e83a60789be1f6fec7097340 (patch)
tree395432b9708e5e65760477ba31224931bb43522d /tests/carservice_unit_test/src/com/android/car/hal/UserHalHelperTest.java
parent0ce959fb408b4d3eb081632e4e894f5392d67634 (diff)
downloadCar-8801d129b6300828e83a60789be1f6fec7097340.tar.gz
Migrate UserHal and CarShellCommand to AIDL type.
Migrate UserHal to new AIDL types. CarShellCommand is using UserHal so migrate it as well. No logic change in this CL. Test: atest CarServiceUnitTest:com.android.car.user atest CarServiceTest Bug: 205774940 Change-Id: I17bd554046df006c128ea855b17c27f1cad3dad2
Diffstat (limited to 'tests/carservice_unit_test/src/com/android/car/hal/UserHalHelperTest.java')
-rw-r--r--tests/carservice_unit_test/src/com/android/car/hal/UserHalHelperTest.java999
1 files changed, 546 insertions, 453 deletions
diff --git a/tests/carservice_unit_test/src/com/android/car/hal/UserHalHelperTest.java b/tests/carservice_unit_test/src/com/android/car/hal/UserHalHelperTest.java
index 952fa75b5a..8c9c34c43e 100644
--- a/tests/carservice_unit_test/src/com/android/car/hal/UserHalHelperTest.java
+++ b/tests/carservice_unit_test/src/com/android/car/hal/UserHalHelperTest.java
@@ -18,20 +18,21 @@ package com.android.car.hal;
import static android.car.test.mocks.AndroidMockitoHelper.mockAmGetCurrentUser;
import static android.car.test.mocks.AndroidMockitoHelper.mockUmGetUserHandles;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationSetValue.ASSOCIATE_CURRENT_USER;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationSetValue.DISASSOCIATE_ALL_USERS;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationSetValue.DISASSOCIATE_CURRENT_USER;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationType.CUSTOM_1;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationType.CUSTOM_2;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationType.CUSTOM_3;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationType.CUSTOM_4;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationType.KEY_FOB;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationValue.ASSOCIATED_ANOTHER_USER;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationValue.ASSOCIATED_CURRENT_USER;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationValue.NOT_ASSOCIATED_ANY_USER;
-import static android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationValue.UNKNOWN;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationSetValue.ASSOCIATE_CURRENT_USER;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationSetValue.DISASSOCIATE_ALL_USERS;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationSetValue.DISASSOCIATE_CURRENT_USER;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationType.CUSTOM_1;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationType.CUSTOM_2;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationType.CUSTOM_3;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationType.CUSTOM_4;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationType.KEY_FOB;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationValue.ASSOCIATED_ANOTHER_USER;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationValue.ASSOCIATED_CURRENT_USER;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationValue.NOT_ASSOCIATED_ANY_USER;
+import static android.hardware.automotive.vehicle.UserIdentificationAssociationValue.UNKNOWN;
import static com.android.car.hal.UserHalHelper.CREATE_USER_PROPERTY;
+import static com.android.car.hal.UserHalHelper.INITIAL_USER_INFO_PROPERTY;
import static com.android.car.hal.UserHalHelper.REMOVE_USER_PROPERTY;
import static com.android.car.hal.UserHalHelper.SWITCH_USER_PROPERTY;
import static com.android.car.hal.UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY;
@@ -51,46 +52,57 @@ import android.annotation.NonNull;
import android.app.ActivityManager;
import android.car.builtin.os.UserManagerHelper;
import android.car.test.mocks.AbstractExtendedMockitoTestCase;
-import android.hardware.automotive.vehicle.V2_0.CreateUserRequest;
-import android.hardware.automotive.vehicle.V2_0.InitialUserInfoRequestType;
-import android.hardware.automotive.vehicle.V2_0.InitialUserInfoResponse;
-import android.hardware.automotive.vehicle.V2_0.InitialUserInfoResponseAction;
-import android.hardware.automotive.vehicle.V2_0.RemoveUserRequest;
-import android.hardware.automotive.vehicle.V2_0.SwitchUserMessageType;
-import android.hardware.automotive.vehicle.V2_0.SwitchUserRequest;
-import android.hardware.automotive.vehicle.V2_0.UserFlags;
-import android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociation;
-import android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationType;
-import android.hardware.automotive.vehicle.V2_0.UserIdentificationAssociationValue;
-import android.hardware.automotive.vehicle.V2_0.UserIdentificationGetRequest;
-import android.hardware.automotive.vehicle.V2_0.UserIdentificationResponse;
-import android.hardware.automotive.vehicle.V2_0.UserIdentificationSetAssociation;
-import android.hardware.automotive.vehicle.V2_0.UserIdentificationSetRequest;
-import android.hardware.automotive.vehicle.V2_0.UsersInfo;
-import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
-import android.os.SystemClock;
+import android.hardware.automotive.vehicle.CreateUserRequest;
+import android.hardware.automotive.vehicle.InitialUserInfoRequestType;
+import android.hardware.automotive.vehicle.InitialUserInfoResponse;
+import android.hardware.automotive.vehicle.InitialUserInfoResponseAction;
+import android.hardware.automotive.vehicle.RemoveUserRequest;
+import android.hardware.automotive.vehicle.SwitchUserMessageType;
+import android.hardware.automotive.vehicle.SwitchUserRequest;
+import android.hardware.automotive.vehicle.UserIdentificationAssociation;
+import android.hardware.automotive.vehicle.UserIdentificationAssociationType;
+import android.hardware.automotive.vehicle.UserIdentificationAssociationValue;
+import android.hardware.automotive.vehicle.UserIdentificationGetRequest;
+import android.hardware.automotive.vehicle.UserIdentificationResponse;
+import android.hardware.automotive.vehicle.UserIdentificationSetAssociation;
+import android.hardware.automotive.vehicle.UserIdentificationSetRequest;
+import android.hardware.automotive.vehicle.UserInfo;
+import android.hardware.automotive.vehicle.UsersInfo;
import android.os.UserHandle;
import android.os.UserManager;
+import com.android.car.internal.util.DebugUtils;
import com.android.car.user.UserHandleHelper;
-import com.google.common.collect.Range;
-
import org.junit.Test;
import org.mockito.Mock;
+import java.util.ArrayList;
+import java.util.List;
+
public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
public UserHalHelperTest() {
super(UserHalHelper.TAG);
}
+ private HalPropValueBuilder mPropValueBuilder = new HalPropValueBuilder(/*isAidl=*/true);
+
@Mock
private UserManager mUm;
@Mock
private UserHandleHelper mUserHandleHelper;
+ private static List<Integer> getInt32Values(HalPropValue propValue) {
+ int size = propValue.getInt32ValuesSize();
+ ArrayList<Integer> intValues = new ArrayList<>(size);
+ for (int i = 0; i < size; i++) {
+ intValues.add(propValue.getInt32Value(i));
+ }
+ return intValues;
+ }
+
@Override
protected void onSessionBuilder(CustomMockitoSessionBuilder session) {
session.spyStatic(ActivityManager.class);
@@ -132,19 +144,19 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testConvertFlags() {
UserHandle user = expectSystemUserExists(mUserHandleHelper, UserHandle.USER_SYSTEM);
- assertConvertFlags(UserFlags.SYSTEM, user);
+ assertConvertFlags(UserInfo.USER_FLAG_SYSTEM, user);
user = expectRegularUserExists(mUserHandleHelper, 101);
- assertConvertFlags(UserFlags.NONE, user);
+ assertConvertFlags(0, user);
user = expectAdminUserExists(mUserHandleHelper, 102);
- assertConvertFlags(UserFlags.ADMIN, user);
+ assertConvertFlags(UserInfo.USER_FLAG_ADMIN, user);
user = expectEphemeralUserExists(mUserHandleHelper, 103);
- assertConvertFlags(UserFlags.EPHEMERAL, user);
+ assertConvertFlags(UserInfo.USER_FLAG_EPHEMERAL, user);
user = expectGuestUserExists(mUserHandleHelper, 104, /* isEphemeral= */ true);
- assertConvertFlags(UserFlags.GUEST | UserFlags.EPHEMERAL, user);
+ assertConvertFlags(UserInfo.USER_FLAG_GUEST | UserInfo.USER_FLAG_EPHEMERAL, user);
}
@Test
@@ -161,76 +173,77 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testGetFlags_ok() {
UserHandle user = expectSystemUserExists(mUserHandleHelper, UserHandle.USER_SYSTEM);
- assertGetFlags(UserFlags.SYSTEM, user);
+ assertGetFlags(UserInfo.USER_FLAG_SYSTEM, user);
user = expectRegularUserExists(mUserHandleHelper, 101);
- assertGetFlags(UserFlags.NONE, user);
+ assertGetFlags(0, user);
user = expectAdminUserExists(mUserHandleHelper, 102);
- assertGetFlags(UserFlags.ADMIN, user);
+ assertGetFlags(UserInfo.USER_FLAG_ADMIN, user);
user = expectEphemeralUserExists(mUserHandleHelper, 103);
- assertGetFlags(UserFlags.EPHEMERAL, user);
+ assertGetFlags(UserInfo.USER_FLAG_EPHEMERAL, user);
user = expectGuestUserExists(mUserHandleHelper, 104, /* isEphemeral= */ true);
- assertGetFlags(UserFlags.GUEST | UserFlags.EPHEMERAL, user);
+ assertGetFlags(UserInfo.USER_FLAG_GUEST | UserInfo.USER_FLAG_EPHEMERAL, user);
}
@Test
public void testIsSystem() {
- assertThat(UserHalHelper.isSystem(UserFlags.SYSTEM)).isTrue();
- assertThat(UserHalHelper.isSystem(UserFlags.SYSTEM | 666)).isTrue();
- assertThat(UserHalHelper.isSystem(UserFlags.GUEST)).isFalse();
+ assertThat(UserHalHelper.isSystem(UserInfo.USER_FLAG_SYSTEM)).isTrue();
+ assertThat(UserHalHelper.isSystem(UserInfo.USER_FLAG_SYSTEM | 666)).isTrue();
+ assertThat(UserHalHelper.isSystem(UserInfo.USER_FLAG_GUEST)).isFalse();
}
@Test
public void testIsGuest() {
- assertThat(UserHalHelper.isGuest(UserFlags.GUEST)).isTrue();
- assertThat(UserHalHelper.isGuest(UserFlags.GUEST | 666)).isTrue();
- assertThat(UserHalHelper.isGuest(UserFlags.SYSTEM)).isFalse();
+ assertThat(UserHalHelper.isGuest(UserInfo.USER_FLAG_GUEST)).isTrue();
+ assertThat(UserHalHelper.isGuest(UserInfo.USER_FLAG_GUEST | 666)).isTrue();
+ assertThat(UserHalHelper.isGuest(UserInfo.USER_FLAG_SYSTEM)).isFalse();
}
@Test
public void testIsEphemeral() {
- assertThat(UserHalHelper.isEphemeral(UserFlags.EPHEMERAL)).isTrue();
- assertThat(UserHalHelper.isEphemeral(UserFlags.EPHEMERAL | 666)).isTrue();
- assertThat(UserHalHelper.isEphemeral(UserFlags.GUEST)).isFalse();
+ assertThat(UserHalHelper.isEphemeral(UserInfo.USER_FLAG_EPHEMERAL)).isTrue();
+ assertThat(UserHalHelper.isEphemeral(UserInfo.USER_FLAG_EPHEMERAL | 666)).isTrue();
+ assertThat(UserHalHelper.isEphemeral(UserInfo.USER_FLAG_GUEST)).isFalse();
}
@Test
public void testIsAdmin() {
- assertThat(UserHalHelper.isAdmin(UserFlags.ADMIN)).isTrue();
- assertThat(UserHalHelper.isAdmin(UserFlags.ADMIN | 666)).isTrue();
- assertThat(UserHalHelper.isAdmin(UserFlags.GUEST)).isFalse();
+ assertThat(UserHalHelper.isAdmin(UserInfo.USER_FLAG_ADMIN)).isTrue();
+ assertThat(UserHalHelper.isAdmin(UserInfo.USER_FLAG_ADMIN | 666)).isTrue();
+ assertThat(UserHalHelper.isAdmin(UserInfo.USER_FLAG_GUEST)).isFalse();
}
@Test
public void testIsDisabled() {
- assertThat(UserHalHelper.isDisabled(UserFlags.DISABLED)).isTrue();
- assertThat(UserHalHelper.isDisabled(UserFlags.DISABLED | 666)).isTrue();
- assertThat(UserHalHelper.isDisabled(UserFlags.GUEST)).isFalse();
+ assertThat(UserHalHelper.isDisabled(UserInfo.USER_FLAG_DISABLED)).isTrue();
+ assertThat(UserHalHelper.isDisabled(UserInfo.USER_FLAG_DISABLED | 666)).isTrue();
+ assertThat(UserHalHelper.isDisabled(UserInfo.USER_FLAG_GUEST)).isFalse();
}
@Test
public void testIsProfile() {
- assertThat(UserHalHelper.isProfile(UserFlags.PROFILE)).isTrue();
- assertThat(UserHalHelper.isProfile(UserFlags.PROFILE | 666)).isTrue();
- assertThat(UserHalHelper.isProfile(UserFlags.GUEST)).isFalse();
+ assertThat(UserHalHelper.isProfile(UserInfo.USER_FLAG_PROFILE)).isTrue();
+ assertThat(UserHalHelper.isProfile(UserInfo.USER_FLAG_PROFILE | 666)).isTrue();
+ assertThat(UserHalHelper.isProfile(UserInfo.USER_FLAG_GUEST)).isFalse();
}
@Test
public void testToUserInfoFlags() {
- assertThat(UserHalHelper.toUserInfoFlags(UserFlags.NONE)).isEqualTo(0);
- assertThat(UserHalHelper.toUserInfoFlags(UserFlags.EPHEMERAL))
+ assertThat(UserHalHelper.toUserInfoFlags(0)).isEqualTo(0);
+ assertThat(UserHalHelper.toUserInfoFlags(UserInfo.USER_FLAG_EPHEMERAL))
.isEqualTo(UserManagerHelper.FLAG_EPHEMERAL);
- assertThat(UserHalHelper.toUserInfoFlags(UserFlags.ADMIN))
+ assertThat(UserHalHelper.toUserInfoFlags(UserInfo.USER_FLAG_ADMIN))
.isEqualTo(UserManagerHelper.FLAG_ADMIN);
- assertThat(UserHalHelper.toUserInfoFlags(UserFlags.EPHEMERAL | UserFlags.ADMIN))
+ assertThat(UserHalHelper.toUserInfoFlags(
+ UserInfo.USER_FLAG_EPHEMERAL | UserInfo.USER_FLAG_ADMIN))
.isEqualTo(UserManagerHelper.FLAG_EPHEMERAL | UserManagerHelper.FLAG_ADMIN);
// test flags that should be ignored
- assertThat(UserHalHelper.toUserInfoFlags(UserFlags.SYSTEM)).isEqualTo(0);
- assertThat(UserHalHelper.toUserInfoFlags(UserFlags.GUEST)).isEqualTo(0);
+ assertThat(UserHalHelper.toUserInfoFlags(UserInfo.USER_FLAG_SYSTEM)).isEqualTo(0);
+ assertThat(UserHalHelper.toUserInfoFlags(UserInfo.USER_FLAG_GUEST)).isEqualTo(0);
assertThat(UserHalHelper.toUserInfoFlags(1024)).isEqualTo(0);
}
@@ -254,119 +267,66 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
}
@Test
- public void testCreatePropRequest_withType() {
- int prop = 1;
- int requestId = 2;
- int requestType = 3;
- long before = SystemClock.elapsedRealtime();
- VehiclePropValue propRequest = UserHalHelper.createPropRequest(prop, requestId,
- requestType);
- long after = SystemClock.elapsedRealtime();
-
- assertThat(propRequest.value.int32Values)
- .containsExactly(requestId, requestType)
- .inOrder();
- assertThat(propRequest.prop).isEqualTo(prop);
- assertThat(propRequest.timestamp).isIn(Range.closed(before, after));
- }
-
- @Test
- public void testCreatePropRequest() {
- int prop = 1;
- int requestId = 2;
- long before = SystemClock.elapsedRealtime();
- VehiclePropValue propRequest = UserHalHelper.createPropRequest(prop, requestId);
- long after = SystemClock.elapsedRealtime();
-
- assertThat(propRequest.value.int32Values)
- .containsExactly(requestId)
- .inOrder();
- assertThat(propRequest.prop).isEqualTo(prop);
- assertThat(propRequest.timestamp).isIn(Range.closed(before, after));
- }
-
- @Test
- public void testAddUsersInfo_nullProp() {
- UsersInfo infos = new UsersInfo();
-
- assertThrows(NullPointerException.class, () -> UserHalHelper.addUsersInfo(null, infos));
- }
-
- @Test
public void testAddUsersInfo_nullCurrentUser() {
- VehiclePropValue propRequest = new VehiclePropValue();
+ ArrayList<Integer> intValues = new ArrayList<>();
- UsersInfo infos = new UsersInfo();
+ UsersInfo infos = UserHalHelper.emptyUsersInfo();
infos.currentUser = null;
assertThrows(NullPointerException.class, () ->
- UserHalHelper.addUsersInfo(propRequest, infos));
+ UserHalHelper.addUsersInfo(intValues, infos));
}
@Test
public void testAddUsersInfo_mismatchNumberUsers() {
- VehiclePropValue propRequest = new VehiclePropValue();
+ ArrayList<Integer> intValues = new ArrayList<>();
- UsersInfo infos = new UsersInfo();
+ UsersInfo infos = UserHalHelper.emptyUsersInfo();
infos.currentUser.userId = 42;
infos.currentUser.flags = 1;
infos.numberUsers = 1;
assertThat(infos.existingUsers).isEmpty();
assertThrows(IllegalArgumentException.class, () ->
- UserHalHelper.addUsersInfo(propRequest, infos));
+ UserHalHelper.addUsersInfo(intValues, infos));
}
@Test
public void testAddUsersInfo_success() {
- VehiclePropValue propRequest = new VehiclePropValue();
- propRequest.value.int32Values.add(99);
+ ArrayList<Integer> intValues = new ArrayList<>();
- UsersInfo infos = new UsersInfo();
+ UsersInfo infos = UserHalHelper.emptyUsersInfo();
infos.currentUser.userId = 42;
infos.currentUser.flags = 1;
infos.numberUsers = 1;
- android.hardware.automotive.vehicle.V2_0.UserInfo userInfo =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo userInfo = new UserInfo();
userInfo.userId = 43;
userInfo.flags = 1;
- infos.existingUsers.add(userInfo);
- UserHalHelper.addUsersInfo(propRequest, infos);
+ infos.existingUsers = new UserInfo[]{userInfo};
+ UserHalHelper.addUsersInfo(intValues, infos);
- assertThat(propRequest.value.int32Values)
- .containsExactly(99, 42, 1, 1, 43, 1)
+ assertThat(intValues)
+ .containsExactly(42, 1, 1, 43, 1)
.inOrder();
}
@Test
- public void testAddUserInfo_nullProp() {
- android.hardware.automotive.vehicle.V2_0.UserInfo userInfo =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
-
- assertThrows(NullPointerException.class, () -> UserHalHelper.addUserInfo(null, userInfo));
- }
-
- @Test
public void testAddUserInfo_nullCurrentUser() {
- VehiclePropValue prop = new VehiclePropValue();
+ ArrayList<Integer> intValues = new ArrayList<>();
- assertThrows(NullPointerException.class, () -> UserHalHelper.addUserInfo(prop, null));
+ assertThrows(NullPointerException.class, () -> UserHalHelper.addUserInfo(intValues, null));
}
@Test
public void testAddUserInfo_success() {
- VehiclePropValue propRequest = new VehiclePropValue();
- propRequest.value.int32Values.add(99);
+ ArrayList<Integer> intValues = new ArrayList<>();
- android.hardware.automotive.vehicle.V2_0.UserInfo userInfo =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo userInfo = new UserInfo();
userInfo.userId = 42;
userInfo.flags = 1;
- UserHalHelper.addUserInfo(propRequest, userInfo);
+ UserHalHelper.addUserInfo(intValues, userInfo);
- assertThat(propRequest.value.int32Values)
- .containsExactly(99, 42, 1)
- .inOrder();
+ assertThat(intValues).containsExactly(42, 1).inOrder();
}
@Test
@@ -415,64 +375,73 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
}
@Test
- public void testUserIdentificationGetRequestToVehiclePropValue_null() {
+ public void testUserIdentificationGetRequestToHalPropValue_null() {
+ assertThrows(NullPointerException.class,
+ () -> UserHalHelper.toHalPropValue(
+ mPropValueBuilder, (UserIdentificationGetRequest) null));
+ }
+
+ @Test
+ public void testUserIdentificationGetRequestToHalPropValue_nullAssociationTypes() {
+ UserIdentificationGetRequest request = UserHalHelper.emptyUserIdentificationGetRequest();
+ request.associationTypes = null;
+
assertThrows(NullPointerException.class,
- () -> UserHalHelper.toVehiclePropValue((UserIdentificationGetRequest) null));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationGetRequestToVehiclePropValue_emptyRequest() {
- UserIdentificationGetRequest request = new UserIdentificationGetRequest();
+ public void testUserIdentificationGetRequestToHalPropValue_emptyRequest() {
+ UserIdentificationGetRequest request = UserHalHelper.emptyUserIdentificationGetRequest();
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationGetRequestToVehiclePropValue_wrongNumberOfAssociations() {
- UserIdentificationGetRequest request = new UserIdentificationGetRequest();
+ public void testUserIdentificationGetRequestToHalPropValue_wrongNumberOfAssociations() {
+ UserIdentificationGetRequest request = UserHalHelper.emptyUserIdentificationGetRequest();
request.numberAssociationTypes = 1;
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationGetRequestToVehiclePropValue_invalidType() {
- UserIdentificationGetRequest request = new UserIdentificationGetRequest();
+ public void testUserIdentificationGetRequestToHalPropValue_invalidType() {
+ UserIdentificationGetRequest request = UserHalHelper.emptyUserIdentificationGetRequest();
request.numberAssociationTypes = 1;
- request.associationTypes.add(CUSTOM_4 + 1);
+ request.associationTypes = new int[]{CUSTOM_4 + 1};
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationGetRequestToVehiclePropValue_missingRequestId() {
- UserIdentificationGetRequest request = new UserIdentificationGetRequest();
+ public void testUserIdentificationGetRequestToHalPropValue_missingRequestId() {
+ UserIdentificationGetRequest request = UserHalHelper.emptyUserIdentificationGetRequest();
request.userInfo.userId = 42;
request.userInfo.flags = 108;
request.numberAssociationTypes = 1;
- request.associationTypes.add(KEY_FOB);
+ request.associationTypes = new int[]{KEY_FOB};
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationGetRequestToVehiclePropValue_ok() {
- UserIdentificationGetRequest request = new UserIdentificationGetRequest();
+ public void testUserIdentificationGetRequestToHalPropValue_ok() {
+ UserIdentificationGetRequest request = UserHalHelper.emptyUserIdentificationGetRequest();
request.requestId = 1;
request.userInfo.userId = 42;
request.userInfo.flags = 108;
request.numberAssociationTypes = 2;
- request.associationTypes.add(KEY_FOB);
- request.associationTypes.add(CUSTOM_1);
+ request.associationTypes = new int[]{KEY_FOB, CUSTOM_1};
- VehiclePropValue propValue = UserHalHelper.toVehiclePropValue(request);
- assertWithMessage("wrong prop on %s", propValue).that(propValue.prop)
+ HalPropValue propValue = UserHalHelper.toHalPropValue(mPropValueBuilder, request);
+ assertWithMessage("wrong prop on %s", propValue).that(propValue.getPropId())
.isEqualTo(USER_IDENTIFICATION_ASSOCIATION_PROPERTY);
- assertWithMessage("wrong int32values on %s", propValue).that(propValue.value.int32Values)
+ assertWithMessage("wrong int32values on %s", propValue).that(getInt32Values(propValue))
.containsExactly(1, 42, 108, 2, KEY_FOB, CUSTOM_1).inOrder();
}
@@ -484,7 +453,7 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToUserIdentificationResponse_invalidPropType() {
- VehiclePropValue prop = new VehiclePropValue();
+ HalPropValue prop = mPropValueBuilder.build(/* propId= */ 0, /* areaId= */ 0);
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toUserIdentificationResponse(prop));
@@ -492,12 +461,10 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToUserIdentificationResponse_invalidSize() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY;
// need at least 4: request_id, number associations, type1, value1
- prop.value.int32Values.add(1);
- prop.value.int32Values.add(2);
- prop.value.int32Values.add(3);
+ HalPropValue prop = mPropValueBuilder.build(
+ UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY, /* areaId= */ 0,
+ new int[]{1, 2, 3});
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toUserIdentificationResponse(prop));
@@ -505,9 +472,9 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToUserIdentificationResponse_invalidRequest() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY;
- prop.value.int32Values.add(0);
+ HalPropValue prop = mPropValueBuilder.build(
+ UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY, /* areaId= */ 0,
+ new int[]{0});
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toUserIdentificationResponse(prop));
@@ -515,12 +482,15 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToUserIdentificationResponse_invalidType() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(1); // number of associations
- prop.value.int32Values.add(CUSTOM_4 + 1);
- prop.value.int32Values.add(ASSOCIATED_ANOTHER_USER);
+ HalPropValue prop = mPropValueBuilder.build(
+ UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY, /* areaId= */ 0,
+ new int[]{
+ // request id
+ 42,
+ // number of associations
+ 1,
+ CUSTOM_4 + 1,
+ ASSOCIATED_ANOTHER_USER});
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toUserIdentificationResponse(prop));
@@ -528,12 +498,15 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToUserIdentificationResponse_invalidValue() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(1); // number of associations
- prop.value.int32Values.add(KEY_FOB);
- prop.value.int32Values.add(0);
+ HalPropValue prop = mPropValueBuilder.build(
+ UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY, /* areaId= */ 0,
+ new int[]{
+ // request id
+ 42,
+ // number of associations
+ 1,
+ KEY_FOB,
+ 0});
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toUserIdentificationResponse(prop));
@@ -541,17 +514,21 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToUserIdentificationResponse_ok() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(3); // number of associations
- prop.value.int32Values.add(KEY_FOB);
- prop.value.int32Values.add(ASSOCIATED_ANOTHER_USER);
- prop.value.int32Values.add(CUSTOM_1);
- prop.value.int32Values.add(ASSOCIATED_CURRENT_USER);
- prop.value.int32Values.add(CUSTOM_2);
- prop.value.int32Values.add(NOT_ASSOCIATED_ANY_USER);
- prop.value.stringValue = "D'OH!";
+ HalPropValue prop = mPropValueBuilder.build(
+ UserHalHelper.USER_IDENTIFICATION_ASSOCIATION_PROPERTY, /* areaId= */ 0,
+ /* timestamp= */ 0, /* status= */ 0,
+ /*int32Values=*/new int[]{
+ // request id
+ 42,
+ // number of associations
+ 3,
+ KEY_FOB,
+ ASSOCIATED_ANOTHER_USER,
+ CUSTOM_1,
+ ASSOCIATED_CURRENT_USER,
+ CUSTOM_2,
+ NOT_ASSOCIATED_ANY_USER
+ }, new float[0], new long[0], "D'OH!", new byte[0]);
UserIdentificationResponse response = UserHalHelper.toUserIdentificationResponse(prop);
@@ -574,18 +551,16 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToInitialUserInfoResponse_invalidPropType() {
- VehiclePropValue prop = new VehiclePropValue();
-
+ HalPropValue prop = mPropValueBuilder.build(/* propId= */ 0, /* areaId= */ 0);
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toInitialUserInfoResponse(prop));
}
@Test
public void testToInitialUserInfoResponse_invalidSize() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- // need at least 2: request_id, action_type
- prop.value.int32Values.add(42);
+ // need at least 2 intValues: request_id, action_type.
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ 42);
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toInitialUserInfoResponse(prop));
@@ -593,9 +568,7 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToInitialUserInfoResponse_invalidRequest() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(0);
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0, 0);
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toInitialUserInfoResponse(prop));
@@ -603,10 +576,13 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToInitialUserInfoResponse_invalidAction() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(-1); // InitialUserInfoResponseAction
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ new int[]{
+ // request id
+ 42,
+ // InitialUserInfoResponseAction
+ -1
+ });
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toInitialUserInfoResponse(prop));
@@ -614,10 +590,13 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToInitialUserInfoResponse_default_ok_noStringValue() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.DEFAULT);
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ new int[]{
+ // request id
+ 42,
+ // InitialUserInfoResponseAction
+ InitialUserInfoResponseAction.DEFAULT
+ });
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
@@ -626,17 +605,20 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.DEFAULT);
assertThat(response.userNameToCreate).isEmpty();
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(UserHandle.USER_NULL);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.NONE);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(0);
assertThat(response.userLocales).isEmpty();
}
@Test
public void testToInitialUserInfoResponse_default_ok_stringValueWithJustSeparator() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.DEFAULT);
- prop.value.stringValue = "||";
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ /* timestamp= */ 0, /* status= */ 0,
+ new int[]{
+ // request id
+ 42,
+ // InitialUserInfoResponseAction
+ InitialUserInfoResponseAction.DEFAULT
+ }, new float[0], new long[0], "||", new byte[0]);
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
@@ -645,17 +627,20 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.DEFAULT);
assertThat(response.userNameToCreate).isEmpty();
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(UserHandle.USER_NULL);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.NONE);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(0);
assertThat(response.userLocales).isEmpty();
}
@Test
public void testToInitialUserInfoResponse_default_ok_stringValueWithLocale() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.DEFAULT);
- prop.value.stringValue = "esperanto,klingon";
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ /* timestamp= */ 0, /* status= */ 0,
+ new int[]{
+ // request id
+ 42,
+ // InitialUserInfoResponseAction
+ InitialUserInfoResponseAction.DEFAULT
+ }, new float[0], new long[0], "esperanto,klingon", new byte[0]);
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
@@ -664,17 +649,20 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.DEFAULT);
assertThat(response.userNameToCreate).isEmpty();
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(UserHandle.USER_NULL);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.NONE);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(0);
assertThat(response.userLocales).isEqualTo("esperanto,klingon");
}
@Test
public void testToInitialUserInfoResponse_default_ok_stringValueWithLocaleWithHalfSeparator() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.DEFAULT);
- prop.value.stringValue = "esperanto|klingon";
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ /* timestamp= */ 0, /* status= */ 0,
+ new int[]{
+ // request id
+ 42,
+ // InitialUserInfoResponseAction
+ InitialUserInfoResponseAction.DEFAULT
+ }, new float[0], new long[0], "esperanto|klingon", new byte[0]);
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
@@ -683,16 +671,18 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.DEFAULT);
assertThat(response.userNameToCreate).isEmpty();
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(UserHandle.USER_NULL);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.NONE);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(0);
assertThat(response.userLocales).isEqualTo("esperanto|klingon");
}
@Test
public void testToInitialUserInfoResponse_switch_missingUserId() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.SWITCH);
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ new int[]{
+ // request id
+ 42,
+ InitialUserInfoResponseAction.SWITCH
+ });
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toInitialUserInfoResponse(prop));
@@ -700,12 +690,16 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToInitialUserInfoResponse_switch_ok_noLocale() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.SWITCH);
- prop.value.int32Values.add(108); // user id
- prop.value.int32Values.add(666); // flags - should be ignored
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ new int[]{
+ // request id
+ 42,
+ InitialUserInfoResponseAction.SWITCH,
+ // user id
+ 108,
+ // flags - should be ignored
+ 666
+ });
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
@@ -714,20 +708,26 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.SWITCH);
assertThat(response.userNameToCreate).isEmpty();
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(108);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.NONE);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(0);
assertThat(response.userLocales).isEmpty();
}
@Test
public void testToInitialUserInfoResponse_switch_ok_withLocale() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.SWITCH);
- prop.value.int32Values.add(108); // user id
- prop.value.int32Values.add(666); // flags - should be ignored
- // add some extra | to make sure they're ignored
- prop.value.stringValue = "esperanto,klingon|||";
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ /* timestamp= */ 0, /* status= */ 0,
+ new int[]{
+ // request id
+ 42,
+ InitialUserInfoResponseAction.SWITCH,
+ // user id
+ 108,
+ // flags - should be ignored
+ 666
+ }, new float[0], new long[0],
+ // add some extra | to make sure they're ignored
+ "esperanto,klingon|||", new byte[0]);
+
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
assertThat(response).isNotNull();
@@ -735,16 +735,18 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.SWITCH);
assertThat(response.userNameToCreate).isEmpty();
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(108);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.NONE);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(0);
assertThat(response.userLocales).isEqualTo("esperanto,klingon");
}
@Test
public void testToInitialUserInfoResponse_create_missingUserId() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.CREATE);
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ new int[]{
+ // request id
+ 42,
+ InitialUserInfoResponseAction.CREATE
+ });
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toInitialUserInfoResponse(prop));
@@ -752,11 +754,14 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToInitialUserInfoResponse_create_missingFlags() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.CREATE);
- prop.value.int32Values.add(108); // user id
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ new int[]{
+ // request id
+ 42,
+ InitialUserInfoResponseAction.CREATE,
+ // user id
+ 108
+ });
assertThrows(IllegalArgumentException.class,
() -> UserHalHelper.toInitialUserInfoResponse(prop));
@@ -764,13 +769,16 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
@Test
public void testToInitialUserInfoResponse_create_ok_noLocale() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.CREATE);
- prop.value.int32Values.add(666); // user id - not used
- prop.value.int32Values.add(UserFlags.GUEST);
- prop.value.stringValue = "||ElGuesto";
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ /* timestamp= */ 0, /* status= */ 0,
+ new int[]{
+ // request id
+ 42,
+ InitialUserInfoResponseAction.CREATE,
+ // user id - not used
+ 666,
+ UserInfo.USER_FLAG_GUEST
+ }, new float[0], new long[0], "||ElGuesto", new byte[0]);
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
@@ -779,19 +787,22 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.CREATE);
assertThat(response.userNameToCreate).isEqualTo("ElGuesto");
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(UserHandle.USER_NULL);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.GUEST);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserInfo.USER_FLAG_GUEST);
assertThat(response.userLocales).isEmpty();
}
@Test
public void testToInitialUserInfoResponse_create_ok_withLocale() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.CREATE);
- prop.value.int32Values.add(666); // user id - not used
- prop.value.int32Values.add(UserFlags.GUEST);
- prop.value.stringValue = "esperanto,klingon||ElGuesto";
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ /* timestamp= */ 0, /* status= */ 0,
+ new int[]{
+ // request id
+ 42,
+ InitialUserInfoResponseAction.CREATE,
+ // user id - not used
+ 666,
+ UserInfo.USER_FLAG_GUEST
+ }, new float[0], new long[0], "esperanto,klingon||ElGuesto", new byte[0]);
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
@@ -800,19 +811,22 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.CREATE);
assertThat(response.userNameToCreate).isEqualTo("ElGuesto");
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(UserHandle.USER_NULL);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.GUEST);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserInfo.USER_FLAG_GUEST);
assertThat(response.userLocales).isEqualTo("esperanto,klingon");
}
@Test
public void testToInitialUserInfoResponse_create_ok_nameAndLocaleWithHalfDelimiter() {
- VehiclePropValue prop = new VehiclePropValue();
- prop.prop = UserHalHelper.INITIAL_USER_INFO_PROPERTY;
- prop.value.int32Values.add(42); // request id
- prop.value.int32Values.add(InitialUserInfoResponseAction.CREATE);
- prop.value.int32Values.add(666); // user id - not used
- prop.value.int32Values.add(UserFlags.GUEST);
- prop.value.stringValue = "esperanto|klingon||El|Guesto";
+ HalPropValue prop = mPropValueBuilder.build(INITIAL_USER_INFO_PROPERTY, /* areaId= */ 0,
+ /* timestamp= */ 0, /* status= */ 0,
+ new int[]{
+ // request id
+ 42,
+ InitialUserInfoResponseAction.CREATE,
+ // user id - not used
+ 666,
+ UserInfo.USER_FLAG_GUEST
+ }, new float[0], new long[0], "esperanto|klingon||El|Guesto", new byte[0]);
InitialUserInfoResponse response = UserHalHelper.toInitialUserInfoResponse(prop);
@@ -821,77 +835,88 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(response.action).isEqualTo(InitialUserInfoResponseAction.CREATE);
assertThat(response.userNameToCreate).isEqualTo("El|Guesto");
assertThat(response.userToSwitchOrCreate.userId).isEqualTo(UserHandle.USER_NULL);
- assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserFlags.GUEST);
+ assertThat(response.userToSwitchOrCreate.flags).isEqualTo(UserInfo.USER_FLAG_GUEST);
assertThat(response.userLocales).isEqualTo("esperanto|klingon");
}
@Test
- public void testUserIdentificationSetRequestToVehiclePropValue_null() {
+ public void testUserIdentificationSetRequestToHalPropValue_null() {
+ assertThrows(NullPointerException.class,
+ () -> UserHalHelper.toHalPropValue(
+ mPropValueBuilder, (UserIdentificationSetRequest) null));
+ }
+
+ @Test
+ public void testUserIdentificationSetRequestToHalPropValue_nullAssociations() {
+ UserIdentificationSetRequest request = UserHalHelper.emptyUserIdentificationSetRequest();
+ request.associations = null;
+
assertThrows(NullPointerException.class,
- () -> UserHalHelper.toVehiclePropValue((UserIdentificationSetRequest) null));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
+
@Test
- public void testUserIdentificationSetRequestToVehiclePropValue_emptyRequest() {
- UserIdentificationSetRequest request = new UserIdentificationSetRequest();
+ public void testUserIdentificationSetRequestToHalPropValue_emptyRequest() {
+ UserIdentificationSetRequest request = UserHalHelper.emptyUserIdentificationSetRequest();
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationSetRequestToVehiclePropValue_wrongNumberOfAssociations() {
- UserIdentificationSetRequest request = new UserIdentificationSetRequest();
+ public void testUserIdentificationSetRequestToHalPropValue_wrongNumberOfAssociations() {
+ UserIdentificationSetRequest request = UserHalHelper.emptyUserIdentificationSetRequest();
request.numberAssociations = 1;
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationSetRequestToVehiclePropValue_invalidType() {
- UserIdentificationSetRequest request = new UserIdentificationSetRequest();
+ public void testUserIdentificationSetRequestToHalPropValue_invalidType() {
+ UserIdentificationSetRequest request = UserHalHelper.emptyUserIdentificationSetRequest();
request.numberAssociations = 1;
UserIdentificationSetAssociation association1 = new UserIdentificationSetAssociation();
- request.associations.add(association1);
+ request.associations = new UserIdentificationSetAssociation[]{association1};
association1.type = CUSTOM_4 + 1;
association1.value = ASSOCIATE_CURRENT_USER;
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationSetRequestToVehiclePropValue_invalidValue() {
- UserIdentificationSetRequest request = new UserIdentificationSetRequest();
+ public void testUserIdentificationSetRequestToHalPropValue_invalidValue() {
+ UserIdentificationSetRequest request = UserHalHelper.emptyUserIdentificationSetRequest();
request.numberAssociations = 1;
UserIdentificationSetAssociation association1 = new UserIdentificationSetAssociation();
- request.associations.add(association1);
+ request.associations = new UserIdentificationSetAssociation[]{association1};
association1.type = KEY_FOB;
association1.value = -1;
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationSetRequestToVehiclePropValue_missingRequestId() {
- UserIdentificationSetRequest request = new UserIdentificationSetRequest();
+ public void testUserIdentificationSetRequestToHalPropValue_missingRequestId() {
+ UserIdentificationSetRequest request = UserHalHelper.emptyUserIdentificationSetRequest();
request.userInfo.userId = 42;
request.userInfo.flags = 108;
request.numberAssociations = 1;
UserIdentificationSetAssociation association1 = new UserIdentificationSetAssociation();
association1.type = KEY_FOB;
association1.value = ASSOCIATE_CURRENT_USER;
- request.associations.add(association1);
+ request.associations = new UserIdentificationSetAssociation[]{association1};
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testUserIdentificationSetRequestToVehiclePropValue_ok() {
- UserIdentificationSetRequest request = new UserIdentificationSetRequest();
+ public void testUserIdentificationSetRequestToHalPropValue_ok() {
+ UserIdentificationSetRequest request = UserHalHelper.emptyUserIdentificationSetRequest();
request.requestId = 1;
request.userInfo.userId = 42;
request.userInfo.flags = 108;
@@ -899,16 +924,16 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
UserIdentificationSetAssociation association1 = new UserIdentificationSetAssociation();
association1.type = KEY_FOB;
association1.value = ASSOCIATE_CURRENT_USER;
- request.associations.add(association1);
UserIdentificationSetAssociation association2 = new UserIdentificationSetAssociation();
association2.type = CUSTOM_1;
association2.value = DISASSOCIATE_CURRENT_USER;
- request.associations.add(association2);
+ request.associations = new UserIdentificationSetAssociation[]{association1, association2};
- VehiclePropValue propValue = UserHalHelper.toVehiclePropValue(request);
- assertWithMessage("wrong prop on %s", propValue).that(propValue.prop)
+ HalPropValue propValue = UserHalHelper.toHalPropValue(mPropValueBuilder, request);
+ assertWithMessage("wrong prop on %s", propValue).that(propValue.getPropId())
.isEqualTo(USER_IDENTIFICATION_ASSOCIATION_PROPERTY);
- assertWithMessage("wrong int32values on %s", propValue).that(propValue.value.int32Values)
+
+ assertWithMessage("wrong int32values on %s", propValue).that(getInt32Values(propValue))
.containsExactly(1, 42, 108, 2,
KEY_FOB, ASSOCIATE_CURRENT_USER,
CUSTOM_1, DISASSOCIATE_CURRENT_USER)
@@ -916,259 +941,313 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
}
@Test
- public void testRemoveUserRequestToVehiclePropValue_null() {
+ public void testRemoveUserRequestToHalPropValue_null() {
assertThrows(NullPointerException.class,
- () -> UserHalHelper.toVehiclePropValue((RemoveUserRequest) null));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, (RemoveUserRequest) null));
}
@Test
- public void testRemoveUserRequestToVehiclePropValue_emptyRequest() {
- RemoveUserRequest request = new RemoveUserRequest();
+ public void testRemoveUserRequestToHalPropValue_nullRemovedUserInfo() {
+ RemoveUserRequest request = UserHalHelper.emptyRemoveUserRequest();
+ request.requestId = 1;
+ request.removedUserInfo = null;
+
+ assertThrows(NullPointerException.class,
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
+ }
+
+ @Test
+ public void testRemoveUserRequestToHalPropValue_nullUsersInfo() {
+ RemoveUserRequest request = UserHalHelper.emptyRemoveUserRequest();
+ request.usersInfo = null;
+
+ assertThrows(IllegalArgumentException.class,
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
+ }
+
+ @Test
+ public void testRemoveUserRequestToHalPropValue_empty() {
+ RemoveUserRequest request = UserHalHelper.emptyRemoveUserRequest();
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testRemoveUserRequestToVehiclePropValue_missingRequestId() {
- RemoveUserRequest request = new RemoveUserRequest();
+ public void testRemoveUserRequestToHalPropValue_missingRequestId() {
+ RemoveUserRequest request = UserHalHelper.emptyRemoveUserRequest();
request.removedUserInfo.userId = 11;
- request.usersInfo.existingUsers.add(request.removedUserInfo);
+ request.usersInfo.existingUsers = new UserInfo[]{request.removedUserInfo};
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testRemoveUserRequestToVehiclePropValue_ok() {
- RemoveUserRequest request = new RemoveUserRequest();
+ public void testRemoveUserRequestToHalPropValue_ok() {
+ RemoveUserRequest request = UserHalHelper.emptyRemoveUserRequest();
request.requestId = 42;
- android.hardware.automotive.vehicle.V2_0.UserInfo user10 =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo user10 = new UserInfo();
user10.userId = 10;
- user10.flags = UserFlags.ADMIN;
+ user10.flags = UserInfo.USER_FLAG_ADMIN;
// existing users
request.usersInfo.numberUsers = 1;
- request.usersInfo.existingUsers.add(user10);
+ request.usersInfo.existingUsers = new UserInfo[]{user10};
// current user
request.usersInfo.currentUser = user10;
// user to remove
request.removedUserInfo = user10;
- VehiclePropValue propValue = UserHalHelper.toVehiclePropValue(request);
+ HalPropValue propValue = UserHalHelper.toHalPropValue(mPropValueBuilder, request);
- assertWithMessage("wrong prop on %s", propValue).that(propValue.prop)
+ assertWithMessage("wrong prop on %s", propValue).that(propValue.getPropId())
.isEqualTo(REMOVE_USER_PROPERTY);
- assertWithMessage("wrong int32values on %s", propValue).that(propValue.value.int32Values)
+ assertWithMessage("wrong int32values on %s", propValue).that(getInt32Values(propValue))
.containsExactly(42, // request id
- 10, UserFlags.ADMIN, // user to remove
- 10, UserFlags.ADMIN, // current user
+ 10, UserInfo.USER_FLAG_ADMIN, // user to remove
+ 10, UserInfo.USER_FLAG_ADMIN, // current user
1, // number of users
- 10, UserFlags.ADMIN // existing user 1
+ 10, UserInfo.USER_FLAG_ADMIN // existing user 1
).inOrder();
}
@Test
- public void testCreateUserRequestToVehiclePropValue_null() {
+ public void testCreateUserRequestToHalPropValue_null() {
assertThrows(NullPointerException.class,
- () -> UserHalHelper.toVehiclePropValue((CreateUserRequest) null));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, (CreateUserRequest) null));
+ }
+
+ @Test
+ public void testCreateUserRequestToHalPropValue_nullNewUserInfo() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
+ request.newUserInfo = null;
+
+ assertThrows(NullPointerException.class,
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
+ }
+
+ @Test
+ public void testCreateUserRequestToHalPropValue_nullUsersInfo() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
+ request.usersInfo = null;
+
+ assertThrows(IllegalArgumentException.class,
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testCreateUserRequestToVehiclePropValue_emptyRequest() {
- CreateUserRequest request = new CreateUserRequest();
+ public void testCreateUserRequestToHalPropValue_empty() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testCreateUserRequestToVehiclePropValue_missingRequestId() {
- CreateUserRequest request = new CreateUserRequest();
+ public void testCreateUserRequestToHalPropValue_emptyRequest() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
+
+ assertThrows(IllegalArgumentException.class,
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
+ }
+
+ @Test
+ public void testCreateUserRequestToHalPropValue_missingRequestId() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
+ request.newUserInfo = new UserInfo();
request.newUserInfo.userId = 10;
- request.usersInfo.existingUsers.add(request.newUserInfo);
+ request.usersInfo.existingUsers = new UserInfo[]{request.newUserInfo};
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testCreateUserRequestToVehiclePropValue_nullNewUserName() {
- CreateUserRequest request = new CreateUserRequest();
+ public void testCreateUserRequestToHalPropValue_nullNewUserName() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
request.requestId = 42;
request.newUserInfo.userId = 10;
- request.newUserInfo.flags = UserFlags.ADMIN;
+ request.newUserInfo.flags = UserInfo.USER_FLAG_ADMIN;
request.newUserName = null;
request.usersInfo.numberUsers = 1;
request.usersInfo.currentUser.userId = request.newUserInfo.userId;
request.usersInfo.currentUser.flags = request.newUserInfo.flags;
- request.usersInfo.existingUsers.add(request.usersInfo.currentUser);
+ request.usersInfo.existingUsers = new UserInfo[]{request.usersInfo.currentUser};
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testCreateUserRequestToVehiclePropValue_usersInfoDoesNotContainNewUser() {
- CreateUserRequest request = new CreateUserRequest();
+ public void testCreateUserRequestToHalPropValue_usersInfoDoesNotContainNewUser() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
request.requestId = 42;
request.newUserInfo.userId = 10;
- android.hardware.automotive.vehicle.V2_0.UserInfo user =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo user = new UserInfo();
user.userId = 11;
- request.usersInfo.existingUsers.add(user);
+ request.usersInfo.existingUsers = new UserInfo[]{user};
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testCreateUserRequestToVehiclePropValue_newUserFlagsMismatch() {
- CreateUserRequest request = new CreateUserRequest();
+ public void testCreateUserRequestToHalPropValue_newUserFlagsMismatch() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
request.requestId = 42;
request.newUserInfo.userId = 10;
- request.newUserInfo.flags = UserFlags.ADMIN;
- android.hardware.automotive.vehicle.V2_0.UserInfo user =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ request.newUserInfo.flags = UserInfo.USER_FLAG_ADMIN;
+ UserInfo user = new UserInfo();
user.userId = 10;
- request.newUserInfo.flags = UserFlags.SYSTEM;
- request.usersInfo.existingUsers.add(user);
+ request.newUserInfo.flags = UserInfo.USER_FLAG_SYSTEM;
+ request.usersInfo.existingUsers = new UserInfo[]{user};
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testCreateUserRequestToVehiclePropValue_ok() {
- CreateUserRequest request = new CreateUserRequest();
+ public void testCreateUserRequestToHalPropValue_ok() {
+ CreateUserRequest request = UserHalHelper.emptyCreateUserRequest();
request.requestId = 42;
- android.hardware.automotive.vehicle.V2_0.UserInfo user10 =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo user10 = new UserInfo();
user10.userId = 10;
- user10.flags = UserFlags.ADMIN;
- android.hardware.automotive.vehicle.V2_0.UserInfo user11 =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ user10.flags = UserInfo.USER_FLAG_ADMIN;
+ UserInfo user11 = new UserInfo();
user11.userId = 11;
- user11.flags = UserFlags.SYSTEM;
- android.hardware.automotive.vehicle.V2_0.UserInfo user12 =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ user11.flags = UserInfo.USER_FLAG_SYSTEM;
+ UserInfo user12 = new UserInfo();
user12.userId = 12;
- user12.flags = UserFlags.GUEST;
+ user12.flags = UserInfo.USER_FLAG_GUEST;
// existing users
request.usersInfo.numberUsers = 3;
- request.usersInfo.existingUsers.add(user10);
- request.usersInfo.existingUsers.add(user11);
- request.usersInfo.existingUsers.add(user12);
+ request.usersInfo.existingUsers = new UserInfo[]{user10, user11, user12};
// current user
request.usersInfo.currentUser.userId = 12;
- request.usersInfo.currentUser.flags = UserFlags.GUEST;
+ request.usersInfo.currentUser.flags = UserInfo.USER_FLAG_GUEST;
// new user
request.newUserInfo.userId = 10;
- request.newUserInfo.flags = UserFlags.ADMIN;
+ request.newUserInfo.flags = UserInfo.USER_FLAG_ADMIN;
request.newUserName = "Dude";
- VehiclePropValue propValue = UserHalHelper.toVehiclePropValue(request);
+ HalPropValue propValue = UserHalHelper.toHalPropValue(mPropValueBuilder, request);
- assertWithMessage("wrong prop on %s", propValue).that(propValue.prop)
+ assertWithMessage("wrong prop on %s", propValue).that(propValue.getPropId())
.isEqualTo(CREATE_USER_PROPERTY);
- assertWithMessage("wrong int32values on %s", propValue).that(propValue.value.int32Values)
+ assertWithMessage("wrong int32values on %s", propValue).that(getInt32Values(propValue))
.containsExactly(42, // request id
- 10, UserFlags.ADMIN, // new user
- 12, UserFlags.GUEST, // current user
+ 10, UserInfo.USER_FLAG_ADMIN, // new user
+ 12, UserInfo.USER_FLAG_GUEST, // current user
3, // number of users
- 10, UserFlags.ADMIN, // existing user 1
- 11, UserFlags.SYSTEM, // existing user 2
- 12, UserFlags.GUEST // existing user 3
+ 10, UserInfo.USER_FLAG_ADMIN, // existing user 1
+ 11, UserInfo.USER_FLAG_SYSTEM, // existing user 2
+ 12, UserInfo.USER_FLAG_GUEST // existing user 3
).inOrder();
- assertWithMessage("wrong name %s", propValue).that(propValue.value.stringValue)
+ assertWithMessage("wrong name %s", propValue).that(propValue.getStringValue())
.isEqualTo("Dude");
}
@Test
- public void testSwitchUserRequestToVehiclePropValue_null() {
+ public void testSwitchUserRequestToHalPropValue_null() {
+ assertThrows(NullPointerException.class,
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, (SwitchUserRequest) null));
+ }
+
+ @Test
+ public void testSwitchUserRequestToHalPropValue_nullTargetUser() {
+ SwitchUserRequest request = UserHalHelper.emptySwitchUserRequest();
+ request.messageType = 1;
+ request.targetUser = null;
+
assertThrows(NullPointerException.class,
- () -> UserHalHelper.toVehiclePropValue((SwitchUserRequest) null));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testSwitchUserRequestToVehiclePropValue_emptyRequest() {
- SwitchUserRequest request = new SwitchUserRequest();
+ public void testSwitchUserRequestToHalPropValue_nullUsersInfo() {
+ SwitchUserRequest request = UserHalHelper.emptySwitchUserRequest();
+ request.usersInfo = null;
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testSwitchUserRequestToVehiclePropValue_missingMessageType() {
- SwitchUserRequest request = new SwitchUserRequest();
+ public void testSwitchUserRequestToHalPropValue_empty() {
+ SwitchUserRequest request = UserHalHelper.emptySwitchUserRequest();
+
+ assertThrows(IllegalArgumentException.class,
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
+ }
+
+ @Test
+ public void testSwitchUserRequestToHalPropValue_missingMessageType() {
+ SwitchUserRequest request = UserHalHelper.emptySwitchUserRequest();
request.requestId = 42;
- android.hardware.automotive.vehicle.V2_0.UserInfo user10 =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo user10 = new UserInfo();
user10.userId = 10;
request.usersInfo.numberUsers = 1;
- request.usersInfo.existingUsers.add(user10);
+ request.usersInfo.existingUsers = new UserInfo[]{user10};
request.usersInfo.currentUser = user10;
request.targetUser = user10;
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void testSwitchUserRequestToVehiclePropValue_incorrectMessageType() {
- SwitchUserRequest request = new SwitchUserRequest();
+ public void testSwitchUserRequestToHalPropValue_incorrectMessageType() {
+ SwitchUserRequest request = UserHalHelper.emptySwitchUserRequest();
request.requestId = 42;
request.messageType = -1;
- android.hardware.automotive.vehicle.V2_0.UserInfo user10 =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo user10 = new UserInfo();
user10.userId = 10;
request.usersInfo.numberUsers = 1;
- request.usersInfo.existingUsers.add(user10);
+ request.usersInfo.existingUsers = new UserInfo[]{user10};
request.usersInfo.currentUser = user10;
request.targetUser = user10;
assertThrows(IllegalArgumentException.class,
- () -> UserHalHelper.toVehiclePropValue(request));
+ () -> UserHalHelper.toHalPropValue(mPropValueBuilder, request));
}
@Test
- public void tesSwitchUserRequestToVehiclePropValue_ok() {
- SwitchUserRequest request = new SwitchUserRequest();
+ public void tesSwitchUserRequestToHalPropValue_ok() {
+ SwitchUserRequest request = UserHalHelper.emptySwitchUserRequest();
request.requestId = 42;
- android.hardware.automotive.vehicle.V2_0.UserInfo user10 =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo user10 = new UserInfo();
user10.userId = 10;
- user10.flags = UserFlags.ADMIN;
+ user10.flags = UserInfo.USER_FLAG_ADMIN;
// existing users
request.usersInfo.numberUsers = 1;
- request.usersInfo.existingUsers.add(user10);
+ request.usersInfo.existingUsers = new UserInfo[]{user10};
// current user
request.usersInfo.currentUser = user10;
// user to remove
request.targetUser = user10;
request.messageType = SwitchUserMessageType.ANDROID_SWITCH;
- VehiclePropValue propValue = UserHalHelper.toVehiclePropValue(request);
+ HalPropValue propValue = UserHalHelper.toHalPropValue(mPropValueBuilder, request);
- assertWithMessage("wrong prop on %s", propValue).that(propValue.prop)
+ assertWithMessage("wrong prop on %s", propValue).that(propValue.getPropId())
.isEqualTo(SWITCH_USER_PROPERTY);
- assertWithMessage("wrong int32values on %s", propValue).that(propValue.value.int32Values)
+ assertWithMessage("wrong int32values on %s", propValue).that(getInt32Values(propValue))
.containsExactly(42, // request id
SwitchUserMessageType.ANDROID_SWITCH, // message type
- 10, UserFlags.ADMIN, // target user
- 10, UserFlags.ADMIN, // current user
+ 10, UserInfo.USER_FLAG_ADMIN, // target user
+ 10, UserInfo.USER_FLAG_ADMIN, // current user
1, // number of users
- 10, UserFlags.ADMIN // existing user 1
+ 10, UserInfo.USER_FLAG_ADMIN // existing user 1
).inOrder();
}
@@ -1207,17 +1286,17 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(usersInfo).isNotNull();
assertThat(usersInfo.currentUser.userId).isEqualTo(300);
- assertThat(usersInfo.currentUser.flags).isEqualTo(UserFlags.NONE);
+ assertThat(usersInfo.currentUser.flags).isEqualTo(0);
assertThat(usersInfo.numberUsers).isEqualTo(3);
- assertThat(usersInfo.existingUsers).hasSize(3);
+ assertThat(usersInfo.existingUsers.length).isEqualTo(3);
- assertThat(usersInfo.existingUsers.get(0).userId).isEqualTo(100);
- assertThat(usersInfo.existingUsers.get(0).flags).isEqualTo(UserFlags.ADMIN);
- assertThat(usersInfo.existingUsers.get(1).userId).isEqualTo(200);
- assertThat(usersInfo.existingUsers.get(1).flags).isEqualTo(UserFlags.NONE);
- assertThat(usersInfo.existingUsers.get(2).userId).isEqualTo(300);
- assertThat(usersInfo.existingUsers.get(2).flags).isEqualTo(UserFlags.NONE);
+ assertThat(usersInfo.existingUsers[0].userId).isEqualTo(100);
+ assertThat(usersInfo.existingUsers[0].flags).isEqualTo(UserInfo.USER_FLAG_ADMIN);
+ assertThat(usersInfo.existingUsers[1].userId).isEqualTo(200);
+ assertThat(usersInfo.existingUsers[1].flags).isEqualTo(0);
+ assertThat(usersInfo.existingUsers[2].userId).isEqualTo(300);
+ assertThat(usersInfo.existingUsers[2].flags).isEqualTo(0);
}
@Test
@@ -1232,15 +1311,15 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(usersInfo).isNotNull();
assertThat(usersInfo.currentUser.userId).isEqualTo(100);
- assertThat(usersInfo.currentUser.flags).isEqualTo(UserFlags.ADMIN);
+ assertThat(usersInfo.currentUser.flags).isEqualTo(UserInfo.USER_FLAG_ADMIN);
assertThat(usersInfo.numberUsers).isEqualTo(2);
- assertThat(usersInfo.existingUsers).hasSize(2);
+ assertThat(usersInfo.existingUsers.length).isEqualTo(2);
- assertThat(usersInfo.existingUsers.get(0).userId).isEqualTo(100);
- assertThat(usersInfo.existingUsers.get(0).flags).isEqualTo(UserFlags.ADMIN);
- assertThat(usersInfo.existingUsers.get(1).userId).isEqualTo(200);
- assertThat(usersInfo.existingUsers.get(1).flags).isEqualTo(UserFlags.NONE);
+ assertThat(usersInfo.existingUsers[0].userId).isEqualTo(100);
+ assertThat(usersInfo.existingUsers[0].flags).isEqualTo(UserInfo.USER_FLAG_ADMIN);
+ assertThat(usersInfo.existingUsers[1].userId).isEqualTo(200);
+ assertThat(usersInfo.existingUsers[1].flags).isEqualTo(0);
}
@Test
@@ -1256,15 +1335,15 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
assertThat(usersInfo).isNotNull();
assertThat(usersInfo.currentUser.userId).isEqualTo(300);
- assertThat(usersInfo.currentUser.flags).isEqualTo(UserFlags.NONE);
+ assertThat(usersInfo.currentUser.flags).isEqualTo(0);
assertThat(usersInfo.numberUsers).isEqualTo(2);
- assertThat(usersInfo.existingUsers).hasSize(2);
+ assertThat(usersInfo.existingUsers.length).isEqualTo(2);
- assertThat(usersInfo.existingUsers.get(0).userId).isEqualTo(100);
- assertThat(usersInfo.existingUsers.get(0).flags).isEqualTo(UserFlags.ADMIN);
- assertThat(usersInfo.existingUsers.get(1).userId).isEqualTo(200);
- assertThat(usersInfo.existingUsers.get(1).flags).isEqualTo(UserFlags.NONE);
+ assertThat(usersInfo.existingUsers[0].userId).isEqualTo(100);
+ assertThat(usersInfo.existingUsers[0].flags).isEqualTo(UserInfo.USER_FLAG_ADMIN);
+ assertThat(usersInfo.existingUsers[1].userId).isEqualTo(200);
+ assertThat(usersInfo.existingUsers[1].flags).isEqualTo(0);
}
@Test
@@ -1273,53 +1352,61 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
}
@Test
- public void testCheckValidUsersInfo_empty() {
- UsersInfo usersInfo = new UsersInfo();
+ public void testCheckValidUsersInfo_nullCurrentUser() {
+ UsersInfo usersInfo = UserHalHelper.emptyUsersInfo();
+ usersInfo.currentUser = null;
+ usersInfo.existingUsers = new UserInfo[0];
+ assertThrows(IllegalArgumentException.class, () -> UserHalHelper.checkValid(usersInfo));
+ }
+
+ @Test
+ public void testCheckValidUsersInfo_nullExistingUsers() {
+ UsersInfo usersInfo = UserHalHelper.emptyUsersInfo();
+ usersInfo.currentUser = new UserInfo();
+ usersInfo.existingUsers = null;
assertThrows(IllegalArgumentException.class, () -> UserHalHelper.checkValid(usersInfo));
}
@Test
public void testCheckValidUsersInfo_sizeMismatch() {
- UsersInfo usersInfo = new UsersInfo();
+ UsersInfo usersInfo = UserHalHelper.emptyUsersInfo();
usersInfo.numberUsers = 1;
assertThrows(IllegalArgumentException.class, () -> UserHalHelper.checkValid(usersInfo));
}
@Test
public void testCheckValidUsersInfo_currentUserMissing() {
- UsersInfo usersInfo = new UsersInfo();
+ UsersInfo usersInfo = UserHalHelper.emptyUsersInfo();
usersInfo.numberUsers = 1;
usersInfo.currentUser.userId = 10;
- usersInfo.existingUsers.add(new android.hardware.automotive.vehicle.V2_0.UserInfo());
+ usersInfo.existingUsers = new UserInfo[]{new UserInfo()};
assertThrows(IllegalArgumentException.class, () -> UserHalHelper.checkValid(usersInfo));
}
@Test
public void testCheckValidUsersInfo_currentUserFlagsMismatch() {
- UsersInfo usersInfo = new UsersInfo();
+ UsersInfo usersInfo = UserHalHelper.emptyUsersInfo();
usersInfo.numberUsers = 1;
usersInfo.currentUser.userId = 10;
- usersInfo.currentUser.flags = UserFlags.ADMIN;
- android.hardware.automotive.vehicle.V2_0.UserInfo currentUser =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ usersInfo.currentUser.flags = UserInfo.USER_FLAG_ADMIN;
+ UserInfo currentUser = new UserInfo();
currentUser.userId = 10;
- currentUser.flags = UserFlags.SYSTEM;
- usersInfo.existingUsers.add(currentUser);
+ currentUser.flags = UserInfo.USER_FLAG_SYSTEM;
+ usersInfo.existingUsers = new UserInfo[]{currentUser};
assertThrows(IllegalArgumentException.class, () -> UserHalHelper.checkValid(usersInfo));
}
@Test
public void testCheckValidUsersInfo_ok() {
- UsersInfo usersInfo = new UsersInfo();
+ UsersInfo usersInfo = UserHalHelper.emptyUsersInfo();
usersInfo.numberUsers = 1;
usersInfo.currentUser.userId = 10;
- android.hardware.automotive.vehicle.V2_0.UserInfo currentUser =
- new android.hardware.automotive.vehicle.V2_0.UserInfo();
+ UserInfo currentUser = new UserInfo();
currentUser.userId = 10;
- usersInfo.existingUsers.add(currentUser);
+ usersInfo.existingUsers = new UserInfo[]{currentUser};
UserHalHelper.checkValid(usersInfo);
}
@@ -1331,23 +1418,29 @@ public final class UserHalHelperTest extends AbstractExtendedMockitoTestCase {
private static void assertEmptyUsersInfo(UsersInfo usersInfo) {
assertThat(usersInfo).isNotNull();
assertThat(usersInfo.currentUser.userId).isEqualTo(UserHandle.USER_NULL);
- assertThat(usersInfo.currentUser.flags).isEqualTo(UserFlags.NONE);
+ assertThat(usersInfo.currentUser.flags).isEqualTo(0);
assertThat(usersInfo.numberUsers).isEqualTo(0);
assertThat(usersInfo.existingUsers).isEmpty();
}
private static void assertAssociation(@NonNull UserIdentificationResponse response, int index,
int expectedType, int expectedValue) {
- UserIdentificationAssociation actualAssociation = response.associations.get(index);
+ UserIdentificationAssociation actualAssociation = response.associations[index];
if (actualAssociation.type != expectedType) {
fail("Wrong type for association at index " + index + " on " + response + "; expected "
- + UserIdentificationAssociationType.toString(expectedType) + ", got "
- + UserIdentificationAssociationType.toString(actualAssociation.type));
+ + DebugUtils.constantToString(
+ UserIdentificationAssociationType.class, expectedType)
+ + ", got "
+ + DebugUtils.constantToString(
+ UserIdentificationAssociationType.class, actualAssociation.type));
}
if (actualAssociation.type != expectedType) {
fail("Wrong value for association at index " + index + " on " + response + "; expected "
- + UserIdentificationAssociationValue.toString(expectedValue) + ", got "
- + UserIdentificationAssociationValue.toString(actualAssociation.value));
+ + DebugUtils.constantToString(
+ UserIdentificationAssociationValue.class, expectedValue)
+ + ", got "
+ + DebugUtils.constantToString(
+ UserIdentificationAssociationValue.class, actualAssociation.value));
}
}
}