From 8c9a3b5b377b04f8384d31a177241eb51105dc34 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 23 Jul 2026 11:33:47 +0200 Subject: [PATCH] =?UTF-8?q?Aktualizuj=20wersj=C4=99=20aplikacji=20w=20sesj?= =?UTF-8?q?i=20kierowcy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../firmatpp/kierowca/data/api/ApiFactory.kt | 11 +++++++++++ .../kierowca/data/api/ApiFactoryTest.kt | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 app/src/test/java/pl/firmatpp/kierowca/data/api/ApiFactoryTest.kt diff --git a/app/src/main/java/pl/firmatpp/kierowca/data/api/ApiFactory.kt b/app/src/main/java/pl/firmatpp/kierowca/data/api/ApiFactory.kt index 778cc19..b9f50bb 100644 --- a/app/src/main/java/pl/firmatpp/kierowca/data/api/ApiFactory.kt +++ b/app/src/main/java/pl/firmatpp/kierowca/data/api/ApiFactory.kt @@ -1,11 +1,19 @@ package pl.firmatpp.kierowca.data.api import okhttp3.OkHttpClient +import okhttp3.Request import okhttp3.logging.HttpLoggingInterceptor import pl.firmatpp.kierowca.BuildConfig import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory +internal const val DRIVER_APP_VERSION_HEADER = "X-Driver-App-Version" + +internal fun Request.withDriverAppVersion(appVersion: String): Request = + newBuilder() + .header(DRIVER_APP_VERSION_HEADER, appVersion) + .build() + object ApiFactory { fun mobileDriverApi(): MobileDriverApi { val logging = HttpLoggingInterceptor().apply { @@ -13,6 +21,9 @@ object ApiFactory { } val client = OkHttpClient.Builder() + .addInterceptor { chain -> + chain.proceed(chain.request().withDriverAppVersion(BuildConfig.VERSION_NAME)) + } .addInterceptor(logging) .build() diff --git a/app/src/test/java/pl/firmatpp/kierowca/data/api/ApiFactoryTest.kt b/app/src/test/java/pl/firmatpp/kierowca/data/api/ApiFactoryTest.kt new file mode 100644 index 0000000..0bea62f --- /dev/null +++ b/app/src/test/java/pl/firmatpp/kierowca/data/api/ApiFactoryTest.kt @@ -0,0 +1,19 @@ +package pl.firmatpp.kierowca.data.api + +import okhttp3.Request +import org.junit.Assert.assertEquals +import org.junit.Test + +class ApiFactoryTest { + @Test + fun `request contains current driver app version header`() { + val request = Request.Builder() + .url("https://api.example.test/mobile/driver/bootstrap") + .header(DRIVER_APP_VERSION_HEADER, "old-version") + .build() + + val updated = request.withDriverAppVersion("1.0.65") + + assertEquals("1.0.65", updated.header(DRIVER_APP_VERSION_HEADER)) + } +}