✅ Use dummy WOT connector for identity loader test
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / freenet / wot / WebOfTrustConnectorTest.kt
1 package net.pterodactylus.sone.freenet.wot
2
3 val dummyWebOfTrustConnector = object : WebOfTrustConnector {
4         override fun loadAllOwnIdentities(): Set<OwnIdentity> = emptySet()
5         override fun loadTrustedIdentities(ownIdentity: OwnIdentity, context: String?): Set<Identity> = emptySet()
6         override fun loadAllIdentities(ownIdentity: OwnIdentity, context: String?): Set<Identity> = emptySet()
7         override fun addContext(ownIdentity: OwnIdentity, context: String) = Unit
8         override fun removeContext(ownIdentity: OwnIdentity, context: String) = Unit
9         override fun setProperty(ownIdentity: OwnIdentity, name: String, value: String) = Unit
10         override fun removeProperty(ownIdentity: OwnIdentity, name: String) = Unit
11         override fun ping() = Unit
12 }
13
14 open class DelegatingWebOfTrustConnector(private val delegate: WebOfTrustConnector) : WebOfTrustConnector by delegate
15
16 fun WebOfTrustConnector.overrideLoadAllOwnIdentities(override: () -> Set<OwnIdentity>): WebOfTrustConnector = object : DelegatingWebOfTrustConnector(this) {
17         override fun loadAllOwnIdentities() = override()
18 }
19
20 fun WebOfTrustConnector.overrideLoadTrustedIdentities(override: (ownIdentity: OwnIdentity, context: String?) -> Set<Identity>): WebOfTrustConnector = object : DelegatingWebOfTrustConnector(this) {
21         override fun loadTrustedIdentities(ownIdentity: OwnIdentity, context: String?) = override(ownIdentity, context)
22 }
23
24 fun WebOfTrustConnector.overrideLoadAllIdentities(override: (ownIdentity: OwnIdentity, context: String?) -> Set<Identity>): WebOfTrustConnector = object : DelegatingWebOfTrustConnector(this) {
25         override fun loadAllIdentities(ownIdentity: OwnIdentity, context: String?) = override(ownIdentity, context)
26 }
27
28 fun WebOfTrustConnector.overridePing(override: () -> Unit): WebOfTrustConnector = object : DelegatingWebOfTrustConnector(this) {
29         override fun ping() = override()
30 }