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

Commit 044c8b25 authored by Alex Dadukin's avatar Alex Dadukin
Browse files

Replace MediaRouter2ManagerTest's assertions with more advanced techniques

- added BundleSubject
- assertThat(size).isEqualTo(...) is replaced with hasSize
- improved arrays assertion with assertThat(...).contains(...) and
  assertThat(...).doesNotContain(...)

Bug: b/244428131
Test: atest MediaRouter2ManagerTest
Change-Id: Ica1f94a3d08baa0c9b115f40f89f190849886de5
parent 4d0f54c7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ android_test {

    static_libs: [
        "androidx.test.core",
        "androidx.test.ext.truth",
        "androidx.test.rules",
        "compatibility-device-util-axt",
        "mockito-target-minus-junit4",
+22 −20
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ import static android.media.MediaRoute2Info.PLAYBACK_VOLUME_VARIABLE;
import static android.media.MediaRoute2ProviderService.REASON_REJECTED;
import static android.media.MediaRoute2ProviderService.REQUEST_ID_NONE;

import static androidx.test.ext.truth.os.BundleSubject.assertThat;

import static com.android.mediaroutertest.StubMediaRoute2ProviderService.FEATURE_SAMPLE;
import static com.android.mediaroutertest.StubMediaRoute2ProviderService.FEATURE_SPECIAL;
import static com.android.mediaroutertest.StubMediaRoute2ProviderService.ROUTE_ID1;
@@ -351,7 +353,7 @@ public class MediaRouter2ManagerTest {
            }
        }

        assertThat(remoteRouteCount > 0).isTrue();
        assertThat(remoteRouteCount).isGreaterThan(0);
    }

    /**
@@ -384,7 +386,7 @@ public class MediaRouter2ManagerTest {

        mManager.selectRoute(mPackageName, routeToSelect);
        assertThat(latch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)).isTrue();
        assertThat(mManager.getRemoteSessions().size()).isEqualTo(1);
        assertThat(mManager.getRemoteSessions()).hasSize(1);
    }

    @Test
@@ -406,20 +408,20 @@ public class MediaRouter2ManagerTest {
            }
        });

        assertThat(mManager.getRoutingSessions(mPackageName).size()).isEqualTo(1);
        assertThat(mManager.getRoutingSessions(mPackageName)).hasSize(1);

        mManager.selectRoute(mPackageName, routeToSelect);
        assertThat(latch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)).isTrue();

        List<RoutingSessionInfo> sessions = mManager.getRoutingSessions(mPackageName);
        assertThat(sessions.size()).isEqualTo(2);
        assertThat(sessions).hasSize(2);

        RoutingSessionInfo sessionInfo = sessions.get(1);
        awaitOnRouteChangedManager(
                () -> mManager.releaseSession(sessionInfo),
                ROUTE_ID1,
                route -> TextUtils.equals(route.getClientPackageName(), null));
        assertThat(mManager.getRoutingSessions(mPackageName).size()).isEqualTo(1);
        assertThat(mManager.getRoutingSessions(mPackageName)).hasSize(1);
    }

    @Test
@@ -477,20 +479,20 @@ public class MediaRouter2ManagerTest {
            }
        });

        assertThat(mManager.getRoutingSessions(mPackageName).size()).isEqualTo(1);
        assertThat(mRouter2.getControllers().size()).isEqualTo(1);
        assertThat(mManager.getRoutingSessions(mPackageName)).hasSize(1);
        assertThat(mRouter2.getControllers()).hasSize(1);

        mManager.transfer(mManager.getRoutingSessions(mPackageName).get(0), routeToSelect);
        assertThat(transferLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)).isTrue();

        assertThat(mManager.getRoutingSessions(mPackageName).size()).isEqualTo(2);
        assertThat(mRouter2.getControllers().size()).isEqualTo(2);
        assertThat(mManager.getRoutingSessions(mPackageName)).hasSize(2);
        assertThat(mRouter2.getControllers()).hasSize(2);
        mRouter2.getControllers().get(1).release();

        assertThat(releaseLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)).isTrue();

        assertThat(mRouter2.getControllers().size()).isEqualTo(1);
        assertThat(mManager.getRoutingSessions(mPackageName).size()).isEqualTo(1);
        assertThat(mRouter2.getControllers()).hasSize(1);
        assertThat(mManager.getRoutingSessions(mPackageName)).hasSize(1);
    }

    /**
@@ -596,8 +598,8 @@ public class MediaRouter2ManagerTest {
                .map(RoutingSessionInfo::getId)
                .collect(Collectors.toList());
        // The old session shouldn't appear on the session list.
        assertThat(remoteSessionIds.contains(sessions.get(0).getId())).isFalse();
        assertThat(remoteSessionIds.contains(sessions.get(1).getId())).isTrue();
        assertThat(remoteSessionIds).doesNotContain(sessions.get(0).getId());
        assertThat(remoteSessionIds).contains(sessions.get(1).getId());

        assertThat(serviceOnReleaseSessionLatch.await(WAIT_TIME_MS, TimeUnit.MILLISECONDS))
                .isFalse();
@@ -705,7 +707,7 @@ public class MediaRouter2ManagerTest {
        assertThat(onSessionCreatedLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)).isTrue();

        List<RoutingSessionInfo> sessions = mManager.getRoutingSessions(mPackageName);
        assertThat(sessions.size()).isEqualTo(2);
        assertThat(sessions).hasSize(2);

        // test setSessionVolume
        RoutingSessionInfo sessionInfo = sessions.get(1);
@@ -768,7 +770,7 @@ public class MediaRouter2ManagerTest {
        addManagerCallback(new MediaRouter2Manager.Callback() {});
        mManager.setRouteVolume(volRoute, 0);
        assertThat(onSetRouteVolumeLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)).isTrue();
        assertThat(requestIds.isEmpty()).isFalse();
        assertThat(requestIds).isNotEmpty();

        final int failureReason = REASON_REJECTED;
        final CountDownLatch onRequestFailedLatch = new CountDownLatch(1);
@@ -837,13 +839,13 @@ public class MediaRouter2ManagerTest {
            @Override
            public void onTransferred(RoutingSessionInfo oldSession,
                    RoutingSessionInfo newSession) {
                assertThat(newSession.getSelectedRoutes().contains(route.getId())).isTrue();
                assertThat(newSession.getSelectedRoutes()).contains(route.getId());
                // The StubMediaRoute2ProviderService is supposed to set control hints
                // with the given controllerHints.
                Bundle controlHints = newSession.getControlHints();
                assertThat(controlHints).isNotNull();
                assertThat(controlHints.containsKey(TEST_KEY)).isTrue();
                assertThat(controlHints.getString(TEST_KEY)).isEqualTo(TEST_VALUE);
                assertThat(controlHints).containsKey(TEST_KEY);
                assertThat(controlHints).string(TEST_KEY).isEqualTo(TEST_VALUE);

                successLatch.countDown();
            }
@@ -891,11 +893,11 @@ public class MediaRouter2ManagerTest {
                        .collect(Collectors.toList());
                for (MediaRoute2Info selectableRoute :
                        mManager.getSelectableRoutes(newSessionInfo)) {
                    assertThat(selectedRoutes.contains(selectableRoute.getId())).isFalse();
                    assertThat(selectedRoutes).doesNotContain(selectableRoute.getId());
                }
                for (MediaRoute2Info deselectableRoute :
                        mManager.getDeselectableRoutes(newSessionInfo)) {
                    assertThat(selectedRoutes.contains(deselectableRoute.getId())).isTrue();
                    assertThat(selectedRoutes).contains(deselectableRoute.getId());
                }
                onSessionCreatedLatch.countDown();
            }