Rename NetworkConfigRepository to NetworkConfigManager (#172)

This commit is contained in:
Brian Yencho 2023-10-27 13:01:00 -05:00 committed by Álison Fernandes
parent 8378f5bef6
commit aae9adce84
6 changed files with 23 additions and 21 deletions

View file

@ -1,7 +1,7 @@
package com.x8bit.bitwarden
import android.app.Application
import com.x8bit.bitwarden.data.platform.repository.NetworkConfigRepository
import com.x8bit.bitwarden.data.platform.manager.NetworkConfigManager
import dagger.hilt.android.HiltAndroidApp
import javax.inject.Inject
@ -13,5 +13,5 @@ class BitwardenApplication : Application() {
// Inject classes here that must be triggered on startup but are not otherwise consumed by
// other callers.
@Inject
lateinit var networkConfigRepository: NetworkConfigRepository
lateinit var networkConfigManager: NetworkConfigManager
}

View file

@ -0,0 +1,6 @@
package com.x8bit.bitwarden.data.platform.manager
/**
* Responsible for managing the active configuration of the network layer.
*/
interface NetworkConfigManager

View file

@ -1,24 +1,25 @@
package com.x8bit.bitwarden.data.platform.repository
package com.x8bit.bitwarden.data.platform.manager
import com.x8bit.bitwarden.data.auth.repository.AuthRepository
import com.x8bit.bitwarden.data.auth.repository.model.AuthState
import com.x8bit.bitwarden.data.platform.datasource.network.interceptor.AuthTokenInterceptor
import com.x8bit.bitwarden.data.platform.datasource.network.interceptor.BaseUrlInterceptors
import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
/**
* Primary implementation of [NetworkConfigRepository].
* Primary implementation of [NetworkConfigManager].
*/
class NetworkConfigRepositoryImpl(
class NetworkConfigManagerImpl(
private val authRepository: AuthRepository,
private val authTokenInterceptor: AuthTokenInterceptor,
private val environmentRepository: EnvironmentRepository,
private val baseUrlInterceptors: BaseUrlInterceptors,
dispatcher: CoroutineDispatcher,
) : NetworkConfigRepository {
) : NetworkConfigManager {
private val scope = CoroutineScope(dispatcher)

View file

@ -1,6 +0,0 @@
package com.x8bit.bitwarden.data.platform.repository
/**
* Responsible for managing the active configuration of the network layer.
*/
interface NetworkConfigRepository

View file

@ -4,10 +4,10 @@ import com.x8bit.bitwarden.data.auth.repository.AuthRepository
import com.x8bit.bitwarden.data.platform.datasource.disk.EnvironmentDiskSource
import com.x8bit.bitwarden.data.platform.datasource.network.interceptor.AuthTokenInterceptor
import com.x8bit.bitwarden.data.platform.datasource.network.interceptor.BaseUrlInterceptors
import com.x8bit.bitwarden.data.platform.manager.NetworkConfigManager
import com.x8bit.bitwarden.data.platform.manager.NetworkConfigManagerImpl
import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository
import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepositoryImpl
import com.x8bit.bitwarden.data.platform.repository.NetworkConfigRepository
import com.x8bit.bitwarden.data.platform.repository.NetworkConfigRepositoryImpl
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
@ -34,13 +34,13 @@ object PlatformRepositoryModule {
@Provides
@Singleton
fun provideNetworkConfigRepository(
fun provideNetworkConfigManager(
authRepository: AuthRepository,
authTokenInterceptor: AuthTokenInterceptor,
environmentRepository: EnvironmentRepository,
baseUrlInterceptors: BaseUrlInterceptors,
): NetworkConfigRepository =
NetworkConfigRepositoryImpl(
): NetworkConfigManager =
NetworkConfigManagerImpl(
authRepository = authRepository,
authTokenInterceptor = authTokenInterceptor,
environmentRepository = environmentRepository,

View file

@ -1,9 +1,10 @@
package com.x8bit.bitwarden.data.platform.repository
package com.x8bit.bitwarden.data.platform.manager
import com.x8bit.bitwarden.data.auth.repository.AuthRepository
import com.x8bit.bitwarden.data.auth.repository.model.AuthState
import com.x8bit.bitwarden.data.platform.datasource.network.interceptor.AuthTokenInterceptor
import com.x8bit.bitwarden.data.platform.datasource.network.interceptor.BaseUrlInterceptors
import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository
import com.x8bit.bitwarden.data.platform.repository.model.Environment
import io.mockk.every
import io.mockk.mockk
@ -16,7 +17,7 @@ import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
@OptIn(ExperimentalCoroutinesApi::class)
class NetworkConfigRepositoryTest {
class NetworkConfigManagerTest {
private val mutableAuthStateFlow = MutableStateFlow<AuthState>(AuthState.Uninitialized)
private val mutableEnvironmentStateFlow = MutableStateFlow<Environment>(Environment.Us)
@ -31,11 +32,11 @@ class NetworkConfigRepositoryTest {
private val authTokenInterceptor = AuthTokenInterceptor()
private val baseUrlInterceptors = BaseUrlInterceptors()
private lateinit var networkConfigRepository: NetworkConfigRepository
private lateinit var networkConfigManager: NetworkConfigManager
@BeforeEach
fun setUp() {
networkConfigRepository = NetworkConfigRepositoryImpl(
networkConfigManager = NetworkConfigManagerImpl(
authRepository = authRepository,
authTokenInterceptor = authTokenInterceptor,
environmentRepository = environmentRepository,