Skip to content
Snippets Groups Projects
Unverified Commit 04f30791 authored by chris-cwa's avatar chris-cwa Committed by GitHub
Browse files

Fixed DCC Server Module (EXPOSUREAPP-7457) (#3374)


* fixed components path

* fixed dcc server di

* + api test

Co-authored-by: default avatarMatthias Urhahn <matthias.urhahn@sap.com>
parent 8edad99f
No related branches found
No related tags found
No related merge requests found
......@@ -34,7 +34,7 @@ interface CovidCertificateApiV1 {
}
}
@POST("/version/v1/publicKey")
@POST("/version/v1/dcc")
suspend fun getComponents(
@Body requestBody: ComponentsRequest
): Response<ComponentsResponse>
......
......@@ -7,6 +7,7 @@ import de.rki.coronawarnapp.environment.covidcertificate.DCCHttpClient
import de.rki.coronawarnapp.environment.covidcertificate.DCCServerUrl
import okhttp3.OkHttpClient
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
@Module
class CovidCertificateModule {
......@@ -16,10 +17,12 @@ class CovidCertificateModule {
fun apiV1(
@DCCHttpClient httpClient: OkHttpClient,
@DCCServerUrl url: String,
gsonConverterFactory: GsonConverterFactory
): CovidCertificateApiV1 {
return Retrofit.Builder()
.client(httpClient)
.baseUrl(url)
.addConverterFactory(gsonConverterFactory)
.build()
.create(CovidCertificateApiV1::class.java)
}
......
package de.rki.coronawarnapp.covidcertificate.server
import de.rki.coronawarnapp.http.HttpModule
import io.kotest.matchers.shouldBe
import io.mockk.MockKAnnotations
import kotlinx.coroutines.runBlocking
import okhttp3.mockwebserver.MockWebServer
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import testhelpers.BaseTest
import testhelpers.extensions.toJsonResponse
import java.util.concurrent.TimeUnit
class CovidCertificateApiV1Test : BaseTest() {
private lateinit var webServer: MockWebServer
private lateinit var serverAddress: String
@BeforeEach
fun setup() {
MockKAnnotations.init(this)
webServer = MockWebServer()
webServer.start()
serverAddress = "http://${webServer.hostName}:${webServer.port}"
}
@AfterEach
fun teardown() {
webServer.shutdown()
}
private fun createAPI(): CovidCertificateApiV1 {
val httpModule = HttpModule()
return CovidCertificateModule().let {
val downloadHttpClient = httpModule.defaultHttpClient()
it.apiV1(
httpClient = downloadHttpClient,
url = serverAddress,
gsonConverterFactory = httpModule.provideGSONConverter()
)
}
}
@Test
fun `test upload`(): Unit = runBlocking {
val api = createAPI()
"""
{
}
""".toJsonResponse().apply { webServer.enqueue(this) }
api.sendPublicKey(
CovidCertificateApiV1.PublicKeyUploadRequest(
registrationToken = "token1",
publicKey = "key1"
)
)
webServer.takeRequest(5, TimeUnit.SECONDS)!!.apply {
path shouldBe "/version/v1/publicKey"
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment