RepoUpdaterTest: convert writable test to JUnit assumption

This will mark the test as ignored rather then succeeded if it cannot find
a writable dir.
This commit is contained in:
Hans-Christoph Steiner 2016-05-20 11:13:48 +02:00
parent 02b2090e53
commit f1a31a7fe3

View File

@ -5,6 +5,7 @@ import android.app.Instrumentation;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import android.util.Log;
import org.fdroid.fdroid.RepoUpdater.UpdateException;
import org.fdroid.fdroid.data.Repo;
@ -15,9 +16,11 @@ import org.junit.runner.RunWith;
import java.io.File;
import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
@RunWith(AndroidJUnit4.class)
public class RepoUpdaterTest {
public static final String TAG = "RepoUpdaterTest";
private Context context;
private Repo repo;
@ -26,6 +29,18 @@ public class RepoUpdaterTest {
String simpleIndexSigningCert = "308201ee30820157a0030201020204300d845b300d06092a864886f70d01010b0500302a3110300e060355040b1307462d44726f6964311630140603550403130d70616c6174736368696e6b656e301e170d3134303432373030303633315a170d3431303931323030303633315a302a3110300e060355040b1307462d44726f6964311630140603550403130d70616c6174736368696e6b656e30819f300d06092a864886f70d010101050003818d0030818902818100a439472e4b6d01141bfc94ecfe131c7c728fdda670bb14c57ca60bd1c38a8b8bc0879d22a0a2d0bc0d6fdd4cb98d1d607c2caefbe250a0bd0322aedeb365caf9b236992fac13e6675d3184a6c7c6f07f73410209e399a9da8d5d7512bbd870508eebacff8b57c3852457419434d34701ccbf692267cbc3f42f1c5d1e23762d790203010001a321301f301d0603551d0e041604140b1840691dab909746fde4bfe28207d1cae15786300d06092a864886f70d01010b05000381810062424c928ffd1b6fd419b44daafef01ca982e09341f7077fb865905087aeac882534b3bd679b51fdfb98892cef38b63131c567ed26c9d5d9163afc775ac98ad88c405d211d6187bde0b0d236381cc574ba06ef9080721a92ae5a103a7301b2c397eecc141cc850dd3e123813ebc41c59d31ddbcb6e984168280c53272f6a442b";
/**
* Getting a writeable dir during the tests seems to be a flaky prospect.
*/
private boolean canWrite() {
if (testFilesDir.canWrite()) {
return true;
} else {
Log.e(TAG, "ERROR: " + testFilesDir + " is not writable, skipping test");
return false;
}
}
@Before
public void setUp() {
Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
@ -38,9 +53,7 @@ public class RepoUpdaterTest {
@Test
public void testExtractIndexFromJar() {
if (!testFilesDir.canWrite()) {
return;
}
assumeTrue(canWrite());
File simpleIndexJar = TestUtils.copyAssetToDir(context, "simpleIndex.jar", testFilesDir);
repoUpdater = new RepoUpdater(context, repo);
@ -55,6 +68,7 @@ public class RepoUpdaterTest {
@Test(expected = UpdateException.class)
public void testExtractIndexFromOutdatedJar() throws UpdateException {
assumeTrue(canWrite());
File simpleIndexJar = TestUtils.copyAssetToDir(context, "simpleIndex.jar", testFilesDir);
repo.version = 10;
repo.timestamp = System.currentTimeMillis() / 1000L;
@ -67,9 +81,7 @@ public class RepoUpdaterTest {
@Test(expected = UpdateException.class)
public void testExtractIndexFromJarWithoutSignatureJar() throws UpdateException {
if (!testFilesDir.canWrite()) {
return;
}
assumeTrue(canWrite());
// this is supposed to fail
File jarFile = TestUtils.copyAssetToDir(context, "simpleIndexWithoutSignature.jar", testFilesDir);
repoUpdater = new RepoUpdater(context, repo);
@ -79,9 +91,7 @@ public class RepoUpdaterTest {
@Test
public void testExtractIndexFromJarWithCorruptedManifestJar() {
if (!testFilesDir.canWrite()) {
return;
}
assumeTrue(canWrite());
// this is supposed to fail
try {
File jarFile = TestUtils.copyAssetToDir(context, "simpleIndexWithCorruptedManifest.jar", testFilesDir);
@ -98,9 +108,7 @@ public class RepoUpdaterTest {
@Test
public void testExtractIndexFromJarWithCorruptedSignature() {
if (!testFilesDir.canWrite()) {
return;
}
assumeTrue(canWrite());
// this is supposed to fail
try {
File jarFile = TestUtils.copyAssetToDir(context, "simpleIndexWithCorruptedSignature.jar", testFilesDir);
@ -117,9 +125,7 @@ public class RepoUpdaterTest {
@Test
public void testExtractIndexFromJarWithCorruptedCertificate() {
if (!testFilesDir.canWrite()) {
return;
}
assumeTrue(canWrite());
// this is supposed to fail
try {
File jarFile = TestUtils.copyAssetToDir(context, "simpleIndexWithCorruptedCertificate.jar", testFilesDir);
@ -136,9 +142,7 @@ public class RepoUpdaterTest {
@Test
public void testExtractIndexFromJarWithCorruptedEverything() {
if (!testFilesDir.canWrite()) {
return;
}
assumeTrue(canWrite());
// this is supposed to fail
try {
File jarFile = TestUtils.copyAssetToDir(context, "simpleIndexWithCorruptedEverything.jar", testFilesDir);
@ -155,9 +159,7 @@ public class RepoUpdaterTest {
@Test
public void testExtractIndexFromMasterKeyIndexJar() {
if (!testFilesDir.canWrite()) {
return;
}
assumeTrue(canWrite());
// this is supposed to fail
try {
File jarFile = TestUtils.copyAssetToDir(context, "masterKeyIndex.jar", testFilesDir);