Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1de88a0 authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Android10Resolver: add test

parent a280de73
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
package at.bitfire.davdroid

import android.os.Build
import androidx.test.filters.SdkSuppress
import org.junit.Assert.assertEquals
import org.junit.Test
import org.xbill.DNS.ARecord
import org.xbill.DNS.Lookup
import org.xbill.DNS.Type
import java.net.InetAddress

class Android10ResolverTest {

    val FQDN_DAVX5 = "www.google.com"

    @Test
    @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
    fun testResolve() {
        val www = InetAddress.getByName(FQDN_DAVX5)

        val srvLookup = Lookup(FQDN_DAVX5, Type.A)
        srvLookup.setResolver(Android10Resolver)
        val resultGeneric = srvLookup.run()
        assertEquals(1, resultGeneric.size)

        val result = resultGeneric.first() as ARecord
        assertEquals(www, result.address)
    }

}
 No newline at end of file
+3 −15
Original line number Diff line number Diff line
@@ -38,21 +38,9 @@ object Android10Resolver: Resolver {
        future.await()
    }

    override fun sendAsync(query: Message, listener: ResolverListener): Any {
        val id = Any()

        resolver.rawQuery(null, query.toWire(), DnsResolver.FLAG_EMPTY, executor, null, object: DnsResolver.Callback<ByteArray> {
            override fun onAnswer(rawAnswer: ByteArray, rcode: Int) {
                listener.receiveMessage(id, Message(rawAnswer))
            }

            override fun onError(error: DnsResolver.DnsException) {
                listener.handleException(id, error)
            }
        })

        return id
    }
    override fun sendAsync(query: Message, listener: ResolverListener) =
        // currently not used by dnsjava, so no need to implement it
        throw NotImplementedError()


    override fun setPort(port: Int) {