package de.rub.syssec.saaf.application.manifest.permissions;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import de.rub.syssec.saaf.analysis.steps.metadata.SimplePermissionChecker;
import de.rub.syssec.saaf.application.manifest.permissions.Permission;
import de.rub.syssec.saaf.application.manifest.permissions.PermissionRequest;
import de.rub.syssec.saaf.db.datasources.DataSourceException;
import de.rub.syssec.saaf.db.datasources.Datasource;
import de.rub.syssec.saaf.db.datasources.XMLPermissionDatasource;
import de.rub.syssec.saaf.model.application.PermissionInterface;
public class SimplePermissionCheckerTest {
Datasource<PermissionInterface> ds;
@Before
public void setUp() throws Exception {
ds = new XMLPermissionDatasource("conf/permissions.xml","conf/schema/permissions.xml"); }
@After
public void tearDown() throws Exception {
}
@Test
public void testIsKnownPermission() throws DataSourceException {
SimplePermissionChecker checker = new SimplePermissionChecker(ds);
PermissionRequest request = new PermissionRequest(new Permission("android.permission.SEND_SMS"));
checker.check(request);
assertTrue("SimplePermissionChecker does not know SEND_SMS",request.isValid());
}
@Test
public void testGetKnownPermissions() throws DataSourceException {
SimplePermissionChecker checker = new SimplePermissionChecker(ds);
assertFalse("SimplePermissionChecker did not return any permissions",checker.getKnownPermissions().isEmpty());
}
}