Skip to content

Commit

Permalink
revert: feat: IntegrationTests infrastructure (WPB-4329) (#2113)
Browse files Browse the repository at this point in the history
* Revert "feat: IntegrationTests infrastructure (WPB-4329) (#2074)"

This reverts commit 75a5bcb.

* trigger build
  • Loading branch information
alexandreferris authored Oct 5, 2023
1 parent 75a5bcb commit 9200a35
Show file tree
Hide file tree
Showing 45 changed files with 46 additions and 1,984 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ package com.wire.kalium.plugins

import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget

fun KotlinJvmTarget.commonJvmConfig(includeNativeInterop: Boolean, enableIntegrationTests: Boolean = false) {
fun KotlinJvmTarget.commonJvmConfig(includeNativeInterop: Boolean) {
compilations.all {
kotlinOptions.jvmTarget = "17"
kotlinOptions.freeCompilerArgs += "-opt-in=kotlin.RequiresOptIn"
Expand All @@ -35,9 +35,4 @@ fun KotlinJvmTarget.commonJvmConfig(includeNativeInterop: Boolean, enableIntegra
}
}
}
if (enableIntegrationTests) {
testRuns.getByName("integrationTest").executionTask.configure {
useJUnit()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ class LibraryPlugin : Plugin<Project> {
val enableJs: Property<Boolean>
val enableJsTests: Property<Boolean>
val includeNativeInterop: Property<Boolean>
val enableIntegrationTests: Property<Boolean>
}

@get:Nested
Expand All @@ -54,8 +53,7 @@ class LibraryPlugin : Plugin<Project> {
enableApple = multiplatformConfiguration.enableApple.getOrElse(true),
enableJs = multiplatformConfiguration.enableJs.getOrElse(true),
enableJsTests = multiplatformConfiguration.enableJsTests.getOrElse(true),
includeNativeInterop = multiplatformConfiguration.includeNativeInterop.getOrElse(false),
enableIntegrationTests = multiplatformConfiguration.enableIntegrationTests.getOrElse(false)
includeNativeInterop = multiplatformConfiguration.includeNativeInterop.getOrElse(false)
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ fun Project.configureDefaultMultiplatform(
enableJs: Boolean,
enableJsTests: Boolean,
includeNativeInterop: Boolean,
enableIntegrationTests: Boolean,
androidNamespaceSuffix: String = this.name
) {
val kotlinExtension = extensions.findByName("kotlin") as? KotlinMultiplatformExtension
Expand All @@ -45,7 +44,7 @@ fun Project.configureDefaultMultiplatform(
}
kotlinExtension.apply {
targetHierarchy.default()
jvm { commonJvmConfig(includeNativeInterop, enableIntegrationTests) }
jvm { commonJvmConfig(includeNativeInterop) }

androidTarget { commmonKotlinAndroidTargetConfig() }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,7 @@ abstract class CoreLogicCommon internal constructor(
proxyCredentials,
getGlobalScope().serverConfigRepository,
networkStateObserver,
kaliumConfigs::certPinningConfig,
kaliumConfigs.mockEngine
kaliumConfigs::certPinningConfig
)

@Suppress("MemberVisibilityCanBePrivate") // Can be used by other targets like iOS and JS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,7 @@ class GlobalKaliumScope internal constructor(
kaliumConfigs.developmentApiEnabled,
userAgent,
kaliumConfigs.ignoreSSLCertificatesForUnboundCalls,
kaliumConfigs.certPinningConfig,
kaliumConfigs.mockEngine
kaliumConfigs.certPinningConfig
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -463,8 +463,7 @@ class UserSessionScope internal constructor(
sessionManager,
UserIdDTO(userId.value, userId.domain),
userAgent,
certificatePinning = kaliumConfigs.certPinningConfig,
mockEngine = kaliumConfigs.mockEngine
certificatePinning = kaliumConfigs.certPinningConfig
)
private val featureSupport: FeatureSupport = FeatureSupportImpl(
kaliumConfigs,
Expand All @@ -475,8 +474,7 @@ class UserSessionScope internal constructor(
sessionManager.getProxyCredentials(),
globalScope.serverConfigRepository,
networkStateObserver,
kaliumConfigs::certPinningConfig,
mockEngine = kaliumConfigs.mockEngine
kaliumConfigs::certPinningConfig
)

private val userConfigRepository: UserConfigRepository
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ class ObserveIfAppUpdateRequiredUseCaseImpl internal constructor(
private val kaliumConfigs: KaliumConfigs
) : ObserveIfAppUpdateRequiredUseCase {

@Suppress("ComplexMethod", "LongMethod")
@OptIn(ExperimentalCoroutinesApi::class)
override suspend fun invoke(currentAppVersion: Int): Flow<Boolean> {
val currentDate = DateTimeUtil.currentIsoDateTimeString()
Expand Down Expand Up @@ -106,8 +105,7 @@ class ObserveIfAppUpdateRequiredUseCaseImpl internal constructor(
proxyCredentials,
serverConfigRepository,
networkStateObserver,
kaliumConfigs::certPinningConfig,
kaliumConfigs.mockEngine
kaliumConfigs::certPinningConfig
)
.checkIfUpdateRequired(currentAppVersion, serverConfig.links.blackList)
serverConfig.id to isUpdateRequired
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ import com.wire.kalium.logic.util.safeComputeIfAbsent
import com.wire.kalium.network.NetworkStateObserver
import com.wire.kalium.network.networkContainer.UnauthenticatedNetworkContainer
import com.wire.kalium.network.session.CertificatePinning
import io.ktor.client.engine.HttpClientEngine

class AuthenticationScopeProvider internal constructor(
private val userAgent: String
Expand All @@ -53,14 +52,12 @@ class AuthenticationScopeProvider internal constructor(
ConcurrentMutableMap()
}

@Suppress("LongParameterList")
internal fun provide(
serverConfig: ServerConfig,
proxyCredentials: ProxyCredentials?,
serverConfigRepository: ServerConfigRepository,
networkStateObserver: NetworkStateObserver,
certConfig: () -> CertificatePinning,
mockEngine: HttpClientEngine?
certConfig: () -> CertificatePinning
): AuthenticationScope =
authenticationScopeStorage.safeComputeIfAbsent(serverConfig to proxyCredentials) {
AuthenticationScope(
Expand All @@ -69,30 +66,26 @@ class AuthenticationScopeProvider internal constructor(
proxyCredentials,
serverConfigRepository,
networkStateObserver,
certConfig,
mockEngine
certConfig
)
}
}

@Suppress("LongParameterList")
class AuthenticationScope internal constructor(
private val userAgent: String,
private val serverConfig: ServerConfig,
private val proxyCredentials: ProxyCredentials?,
private val serverConfigRepository: ServerConfigRepository,
private val networkStateObserver: NetworkStateObserver,
certConfig: () -> CertificatePinning,
mockEngine: HttpClientEngine?
certConfig: () -> CertificatePinning
) {
private val unauthenticatedNetworkContainer: UnauthenticatedNetworkContainer by lazy {
UnauthenticatedNetworkContainer.create(
networkStateObserver,
MapperProvider.serverConfigMapper().toDTO(serverConfig),
proxyCredentials?.let { MapperProvider.sessionMapper().fromModelToProxyCredentialsDTO(it) },
userAgent,
certificatePinning = certConfig(),
mockEngine
certificatePinning = certConfig()
)
}
private val loginRepository: LoginRepository
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@

package com.wire.kalium.logic.featureFlags

import com.wire.kalium.network.NetworkStateObserver
import io.ktor.client.engine.HttpClientEngine

data class KaliumConfigs(
val forceConstantBitrateCalls: Boolean = false,
val fileRestrictionState: BuildFileRestrictionState = BuildFileRestrictionState.NoRestriction,
Expand All @@ -38,9 +35,7 @@ data class KaliumConfigs(
val wipeOnDeviceRemoval: Boolean = false,
val wipeOnRootedDevice: Boolean = false,
val isWebSocketEnabledByDefault: Boolean = false,
val certPinningConfig: Map<String, List<String>> = emptyMap(),
val mockEngine: HttpClientEngine? = null,
val mockNetworkStateObserver: NetworkStateObserver? = null
val certPinningConfig: Map<String, List<String>> = emptyMap()
)

sealed interface BuildFileRestrictionState {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ actual class CoreLogic(

override val globalCallManager: GlobalCallManager = GlobalCallManager(PlatformContext())
override val globalWorkScheduler: GlobalWorkScheduler = GlobalWorkSchedulerImpl(this)
override val networkStateObserver: NetworkStateObserver = kaliumConfigs.mockNetworkStateObserver ?: NetworkStateObserverImpl()
override val networkStateObserver: NetworkStateObserver = NetworkStateObserverImpl()
override val userSessionScopeProvider: Lazy<UserSessionScopeProvider> = lazy {
UserSessionScopeProviderImpl(
authenticationScopeProvider,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,7 @@ internal class AuthenticatedNetworkContainerV0 internal constructor(
private val networkStateObserver: NetworkStateObserver,
private val sessionManager: SessionManager,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = sessionManager.serverConfig().links.apiProxy,
proxyCredentials = sessionManager.proxyCredentials(),
certificatePinning = certificatePinning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ class UnauthenticatedNetworkContainerV0 internal constructor(
backendLinks: ServerConfigDTO,
proxyCredentials: ProxyCredentialsDTO?,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = backendLinks.links.apiProxy,
proxyCredentials = proxyCredentials,
certificatePinning = certificatePinning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ internal class AuthenticatedNetworkContainerV2 internal constructor(
private val sessionManager: SessionManager,
private val selfUserId: UserId,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
sessionManager.serverConfig().links.apiProxy,
certificatePinning = certificatePinning
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ class UnauthenticatedNetworkContainerV2 internal constructor(
backendLinks: ServerConfigDTO,
proxyCredentials: ProxyCredentialsDTO?,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = backendLinks.links.apiProxy,
proxyCredentials = proxyCredentials,
certificatePinning = certificatePinning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ internal class AuthenticatedNetworkContainerV3 internal constructor(
private val sessionManager: SessionManager,
private val selfUserId: UserId,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = sessionManager.serverConfig().links.apiProxy,
proxyCredentials = sessionManager.proxyCredentials(),
certificatePinning = certificatePinning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,11 @@ class UnauthenticatedNetworkContainerV3 internal constructor(
backendLinks: ServerConfigDTO,
proxyCredentials: ProxyCredentialsDTO?,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
serverConfigDTOApiProxy = backendLinks.links.apiProxy,
proxyCredentials = proxyCredentials,
certificatePinning = certificatePinning
)
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = backendLinks.links.apiProxy,
proxyCredentials = proxyCredentials,
certificatePinning = certificatePinning
),
) : UnauthenticatedNetworkContainer,
UnauthenticatedNetworkClientProvider by UnauthenticatedNetworkClientProviderImpl(
networkStateObserver,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ internal class AuthenticatedNetworkContainerV4 internal constructor(
private val sessionManager: SessionManager,
private val selfUserId: UserId,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = sessionManager.serverConfig().links.apiProxy,
proxyCredentials = sessionManager.proxyCredentials(),
certificatePinning = certificatePinning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,11 @@ class UnauthenticatedNetworkContainerV4 internal constructor(
backendLinks: ServerConfigDTO,
proxyCredentials: ProxyCredentialsDTO?,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = backendLinks.links.apiProxy,
proxyCredentials = proxyCredentials,
certificatePinning = certificatePinning
)
),
) : UnauthenticatedNetworkContainer,
UnauthenticatedNetworkClientProvider by UnauthenticatedNetworkClientProviderImpl(
networkStateObserver,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,7 @@ internal class AuthenticatedNetworkContainerV5 internal constructor(
private val sessionManager: SessionManager,
private val selfUserId: UserId,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = sessionManager.serverConfig().links.apiProxy,
proxyCredentials = sessionManager.proxyCredentials(),
certificatePinning = certificatePinning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,11 @@ class UnauthenticatedNetworkContainerV5 internal constructor(
backendLinks: ServerConfigDTO,
proxyCredentials: ProxyCredentialsDTO?,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?,
engine: HttpClientEngine = mockEngine ?: defaultHttpEngine(
engine: HttpClientEngine = defaultHttpEngine(
serverConfigDTOApiProxy = backendLinks.links.apiProxy,
proxyCredentials = proxyCredentials,
certificatePinning = certificatePinning
)
),
) : UnauthenticatedNetworkContainer,
UnauthenticatedNetworkClientProvider by UnauthenticatedNetworkClientProviderImpl(
networkStateObserver,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,15 +106,12 @@ interface AuthenticatedNetworkContainer {
val propertiesApi: PropertiesApi

companion object {

@Suppress("LongParameterList")
fun create(
networkStateObserver: NetworkStateObserver,
sessionManager: SessionManager,
selfUserId: UserId,
userAgent: String,
certificatePinning: CertificatePinning,
mockEngine: HttpClientEngine?
certificatePinning: CertificatePinning
): AuthenticatedNetworkContainer {

KaliumUserAgentProvider.setUserAgent(userAgent)
Expand All @@ -123,47 +120,41 @@ interface AuthenticatedNetworkContainer {
0 -> AuthenticatedNetworkContainerV0(
networkStateObserver,
sessionManager,
certificatePinning,
mockEngine
certificatePinning
)

1 -> AuthenticatedNetworkContainerV0(
networkStateObserver,
sessionManager,
certificatePinning,
mockEngine
certificatePinning
)

2 -> AuthenticatedNetworkContainerV2(
networkStateObserver,
sessionManager,
selfUserId,
certificatePinning,
mockEngine
certificatePinning
)

3 -> AuthenticatedNetworkContainerV3(
networkStateObserver,
sessionManager,
selfUserId,
certificatePinning,
mockEngine
certificatePinning
)

4 -> AuthenticatedNetworkContainerV4(
networkStateObserver,
sessionManager,
selfUserId,
certificatePinning,
mockEngine
certificatePinning
)

5 -> AuthenticatedNetworkContainerV5(
networkStateObserver,
sessionManager,
selfUserId,
certificatePinning,
mockEngine
certificatePinning
)

else -> error("Unsupported version: $version")
Expand Down
Loading

0 comments on commit 9200a35

Please sign in to comment.