summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilal Alsharifi <bilal.alsharifi@gmail.com>2020-05-19 16:50:33 -0400
committerBilal Alsharifi <bilal.alsharifi@gmail.com>2020-05-19 16:50:33 -0400
commitb6ed339cf4035f3ef2296a8d7cf0610abda274c8 (patch)
tree65b7bcaedfb7fb8d4bd87cff3549e2edc749aa76
parentcf27d5cedf551039af8c5ad37390aa53763aab4a (diff)
downloadsdl_android-feature/issue_1353.tar.gz
Update unit tests to reflect the OnPermissionChangeListener changesfeature/issue_1353
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java33
1 files changed, 24 insertions, 9 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java
index 6a66a3092..deb5061dc 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/permission/PermissionManagerTests.java
@@ -21,8 +21,11 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import static com.smartdevicelink.managers.permission.BasePermissionManager.PERMISSION_GROUP_STATUS_DISALLOWED;
+import static com.smartdevicelink.managers.permission.BasePermissionManager.PERMISSION_GROUP_STATUS_UNKNOWN;
import static com.smartdevicelink.managers.permission.PermissionManager.PERMISSION_GROUP_STATUS_ALLOWED;
import static com.smartdevicelink.managers.permission.PermissionManager.PERMISSION_GROUP_STATUS_MIXED;
+import static junit.framework.TestCase.assertFalse;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doAnswer;
@@ -39,6 +42,7 @@ public class PermissionManagerTests extends AndroidTestCase2 {
protected void setUp() throws Exception {
super.setUp();
+
// Mock Isdl and its behaviour to use it for PermissionManager testing
ISdl internalInterface = mock(ISdl.class);
@@ -106,7 +110,7 @@ public class PermissionManagerTests extends AndroidTestCase2 {
@Override
public void onPermissionsChange(@NonNull Map<FunctionID, PermissionStatus> allowedPermissions, @NonNull int permissionGroupStatus) {
// Make sure is the actual result matches the expected one
- assertEquals(permissionGroupStatus, PERMISSION_GROUP_STATUS_ALLOWED);
+ assertEquals(PERMISSION_GROUP_STATUS_ALLOWED, permissionGroupStatus);
assertTrue(allowedPermissions.get(FunctionID.SHOW).getIsRPCAllowed());
assertTrue(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getIsRPCAllowed());
assertTrue(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getAllowedParameters().get("rpm"));
@@ -140,7 +144,7 @@ public class PermissionManagerTests extends AndroidTestCase2 {
// Make sure the listener is called exactly once
- assertEquals("Listener was not called or called more/less frequently than expected", listenerCalledCounter, 1);
+ assertEquals("Listener was not called or called more/less frequently than expected", 1, listenerCalledCounter);
}
@@ -148,6 +152,11 @@ public class PermissionManagerTests extends AndroidTestCase2 {
public void testListenersAnyAllowed() {
listenerCalledCounter = 0;
+
+ // Emulate Core's behaviour by sending OnHMIStatus notification
+ sendFakeCoreOnHMIStatusNotifications(HMILevel.HMI_NONE);
+
+
// Test how developers can add listeners through PermissionManager
List<PermissionElement> permissionElements = new ArrayList<>();
permissionElements.add(new PermissionElement(FunctionID.SHOW, null));
@@ -157,13 +166,19 @@ public class PermissionManagerTests extends AndroidTestCase2 {
public void onPermissionsChange(@NonNull Map<FunctionID, PermissionStatus> allowedPermissions, @NonNull int permissionGroupStatus) {
// Make sure is the actual result matches the expected one
if (listenerCalledCounter == 0) { // Listener called for the first time
- assertEquals(permissionGroupStatus, PERMISSION_GROUP_STATUS_MIXED);
+ assertEquals(PERMISSION_GROUP_STATUS_DISALLOWED, permissionGroupStatus);
+ assertFalse(allowedPermissions.get(FunctionID.SHOW).getIsRPCAllowed());
+ assertFalse(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getIsRPCAllowed());
+ assertFalse(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getAllowedParameters().get("rpm"));
+ assertFalse(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getAllowedParameters().get("airbagStatus"));
+ } else if (listenerCalledCounter == 1) { // Listener called for the first time
+ assertEquals(PERMISSION_GROUP_STATUS_MIXED, permissionGroupStatus);
assertTrue(allowedPermissions.get(FunctionID.SHOW).getIsRPCAllowed());
- assertTrue(!allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getIsRPCAllowed());
- assertTrue(!allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getAllowedParameters().get("rpm"));
- assertTrue(!allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getAllowedParameters().get("airbagStatus"));
- } else if (listenerCalledCounter == 1) { // Listener called for the second time
- assertEquals(permissionGroupStatus, PERMISSION_GROUP_STATUS_ALLOWED);
+ assertFalse(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getIsRPCAllowed());
+ assertFalse(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getAllowedParameters().get("rpm"));
+ assertFalse(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getAllowedParameters().get("airbagStatus"));
+ } else if (listenerCalledCounter == 2) { // Listener called for the third time
+ assertEquals(PERMISSION_GROUP_STATUS_ALLOWED, permissionGroupStatus);
assertTrue(allowedPermissions.get(FunctionID.SHOW).getIsRPCAllowed());
assertTrue(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getIsRPCAllowed());
assertTrue(allowedPermissions.get(FunctionID.GET_VEHICLE_DATA).getAllowedParameters().get("rpm"));
@@ -198,6 +213,6 @@ public class PermissionManagerTests extends AndroidTestCase2 {
// Make sure the the listener is called exactly twice
- assertEquals("Listener was not called or called more/less frequently than expected", listenerCalledCounter, 2);
+ assertEquals("Listener was not called or called more/less frequently than expected", 3, listenerCalledCounter);
}
}