Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a0ba36e authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by Automerger Merge Worker
Browse files

Merge "Use setServiceForTest instead of static mocking" into rvc-dev am: 49e876fb am: 0fbc2f84

Change-Id: I820bbcf4bb00ffcf172865f62aa87b13210329e7
parents a1c54641 0fbc2f84
Loading
Loading
Loading
Loading
+7 −12
Original line number Original line Diff line number Diff line
@@ -29,8 +29,6 @@ import android.os.Build
import android.os.IBinder
import android.os.IBinder
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.filters.SmallTest
import com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn
import com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession
import com.android.networkstack.apishim.ShimUtils
import com.android.networkstack.apishim.ShimUtils
import org.junit.After
import org.junit.After
import org.junit.Assume.assumeTrue
import org.junit.Assume.assumeTrue
@@ -39,11 +37,11 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.any
import org.mockito.ArgumentMatchers.any
import org.mockito.Mock
import org.mockito.Mock
import org.mockito.Mockito.doReturn
import org.mockito.Mockito.never
import org.mockito.Mockito.never
import org.mockito.Mockito.timeout
import org.mockito.Mockito.timeout
import org.mockito.Mockito.verify
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
import org.mockito.MockitoAnnotations
import org.mockito.MockitoSession


@RunWith(AndroidJUnit4::class)
@RunWith(AndroidJUnit4::class)
@SmallTest
@SmallTest
@@ -52,8 +50,6 @@ class ModuleNetworkStackClientTest {
    private val TEST_NETWORK = Network(43)
    private val TEST_NETWORK = Network(43)
    private val TEST_TIMEOUT_MS = 500L
    private val TEST_TIMEOUT_MS = 500L


    private var mSession: MockitoSession? = null

    @Mock
    @Mock
    private lateinit var mContext: Context
    private lateinit var mContext: Context
    @Mock
    @Mock
@@ -73,7 +69,6 @@ class ModuleNetworkStackClientTest {
    fun setUp() {
    fun setUp() {
        // ModuleNetworkStackClient is only available after Q
        // ModuleNetworkStackClient is only available after Q
        assumeTrue(ShimUtils.isReleaseOrDevelopmentApiAbove(Build.VERSION_CODES.Q))
        assumeTrue(ShimUtils.isReleaseOrDevelopmentApiAbove(Build.VERSION_CODES.Q))
        mSession = mockitoSession().spyStatic(NetworkStack::class.java).startMocking()
        MockitoAnnotations.initMocks(this)
        MockitoAnnotations.initMocks(this)
        doReturn(mConnector).`when`(mConnectorBinder).queryLocalInterface(
        doReturn(mConnector).`when`(mConnectorBinder).queryLocalInterface(
                INetworkStackConnector::class.qualifiedName!!)
                INetworkStackConnector::class.qualifiedName!!)
@@ -81,13 +76,13 @@ class ModuleNetworkStackClientTest {


    @After
    @After
    fun tearDown() {
    fun tearDown() {
        mSession?.finishMocking()
        ModuleNetworkStackClient.resetInstanceForTest()
        ModuleNetworkStackClient.resetInstanceForTest()
        NetworkStack.setServiceForTest(null)
    }
    }


    @Test
    @Test
    fun testIpClientServiceAvailableImmediately() {
    fun testIpClientServiceAvailableImmediately() {
        doReturn(mConnectorBinder).`when` { NetworkStack.getService() }
        NetworkStack.setServiceForTest(mConnectorBinder)
        ModuleNetworkStackClient.getInstance(mContext).makeIpClient(TEST_IFNAME, mIpClientCb)
        ModuleNetworkStackClient.getInstance(mContext).makeIpClient(TEST_IFNAME, mIpClientCb)
        verify(mConnector).makeIpClient(TEST_IFNAME, mIpClientCb)
        verify(mConnector).makeIpClient(TEST_IFNAME, mIpClientCb)
    }
    }
@@ -98,14 +93,14 @@ class ModuleNetworkStackClientTest {


        Thread.sleep(TEST_TIMEOUT_MS)
        Thread.sleep(TEST_TIMEOUT_MS)
        verify(mConnector, never()).makeIpClient(any(), any())
        verify(mConnector, never()).makeIpClient(any(), any())
        doReturn(mConnectorBinder).`when` { NetworkStack.getService() }
        NetworkStack.setServiceForTest(mConnectorBinder)
        // Use a longer timeout as polling can cause larger delays
        // Use a longer timeout as polling can cause larger delays
        verify(mConnector, timeout(TEST_TIMEOUT_MS * 4)).makeIpClient(TEST_IFNAME, mIpClientCb)
        verify(mConnector, timeout(TEST_TIMEOUT_MS * 4)).makeIpClient(TEST_IFNAME, mIpClientCb)
    }
    }


    @Test
    @Test
    fun testDhcpServerAvailableImmediately() {
    fun testDhcpServerAvailableImmediately() {
        doReturn(mConnectorBinder).`when` { NetworkStack.getService() }
        NetworkStack.setServiceForTest(mConnectorBinder)
        val testParams = DhcpServingParamsParcel()
        val testParams = DhcpServingParamsParcel()
        ModuleNetworkStackClient.getInstance(mContext).makeDhcpServer(TEST_IFNAME, testParams,
        ModuleNetworkStackClient.getInstance(mContext).makeDhcpServer(TEST_IFNAME, testParams,
                mDhcpServerCb)
                mDhcpServerCb)
@@ -114,7 +109,7 @@ class ModuleNetworkStackClientTest {


    @Test
    @Test
    fun testNetworkMonitorAvailableImmediately() {
    fun testNetworkMonitorAvailableImmediately() {
        doReturn(mConnectorBinder).`when` { NetworkStack.getService() }
        NetworkStack.setServiceForTest(mConnectorBinder)
        val testName = "NetworkMonitorName"
        val testName = "NetworkMonitorName"
        ModuleNetworkStackClient.getInstance(mContext).makeNetworkMonitor(TEST_NETWORK, testName,
        ModuleNetworkStackClient.getInstance(mContext).makeNetworkMonitor(TEST_NETWORK, testName,
                mNetworkMonitorCb)
                mNetworkMonitorCb)
@@ -123,7 +118,7 @@ class ModuleNetworkStackClientTest {


    @Test
    @Test
    fun testIpMemoryStoreAvailableImmediately() {
    fun testIpMemoryStoreAvailableImmediately() {
        doReturn(mConnectorBinder).`when` { NetworkStack.getService() }
        NetworkStack.setServiceForTest(mConnectorBinder)
        ModuleNetworkStackClient.getInstance(mContext).fetchIpMemoryStore(mIpMemoryStoreCb)
        ModuleNetworkStackClient.getInstance(mContext).fetchIpMemoryStore(mIpMemoryStoreCb)
        verify(mConnector).fetchIpMemoryStore(mIpMemoryStoreCb)
        verify(mConnector).fetchIpMemoryStore(mIpMemoryStoreCb)
    }
    }