mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-11-26 06:12:06 +01:00
Add OpenPgpV5Fingerprint constructor tests using mocked v5 keys
This commit is contained in:
parent
2873de0d05
commit
37441a81e8
1 changed files with 87 additions and 3 deletions
|
@ -4,13 +4,20 @@
|
||||||
|
|
||||||
package org.pgpainless.key;
|
package org.pgpainless.key;
|
||||||
|
|
||||||
import org.bouncycastle.util.encoders.Hex;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import org.bouncycastle.openpgp.PGPKeyRing;
|
||||||
|
import org.bouncycastle.openpgp.PGPPublicKey;
|
||||||
|
import org.bouncycastle.openpgp.PGPPublicKeyRing;
|
||||||
|
import org.bouncycastle.openpgp.PGPSecretKey;
|
||||||
|
import org.bouncycastle.openpgp.PGPSecretKeyRing;
|
||||||
|
import org.bouncycastle.util.encoders.Hex;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
public class OpenPgpV5FingerprintTest {
|
public class OpenPgpV5FingerprintTest {
|
||||||
|
|
||||||
|
@ -92,4 +99,81 @@ public class OpenPgpV5FingerprintTest {
|
||||||
assertEquals(parsed.hashCode(), parsed2.hashCode());
|
assertEquals(parsed.hashCode(), parsed2.hashCode());
|
||||||
assertEquals(0, parsed.compareTo(parsed2));
|
assertEquals(0, parsed.compareTo(parsed2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void constructFromMockedPublicKey() {
|
||||||
|
String hex = "76543210ABCDEFAB01AB23CD1C0FFEE11EEFF0C1DC32BA10BAFEDCBA01234567";
|
||||||
|
PGPPublicKey publicKey = getMockedPublicKey(hex);
|
||||||
|
|
||||||
|
OpenPgpFingerprint fingerprint = OpenPgpFingerprint.of(publicKey);
|
||||||
|
assertTrue(fingerprint instanceof OpenPgpV5Fingerprint);
|
||||||
|
assertEquals(5, fingerprint.getVersion());
|
||||||
|
assertEquals(hex, fingerprint.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void constructFromMockedSecretKey() {
|
||||||
|
String hex = "76543210ABCDEFAB01AB23CD1C0FFEE11EEFF0C1DC32BA10BAFEDCBA01234567";
|
||||||
|
PGPPublicKey publicKey = getMockedPublicKey(hex);
|
||||||
|
PGPSecretKey secretKey = mock(PGPSecretKey.class);
|
||||||
|
when(secretKey.getPublicKey()).thenReturn(publicKey);
|
||||||
|
|
||||||
|
OpenPgpFingerprint fingerprint = new OpenPgpV5Fingerprint(secretKey);
|
||||||
|
assertEquals(5, fingerprint.getVersion());
|
||||||
|
assertEquals(hex, fingerprint.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void constructFromMockedPublicKeyRing() {
|
||||||
|
String hex = "76543210ABCDEFAB01AB23CD1C0FFEE11EEFF0C1DC32BA10BAFEDCBA01234567";
|
||||||
|
PGPPublicKey publicKey = getMockedPublicKey(hex);
|
||||||
|
PGPPublicKeyRing publicKeys = mock(PGPPublicKeyRing.class);
|
||||||
|
when(publicKeys.getPublicKey()).thenReturn(publicKey);
|
||||||
|
|
||||||
|
OpenPgpFingerprint fingerprint = OpenPgpFingerprint.of(publicKeys);
|
||||||
|
assertEquals(5, fingerprint.getVersion());
|
||||||
|
assertEquals(hex, fingerprint.toString());
|
||||||
|
|
||||||
|
fingerprint = new OpenPgpV5Fingerprint(publicKeys);
|
||||||
|
assertEquals(hex, fingerprint.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void constructFromMockedSecretKeyRing() {
|
||||||
|
String hex = "76543210ABCDEFAB01AB23CD1C0FFEE11EEFF0C1DC32BA10BAFEDCBA01234567";
|
||||||
|
PGPPublicKey publicKey = getMockedPublicKey(hex);
|
||||||
|
PGPSecretKeyRing secretKeys = mock(PGPSecretKeyRing.class);
|
||||||
|
when(secretKeys.getPublicKey()).thenReturn(publicKey);
|
||||||
|
|
||||||
|
OpenPgpFingerprint fingerprint = OpenPgpFingerprint.of(secretKeys);
|
||||||
|
assertEquals(5, fingerprint.getVersion());
|
||||||
|
assertEquals(hex, fingerprint.toString());
|
||||||
|
|
||||||
|
fingerprint = new OpenPgpV5Fingerprint(secretKeys);
|
||||||
|
assertEquals(hex, fingerprint.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void constructFromMockedKeyRing() {
|
||||||
|
String hex = "76543210ABCDEFAB01AB23CD1C0FFEE11EEFF0C1DC32BA10BAFEDCBA01234567";
|
||||||
|
PGPPublicKey publicKey = getMockedPublicKey(hex);
|
||||||
|
PGPKeyRing keys = mock(PGPKeyRing.class);
|
||||||
|
when(keys.getPublicKey()).thenReturn(publicKey);
|
||||||
|
|
||||||
|
OpenPgpFingerprint fingerprint = OpenPgpFingerprint.of(keys);
|
||||||
|
assertEquals(5, fingerprint.getVersion());
|
||||||
|
assertEquals(hex, fingerprint.toString());
|
||||||
|
|
||||||
|
fingerprint = new OpenPgpV5Fingerprint(keys);
|
||||||
|
assertEquals(hex, fingerprint.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
private PGPPublicKey getMockedPublicKey(String hex) {
|
||||||
|
byte[] binary = Hex.decode(hex);
|
||||||
|
|
||||||
|
PGPPublicKey mocked = mock(PGPPublicKey.class);
|
||||||
|
when(mocked.getVersion()).thenReturn(5);
|
||||||
|
when(mocked.getFingerprint()).thenReturn(binary);
|
||||||
|
return mocked;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue