From 8db8b76a2633d8a85aef59beabc96567043417fd Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Sun, 9 Jul 2023 21:02:02 +0200 Subject: [PATCH] Propagate referenceTime to the Network --- .../src/main/kotlin/org/pgpainless/wot/WebOfTrust.kt | 2 +- .../test/kotlin/org/pgpainless/wot/WebOfTrustTest.kt | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pgpainless-wot/src/main/kotlin/org/pgpainless/wot/WebOfTrust.kt b/pgpainless-wot/src/main/kotlin/org/pgpainless/wot/WebOfTrust.kt index 9837b66e..e828aa51 100644 --- a/pgpainless-wot/src/main/kotlin/org/pgpainless/wot/WebOfTrust.kt +++ b/pgpainless-wot/src/main/kotlin/org/pgpainless/wot/WebOfTrust.kt @@ -86,7 +86,7 @@ class WebOfTrust(private val certificateStore: PGPCertificateStore) { private class PGPNetworkFactory private constructor(validatedCertificates: List, private val policy: Policy, private val referenceTime: ReferenceTime) { - private val networkBuilder: Network.Builder = Network.builder() + private val networkBuilder: Network.Builder = Network.builder().setReferenceTime(referenceTime) // certificates keyed by fingerprint private val byFingerprint: MutableMap = HashMap() diff --git a/pgpainless-wot/src/test/kotlin/org/pgpainless/wot/WebOfTrustTest.kt b/pgpainless-wot/src/test/kotlin/org/pgpainless/wot/WebOfTrustTest.kt index 10a874fb..1e3cd5ce 100644 --- a/pgpainless-wot/src/test/kotlin/org/pgpainless/wot/WebOfTrustTest.kt +++ b/pgpainless-wot/src/test/kotlin/org/pgpainless/wot/WebOfTrustTest.kt @@ -10,6 +10,7 @@ import org.pgpainless.key.OpenPgpFingerprint import org.pgpainless.wot.network.Edge import org.pgpainless.wot.network.Fingerprint import org.pgpainless.wot.network.Network +import org.pgpainless.wot.network.ReferenceTime import org.pgpainless.wot.testfixtures.TestCertificateStores import org.pgpainless.wot.testfixtures.WotTestVectors import kotlin.test.assertEquals @@ -92,6 +93,16 @@ class WebOfTrustTest { 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( certifications: Edge,