package de.rub.syssec.saaf.application.manifest.permissions;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import de.rub.syssec.saaf.application.manifest.permissions.Permission;
import de.rub.syssec.saaf.application.manifest.permissions.PermissionRequest;
public class PermissionRequestTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testHashCode() {
Permission permA = new Permission("android.permission.SEND_SMS");
Permission permB = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
PermissionRequest reqB = new PermissionRequest(permB);
assertEquals(reqA, reqB);
assertEquals(reqA.hashCode(), reqB.hashCode());
}
@Test
public void testPermissionRequest() {
Permission permA = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
assertTrue(
"A new PermissionRequest that has not been persisted is always changed",
reqA.isChanged());
assertFalse(
"A new PermissionRequest that has not been checked is alyaws invalid",
reqA.isValid());
}
@Test
public void testGetRequestedPermission() {
Permission permA = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
assertEquals(permA, reqA.getRequestedPermission());
}
@Test
public void testSetRequestedPermission() {
Permission permA = new Permission("android.permission.SEND_SMS");
Permission permB = new Permission("android.permission.BLUETOOTH");
PermissionRequest reqA = new PermissionRequest(permA);
reqA.setRequestedPermission(permB);
assertEquals(permB, reqA.getRequestedPermission());
}
@Test
public void testIsValid() {
Permission permA = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
assertFalse(reqA.isValid());
}
@Test
public void testSetValid() {
Permission permA = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
assertFalse(reqA.isValid());
reqA.setValid(true);
assertTrue(reqA.isValid());
}
@Test
public void testGetId() {
Permission permA = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
assertEquals(0, reqA.getId());
}
@Test
public void testSetId() {
Permission permA = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
assertEquals(0, reqA.getId());
reqA.setId(1);
assertEquals(1, reqA.getId());
}
@Test
public void testSetChanged() {
Permission permA = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
assertTrue(reqA.isChanged());
reqA.setChanged(false);
assertFalse(reqA.isChanged());
}
@Test
public void testIsChanged() {
Permission permA = new Permission("android.permission.SEND_SMS");
PermissionRequest reqA = new PermissionRequest(permA);
assertTrue(reqA.isChanged());
}
@Test
public void testEqualsObject() {
Permission permA = new Permission("android.permission.SEND_SMS");
Permission permB = new Permission("android.permission.BLUETOOTH");
PermissionRequest reqA = new PermissionRequest(permA);
PermissionRequest reqB = new PermissionRequest(permB);
assertEquals(reqA, reqA);
assertNotSame(reqA, reqB);
assertFalse(reqA.equals(reqB));
}
}