Skip to content

Commit

Permalink
fix: use the .net server for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
VaiTon committed Jul 28, 2022
1 parent 392c2a9 commit 054dd8e
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 35 deletions.
35 changes: 18 additions & 17 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,10 @@ android {
ndk.abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")

multiDexEnabled = true

buildConfigField("String", "WIKIDATA", "\"https://www.wikidata.org/wiki/Special:EntityData/\"")
buildConfigField("String", "MATOMO_URL", "\"https://analytics.openfoodfacts.org/matomo.php\"")
buildConfigField("String", "TESTING_HOST", "\"https://world.openfoodfacts.net\"")
}

signingConfigs {
Expand Down Expand Up @@ -220,12 +224,6 @@ android {
debug {
applicationIdSuffix = ".debug"
isDebuggable = true


// Uncomment to use dev server
// buildConfigField("String", "HOST", "\"https://ssl-api.openfoodfacts.net\"")
// buildConfigField("String", "OFWEBSITE", "\"https://www.openfoodfacts.net/\"")
// buildConfigField("String", "STATICURL", "\"https://static.openfoodfacts.net\"")
}

create("screenshots") {
Expand All @@ -235,7 +233,12 @@ android {
}

productFlavors {

///////////////////////
// FLAVORS

create("off") {
dimension = "versionCode"
applicationId = "openfoodfacts.github.scrachx.openfood"
if ("true" == System.getenv("CI_RELEASE")) { // CI=true is exported by github action
applicationId = "org.openfoodfacts.scanner"
Expand All @@ -245,51 +248,49 @@ android {
buildConfigField("String", "HOST", "\"https://ssl-api.openfoodfacts.org\"")
buildConfigField("String", "OFOTHERLINKAPP", "\"org.openbeautyfacts.scanner\"")
buildConfigField("String", "OFWEBSITE", "\"https://world.openfoodfacts.org/\"")
buildConfigField("String", "WIKIDATA", "\"https://www.wikidata.org/wiki/Special:EntityData/\"")
buildConfigField("String", "STATICURL", "\"https://static.openfoodfacts.org\"")
buildConfigField("String", "MATOMO_URL", "\"https://analytics.openfoodfacts.org/matomo.php\"")
dimension = "versionCode"
}
create("obf") {
dimension = "versionCode"
applicationId = "openfoodfacts.github.scrachx.openbeauty"
if ("true" == System.getenv("CI_RELEASE")) { // CI=true is exported by github action
applicationId = "org.openbeautyfacts.scanner"
}

resValue("string", "app_name", "OpenBeautyFacts")
buildConfigField("String", "APP_NAME", "\"Open Beauty Facts\"")
buildConfigField("String", "HOST", "\"https://ssl-api.openbeautyfacts.org\"")
buildConfigField("String", "OFOTHERLINKAPP", "\"org.openfoodfacts.scanner\"")
buildConfigField("String", "OFWEBSITE", "\"https://world.openbeautyfacts.org/\"")
buildConfigField("String", "WIKIDATA", "\"https://www.wikidata.org/wiki/Special:EntityData/\"")
buildConfigField("String", "STATICURL", "\"https://static.openbeautyfacts.org\"")
buildConfigField("String", "MATOMO_URL", "\"https://analytics.openfoodfacts.org/matomo.php\"")
dimension = "versionCode"
}
create("opff") {
dimension = "versionCode"
applicationId = "org.openpetfoodfacts.scanner"

resValue("string", "app_name", "OpenPetFoodFacts")
buildConfigField("String", "APP_NAME", "\"Open Pet Food Facts\"")
buildConfigField("String", "HOST", "\"https://ssl-api.openpetfoodfacts.org\"")
buildConfigField("String", "OFOTHERLINKAPP", "\"org.openfoodfacts.scanner\"")
buildConfigField("String", "OFWEBSITE", "\"https://world.openpetfoodfacts.org/\"")
buildConfigField("String", "WIKIDATA", "\"https://www.wikidata.org/wiki/Special:EntityData/\"")
buildConfigField("String", "STATICURL", "\"https://static.openpetfoodfacts.org\"")
buildConfigField("String", "MATOMO_URL", "\"https://analytics.openfoodfacts.org/matomo.php\"")
dimension = "versionCode"
}
create("opf") {
dimension = "versionCode"
applicationId = "org.openproductsfacts.scanner"

resValue("string", "app_name", "OpenProductsFacts")
buildConfigField("String", "APP_NAME", "\"Open Products Facts\"")
buildConfigField("String", "HOST", "\"https://ssl-api.openproductsfacts.org\"")
buildConfigField("String", "OFOTHERLINKAPP", "\"org.openfoodfacts.scanner\"")
buildConfigField("String", "OFWEBSITE", "\"https://world.openproductsfacts.org/\"")
buildConfigField("String", "WIKIDATA", "\"https://www.wikidata.org/wiki/Special:EntityData/\"")
buildConfigField("String", "STATICURL", "\"https://static.openproductsfacts.org\"")
buildConfigField("String", "MATOMO_URL", "\"https://analytics.openfoodfacts.org/matomo.php\"")
dimension = "versionCode"
buildConfigField("String", "WIKIDATA", "\"https://www.wikidata.org/wiki/Special:EntityData/\"")
}

///////////////////////
// PLATFORMS

create("playstore") {
dimension = "platform"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,26 @@ import openfoodfacts.github.scrachx.openfood.network.services.RobotoffAPI
import openfoodfacts.github.scrachx.openfood.network.services.WikidataAPI
import retrofit2.Retrofit
import javax.inject.Singleton
import kotlin.reflect.KClass

@Module
@InstallIn(SingletonComponent::class)
object ApiModule {

@Provides
@Singleton
fun provideProductsAPI(@MainRetrofit retrofit: Retrofit): ProductsAPI = retrofit.create(ProductsAPI::class.java)
fun provideProductsAPI(@MainRetrofit retrofit: Retrofit): ProductsAPI = retrofit.create()

@Provides
@Singleton
fun provideWikiDataAPI(@WikiRetrofit retrofit: Retrofit): WikidataAPI = retrofit.create(WikidataAPI::class.java)
fun provideWikiDataAPI(@WikiRetrofit retrofit: Retrofit): WikidataAPI = retrofit.create()

@Provides
@Singleton
fun provideAnalysisDataApi(@MainRetrofit retrofit: Retrofit): AnalysisDataAPI = retrofit.create(AnalysisDataAPI::class.java)
fun provideAnalysisDataApi(@MainRetrofit retrofit: Retrofit): AnalysisDataAPI = retrofit.create()

@Provides
@Singleton
fun robotoffApi(@RobotoffRetrofit retrofit: Retrofit): RobotoffAPI = retrofit.create(RobotoffAPI::class.java)
fun robotoffApi(@RobotoffRetrofit retrofit: Retrofit): RobotoffAPI = retrofit.create()
}

internal inline fun <reified T : Any> Retrofit.create(): T = create(T::class.java)
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import io.reactivex.schedulers.Schedulers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.runBlocking
import okhttp3.Credentials
import okhttp3.Headers
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import openfoodfacts.github.scrachx.openfood.BuildConfig
Expand All @@ -24,6 +25,8 @@ import org.junit.jupiter.api.Test
import retrofit2.Retrofit
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
import retrofit2.converter.jackson.JacksonConverterFactory
import retrofit2.create
import retrofit2.http.Header
import java.time.Duration

class ProductsAPITest {
Expand Down Expand Up @@ -185,7 +188,6 @@ class ProductsAPITest {

companion object {
const val LC = "en"
private const val DEV_API = "https://world.openfoodfacts.dev"

/**
* We need to use auth because we use world.openfoodfacts.dev
Expand All @@ -206,33 +208,33 @@ class ProductsAPITest {
origReq.newBuilder()
.header("Authorization", Credentials.basic("off", "off"))
.header("Accept", "application/json")
.method(origReq.method(), origReq.body()).build()
.method(origReq.method(), origReq.body())
.build()
)
}
.build()

prodClient = Retrofit.Builder()
prodClient = defaultBuilder()
.baseUrl(BuildConfig.HOST)
.client(httpClientWithAuth)
.addConverterFactory(JacksonConverterFactory.create(jacksonObjectMapper()))
.addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
.build()
.create(ProductsAPI::class.java)
.create()

devClientWithAuth = Retrofit.Builder()
.baseUrl(DEV_API)
.addConverterFactory(JacksonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
devClientWithAuth = defaultBuilder()
.baseUrl(BuildConfig.TESTING_HOST)
.client(httpClientWithAuth)
.build()
.create(ProductsAPI::class.java)
.create()
}

private fun defaultBuilder() = Retrofit.Builder()
.addConverterFactory(JacksonConverterFactory.create(jacksonObjectMapper()))
.addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))

}

class SearchSubject private constructor(
failureMetadata: FailureMetadata,
private val actual: Search
private val actual: Search,
) : Subject(failureMetadata, actual) {

fun hasFoundProducts() {
Expand Down

0 comments on commit 054dd8e

Please sign in to comment.