Merge "[Media] Add some tests in ResumeMediaBrowserTest to ensure we're disconnecting old browsers." into tm-dev am: 5630265c02

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18144865

Change-Id: I70fe328a292ebdda70dd8e5fe73eafe9a9257c41
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Caitlin Cassidy
2022-05-05 15:00:53 +00:00
committed by Automerger Merge Worker

View File

@@ -27,6 +27,7 @@ import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.util.mockito.mock
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@@ -135,6 +136,24 @@ public class ResumeMediaBrowserTest : SysuiTestCase() {
verify(callback).addTrack(eq(description), eq(component), eq(resumeBrowser))
}
@Test
fun testConnection_calledTwice_oldBrowserDisconnected() {
val oldBrowser = mock<MediaBrowser>()
whenever(browserFactory.create(any(), any(), any())).thenReturn(oldBrowser)
// When testConnection can connect to the service
setupBrowserConnection()
resumeBrowser.testConnection()
// And testConnection is called again
val newBrowser = mock<MediaBrowser>()
whenever(browserFactory.create(any(), any(), any())).thenReturn(newBrowser)
resumeBrowser.testConnection()
// Then we disconnect the old browser
verify(oldBrowser).disconnect()
}
@Test
fun testFindRecentMedia_connectionFails_error() {
// When findRecentMedia is called and we cannot connect
@@ -168,6 +187,24 @@ public class ResumeMediaBrowserTest : SysuiTestCase() {
verify(callback).onConnected()
}
@Test
fun testFindRecentMedia_calledTwice_oldBrowserDisconnected() {
val oldBrowser = mock<MediaBrowser>()
whenever(browserFactory.create(any(), any(), any())).thenReturn(oldBrowser)
// When findRecentMedia is called and we connect
setupBrowserConnection()
resumeBrowser.findRecentMedia()
// And findRecentMedia is called again
val newBrowser = mock<MediaBrowser>()
whenever(browserFactory.create(any(), any(), any())).thenReturn(newBrowser)
resumeBrowser.findRecentMedia()
// Then we disconnect the old browser
verify(oldBrowser).disconnect()
}
@Test
fun testFindRecentMedia_noChildren_error() {
// When findRecentMedia is called and we connect, but do not get any results
@@ -223,6 +260,24 @@ public class ResumeMediaBrowserTest : SysuiTestCase() {
verify(transportControls).play()
}
@Test
fun testRestart_calledTwice_oldBrowserDisconnected() {
val oldBrowser = mock<MediaBrowser>()
whenever(browserFactory.create(any(), any(), any())).thenReturn(oldBrowser)
// When restart is called and we connect successfully
setupBrowserConnection()
resumeBrowser.restart()
// And restart is called again
val newBrowser = mock<MediaBrowser>()
whenever(browserFactory.create(any(), any(), any())).thenReturn(newBrowser)
resumeBrowser.restart()
// Then we disconnect the old browser
verify(oldBrowser).disconnect()
}
/**
* Helper function to mock a failed connection
*/