Skip to content

Commit

Permalink
Use real CredentialsStore
Browse files Browse the repository at this point in the history
  • Loading branch information
rfc2822 committed Jan 27, 2025
1 parent 5e3774b commit b4a0e21
Showing 1 changed file with 10 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@ import at.bitfire.davdroid.db.WebDavDocument
import at.bitfire.davdroid.db.WebDavMount
import at.bitfire.davdroid.network.HttpClient
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.android.testing.BindValue
import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltAndroidTest
import io.mockk.impl.annotations.MockK
import io.mockk.junit4.MockKRule
import okhttp3.CookieJar
import okhttp3.mockwebserver.Dispatcher
Expand All @@ -27,6 +25,7 @@ import org.junit.Assert.assertTrue
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import java.util.logging.Logger
import javax.inject.Inject

@HiltAndroidTest
Expand All @@ -39,21 +38,20 @@ class DavDocumentsProviderTest {
@Inject @ApplicationContext
lateinit var context: Context

@BindValue
@MockK(relaxed = true)
@Inject
lateinit var credentialsStore: CredentialsStore

@Inject
lateinit var davDocumentsActorFactory: DavDocumentsProvider.DavDocumentsActor.Factory

@Inject
lateinit var httpClientBuilder: HttpClient.Builder

@Inject
lateinit var db: AppDatabase

@Inject
lateinit var logger: java.util.logging.Logger
lateinit var testDispatcher: TestDispatcher

@get:Rule
val hiltRule = HiltAndroidRule(this)
Expand All @@ -68,9 +66,8 @@ class DavDocumentsProviderTest {
fun setUp() {
hiltRule.inject()

// Start mock web server
server = MockWebServer().apply {
dispatcher = TestDispatcher(logger)
dispatcher = testDispatcher
start()
}

Expand Down Expand Up @@ -169,13 +166,13 @@ class DavDocumentsProviderTest {
}

@Test
fun testDoQueryChildren_updateTwoParentsSimultaneous() {
fun testDoQueryChildren_updateTwoDirectoriesSimultaneously() {
// Create root in database
val mountId = db.webDavMountDao().insert(WebDavMount(0, "Cat food storage", server.url(PATH_WEBDAV_ROOT)))
val webDavMount = db.webDavMountDao().getById(mountId)
val root = db.webDavDocumentDao().getOrCreateRoot(webDavMount)

// Create two parents
// Create two directories
val parent1Id = db.webDavDocumentDao().insert(WebDavDocument(0, mountId, root.id, "parent1", true))
val parent2Id = db.webDavDocumentDao().insert(WebDavDocument(0, mountId, root.id, "parent2", true))
val parent1 = db.webDavDocumentDao().get(parent1Id)!!
Expand All @@ -199,8 +196,8 @@ class DavDocumentsProviderTest {

// mock server

class TestDispatcher(
private val logger: java.util.logging.Logger
class TestDispatcher @Inject constructor(
private val logger: Logger
): Dispatcher() {

data class Resource(
Expand All @@ -209,10 +206,10 @@ class DavDocumentsProviderTest {
)

override fun dispatch(request: RecordedRequest): MockResponse {
logger.info("Request: $request")
val requestPath = request.path!!.trimEnd('/')

if (request.method.equals("PROPFIND", true)) {

val propsMap = mutableMapOf(
PATH_WEBDAV_ROOT to arrayOf(
Resource("",
Expand Down Expand Up @@ -256,7 +253,6 @@ class DavDocumentsProviderTest {
responses +
"</multistatus>"

logger.info("Query path: $requestPath")
logger.info("Response: $multistatus")
return MockResponse()
.setResponseCode(207)
Expand Down

0 comments on commit b4a0e21

Please sign in to comment.