1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-06-26 05:24:49 +02:00

Propagate referenceTime to the Network

This commit is contained in:
Paul Schaub 2023-07-09 21:02:02 +02:00
parent dc38d2764d
commit 8db8b76a26
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311
2 changed files with 12 additions and 1 deletions

View file

@ -86,7 +86,7 @@ class WebOfTrust(private val certificateStore: PGPCertificateStore) {
private class PGPNetworkFactory private constructor(validatedCertificates: List<KeyRingInfo>, private class PGPNetworkFactory private constructor(validatedCertificates: List<KeyRingInfo>,
private val policy: Policy, private val policy: Policy,
private val referenceTime: ReferenceTime) { private val referenceTime: ReferenceTime) {
private val networkBuilder: Network.Builder = Network.builder() private val networkBuilder: Network.Builder = Network.builder().setReferenceTime(referenceTime)
// certificates keyed by fingerprint // certificates keyed by fingerprint
private val byFingerprint: MutableMap<Fingerprint, KeyRingInfo> = HashMap() private val byFingerprint: MutableMap<Fingerprint, KeyRingInfo> = HashMap()

View file

@ -10,6 +10,7 @@ import org.pgpainless.key.OpenPgpFingerprint
import org.pgpainless.wot.network.Edge import org.pgpainless.wot.network.Edge
import org.pgpainless.wot.network.Fingerprint import org.pgpainless.wot.network.Fingerprint
import org.pgpainless.wot.network.Network import org.pgpainless.wot.network.Network
import org.pgpainless.wot.network.ReferenceTime
import org.pgpainless.wot.testfixtures.TestCertificateStores import org.pgpainless.wot.testfixtures.TestCertificateStores
import org.pgpainless.wot.testfixtures.WotTestVectors import org.pgpainless.wot.testfixtures.WotTestVectors
import kotlin.test.assertEquals import kotlin.test.assertEquals
@ -92,6 +93,16 @@ class WebOfTrustTest {
assertEquals(1, network.nodes.size) assertEquals(1, network.nodes.size)
} }
@Test
fun `referenceTime is propagated properly`() {
val referenceTime = ReferenceTime.now()
val network = WebOfTrust(KeyRingCertificateStore(listOf()))
.buildNetwork(referenceTime = referenceTime)
assertEquals(referenceTime, network.referenceTime)
}
private fun assertHasIssuerAndTarget( private fun assertHasIssuerAndTarget(
certifications: Edge, certifications: Edge,