protected long getCurrentTimeMillis() {
        return System.currentTimeMillis();
    }
@Test
    void givenActivityHappened_whenRecordActivity_thenShouldDelegateToOnActivity() {
        // GIVEN
        TransportProtos.SessionInfoProto sessionInfo = TransportProtos.SessionInfoProto.newBuilder()
                .setSessionIdMSB(SESSION_ID.getMostSignificantBits())
                .setSessionIdLSB(SESSION_ID.getLeastSignificantBits())
                .build();
        doCallRealMethod().when(transportServiceMock).recordActivity(sessionInfo);
        when(transportServiceMock.toSessionId(sessionInfo)).thenReturn(SESSION_ID);
        long expectedTime = 123L;
        when(transportServiceMock.getCurrentTimeMillis()).thenReturn(expectedTime);

        // WHEN
        transportServiceMock.recordActivity(sessionInfo);

        // THEN
        verify(transportServiceMock).onActivity(SESSION_ID, sessionInfo, expectedTime);
    }