mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-30 12:32:17 -05:00
tests: for export, check that a token local cert actually exists before export
This commit is contained in:
parent
57e3266fa5
commit
704fc2dd45
@ -120,10 +120,13 @@ public class ExportTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testExportAllPublic() throws Exception {
|
public void testExportAll() throws Exception {
|
||||||
ImportExportOperation op = new ImportExportOperation(Robolectric.application,
|
ImportExportOperation op = new ImportExportOperation(Robolectric.application,
|
||||||
new ProviderHelper(Robolectric.application), null);
|
new ProviderHelper(Robolectric.application), null);
|
||||||
|
|
||||||
|
// make sure there is a local cert (so the later checks that there are none are meaningful)
|
||||||
|
Assert.assertTrue("second keyring has local certification", checkForLocal(mStaticRing2));
|
||||||
|
|
||||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||||
ExportResult result = op.exportKeyRings(new OperationLog(), null, false, out);
|
ExportResult result = op.exportKeyRings(new OperationLog(), null, false, out);
|
||||||
|
|
||||||
@ -147,7 +150,8 @@ public class ExportTest {
|
|||||||
Assert.assertEquals("first exported key has correct masterkeyid",
|
Assert.assertEquals("first exported key has correct masterkeyid",
|
||||||
masterKeyId1, ring.getMasterKeyId());
|
masterKeyId1, ring.getMasterKeyId());
|
||||||
Assert.assertFalse("first exported key must not be secret", ring.isSecret());
|
Assert.assertFalse("first exported key must not be secret", ring.isSecret());
|
||||||
checkForLocal(ring);
|
Assert.assertFalse("there must be no local signatures in an exported keyring",
|
||||||
|
checkForLocal(ring));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -156,7 +160,8 @@ public class ExportTest {
|
|||||||
Assert.assertEquals("second exported key has correct masterkeyid",
|
Assert.assertEquals("second exported key has correct masterkeyid",
|
||||||
masterKeyId2, ring.getMasterKeyId());
|
masterKeyId2, ring.getMasterKeyId());
|
||||||
Assert.assertFalse("second exported key must not be secret", ring.isSecret());
|
Assert.assertFalse("second exported key must not be secret", ring.isSecret());
|
||||||
checkForLocal(ring);
|
Assert.assertFalse("there must be no local signatures in an exported keyring",
|
||||||
|
checkForLocal(ring));
|
||||||
}
|
}
|
||||||
|
|
||||||
out = new ByteArrayOutputStream();
|
out = new ByteArrayOutputStream();
|
||||||
@ -172,14 +177,16 @@ public class ExportTest {
|
|||||||
Assert.assertEquals("1/4 exported key has correct masterkeyid",
|
Assert.assertEquals("1/4 exported key has correct masterkeyid",
|
||||||
masterKeyId1, ring.getMasterKeyId());
|
masterKeyId1, ring.getMasterKeyId());
|
||||||
Assert.assertFalse("1/4 exported key must not be public", ring.isSecret());
|
Assert.assertFalse("1/4 exported key must not be public", ring.isSecret());
|
||||||
checkForLocal(ring);
|
Assert.assertFalse("there must be no local signatures in an exported keyring",
|
||||||
|
checkForLocal(ring));
|
||||||
|
|
||||||
Assert.assertTrue("export must have four keys (2/4)", unc.hasNext());
|
Assert.assertTrue("export must have four keys (2/4)", unc.hasNext());
|
||||||
ring = unc.next();
|
ring = unc.next();
|
||||||
Assert.assertEquals("2/4 exported key has correct masterkeyid",
|
Assert.assertEquals("2/4 exported key has correct masterkeyid",
|
||||||
masterKeyId1, ring.getMasterKeyId());
|
masterKeyId1, ring.getMasterKeyId());
|
||||||
Assert.assertTrue("2/4 exported key must be public", ring.isSecret());
|
Assert.assertTrue("2/4 exported key must be public", ring.isSecret());
|
||||||
checkForLocal(ring);
|
Assert.assertFalse("there must be no local signatures in an exported keyring",
|
||||||
|
checkForLocal(ring));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -188,24 +195,29 @@ public class ExportTest {
|
|||||||
Assert.assertEquals("3/4 exported key has correct masterkeyid",
|
Assert.assertEquals("3/4 exported key has correct masterkeyid",
|
||||||
masterKeyId2, ring.getMasterKeyId());
|
masterKeyId2, ring.getMasterKeyId());
|
||||||
Assert.assertFalse("3/4 exported key must not be public", ring.isSecret());
|
Assert.assertFalse("3/4 exported key must not be public", ring.isSecret());
|
||||||
checkForLocal(ring);
|
Assert.assertFalse("there must be no local signatures in an exported keyring",
|
||||||
|
checkForLocal(ring));
|
||||||
|
|
||||||
Assert.assertTrue("export must have four keys (4/4)", unc.hasNext());
|
Assert.assertTrue("export must have four keys (4/4)", unc.hasNext());
|
||||||
ring = unc.next();
|
ring = unc.next();
|
||||||
Assert.assertEquals("4/4 exported key has correct masterkeyid",
|
Assert.assertEquals("4/4 exported key has correct masterkeyid",
|
||||||
masterKeyId2, ring.getMasterKeyId());
|
masterKeyId2, ring.getMasterKeyId());
|
||||||
Assert.assertTrue("4/4 exported key must be public", ring.isSecret());
|
Assert.assertTrue("4/4 exported key must be public", ring.isSecret());
|
||||||
checkForLocal(ring);
|
Assert.assertFalse("there must be no local signatures in an exported keyring",
|
||||||
|
checkForLocal(ring));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkForLocal(UncachedKeyRing ring) {
|
/** This function checks whether or not there are any local signatures in a keyring. */
|
||||||
|
private boolean checkForLocal(UncachedKeyRing ring) {
|
||||||
Iterator<WrappedSignature> sigs = ring.getPublicKey().getSignatures();
|
Iterator<WrappedSignature> sigs = ring.getPublicKey().getSignatures();
|
||||||
while (sigs.hasNext()) {
|
while (sigs.hasNext()) {
|
||||||
Assert.assertFalse("there must be no local signatures in an exported keyring",
|
if (sigs.next().isLocal()) {
|
||||||
sigs.next().isLocal());
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user