diff --git a/test/assets/masterKeyIndex.jar b/test/assets/masterKeyIndex.jar new file mode 100644 index 000000000..5f33a8dd7 Binary files /dev/null and b/test/assets/masterKeyIndex.jar differ diff --git a/test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java b/test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java index 42d9ad28c..dc98ab5e8 100644 --- a/test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java +++ b/test/src/org/fdroid/fdroid/updater/SignedRepoUpdaterTest.java @@ -12,7 +12,11 @@ import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.data.Repo; import org.fdroid.fdroid.updater.RepoUpdater.UpdateException; -import java.io.*; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; @TargetApi(8) public class SignedRepoUpdaterTest extends InstrumentationTestCase { @@ -165,4 +169,18 @@ public class SignedRepoUpdaterTest extends InstrumentationTestCase { // success! } } + + public void testExtractIndexFromMasterKeyIndexJar() { + if (!testFilesDir.canWrite()) + return; + // this is supposed to fail + try { + repoUpdater.getIndexFromFile(getTestFile("masterKeyIndex.jar")); + fail(); + } catch (UpdateException e) { + // success! + } catch (SecurityException e) { + // success! + } + } }