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

Commit 4ffa234e authored by Neil Fuller's avatar Neil Fuller
Browse files

Add a test for suggestNetworkTime()

Add a test for TimeDetectorInternal.suggestNetworkTime().

Bug: 219693030
Bug: 222295093
Test: atest services/tests/servicestests/src/com/android/server/timedetector/
Change-Id: I51cc089b27da35cd7915986e11ca62dae5982485
parent 08dac677
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static org.mockito.Mockito.mock;

import android.content.Context;
import android.os.HandlerThread;
import android.os.TimestampedValue;

import androidx.test.runner.AndroidJUnit4;

@@ -55,14 +56,25 @@ public class TimeDetectorInternalImplTest {
                mMockContext, mTestHandler, mFakeTimeDetectorStrategy);
    }

    @Test
    public void placeholder() {
      // A placeholder test until there are real methods to test.
    }

    @After
    public void tearDown() throws Exception {
        mHandlerThread.quit();
        mHandlerThread.join();
    }

    @Test
    public void testSuggestNetworkTime() throws Exception {
        NetworkTimeSuggestion networkTimeSuggestion = createNetworkTimeSuggestion();

        mTimeDetectorInternal.suggestNetworkTime(networkTimeSuggestion);
        mTestHandler.assertTotalMessagesEnqueued(1);

        mTestHandler.waitForMessagesToBeProcessed();
        mFakeTimeDetectorStrategy.verifySuggestNetworkTimeCalled(networkTimeSuggestion);
    }

    private static NetworkTimeSuggestion createNetworkTimeSuggestion() {
        TimestampedValue<Long> timeValue = new TimestampedValue<>(100L, 1_000_000L);
        return new NetworkTimeSuggestion(timeValue, 123);
    }
}
+5 −5
Original line number Diff line number Diff line
@@ -318,10 +318,10 @@ public class TimeDetectorServiceTest {
    public void testSuggestNetworkTime_withoutPermission() {
        doThrow(new SecurityException("Mock"))
                .when(mMockContext).enforceCallingOrSelfPermission(anyString(), any());
        NetworkTimeSuggestion NetworkTimeSuggestion = createNetworkTimeSuggestion();
        NetworkTimeSuggestion networkTimeSuggestion = createNetworkTimeSuggestion();

        try {
            mTimeDetectorService.suggestNetworkTime(NetworkTimeSuggestion);
            mTimeDetectorService.suggestNetworkTime(networkTimeSuggestion);
            fail();
        } finally {
            verify(mMockContext).enforceCallingOrSelfPermission(
@@ -333,15 +333,15 @@ public class TimeDetectorServiceTest {
    public void testSuggestNetworkTime() throws Exception {
        doNothing().when(mMockContext).enforceCallingOrSelfPermission(anyString(), any());

        NetworkTimeSuggestion NetworkTimeSuggestion = createNetworkTimeSuggestion();
        mTimeDetectorService.suggestNetworkTime(NetworkTimeSuggestion);
        NetworkTimeSuggestion networkTimeSuggestion = createNetworkTimeSuggestion();
        mTimeDetectorService.suggestNetworkTime(networkTimeSuggestion);
        mTestHandler.assertTotalMessagesEnqueued(1);

        verify(mMockContext).enforceCallingOrSelfPermission(
                eq(android.Manifest.permission.SET_TIME), anyString());

        mTestHandler.waitForMessagesToBeProcessed();
        mFakeTimeDetectorStrategy.verifySuggestNetworkTimeCalled(NetworkTimeSuggestion);
        mFakeTimeDetectorStrategy.verifySuggestNetworkTimeCalled(networkTimeSuggestion);
    }

    @Test(expected = SecurityException.class)