1 package com.android.systemui.log.core 2 3 import androidx.test.ext.junit.runners.AndroidJUnit4 4 import androidx.test.filters.SmallTest 5 import com.android.systemui.SysuiTestCase 6 import com.android.systemui.log.LogMessageImpl 7 import com.android.systemui.util.mockito.any 8 import com.android.systemui.util.mockito.eq 9 import com.android.systemui.util.mockito.nullable 10 import com.android.systemui.util.mockito.whenever 11 import com.google.common.truth.Truth.assertThat 12 import org.junit.Before 13 import org.junit.Test 14 import org.junit.runner.RunWith 15 import org.mockito.Mock 16 import org.mockito.Mockito.anyString 17 import org.mockito.Mockito.isNull 18 import org.mockito.Mockito.verify 19 import org.mockito.MockitoAnnotations 20 21 @SmallTest 22 @RunWith(AndroidJUnit4::class) 23 class LoggerTest : SysuiTestCase() { 24 @Mock private lateinit var buffer: MessageBuffer 25 private lateinit var message: LogMessage 26 27 @Before setupnull28 fun setup() { 29 MockitoAnnotations.initMocks(this) 30 whenever(buffer.obtain(any(), any(), any(), isNull())).thenAnswer { 31 message = LogMessageImpl.Factory.create() 32 return@thenAnswer message 33 } 34 } 35 36 @Test log_shouldCommitLogMessagenull37 fun log_shouldCommitLogMessage() { 38 val logger = Logger(buffer, "LoggerTest") 39 logger.log(LogLevel.DEBUG, { "count=$int1" }) { 40 int1 = 1 41 str1 = "test" 42 bool1 = true 43 } 44 45 assertThat(message.int1).isEqualTo(1) 46 assertThat(message.str1).isEqualTo("test") 47 assertThat(message.bool1).isEqualTo(true) 48 } 49 50 @Test log_shouldUseCorrectLoggerTagnull51 fun log_shouldUseCorrectLoggerTag() { 52 val logger = Logger(buffer, "LoggerTest") 53 logger.log(LogLevel.DEBUG, { "count=$int1" }) { int1 = 1 } 54 verify(buffer).obtain(eq("LoggerTest"), any(), any(), nullable()) 55 } 56 57 @Test v_withMessageInitializer_shouldLogAtCorrectLevelnull58 fun v_withMessageInitializer_shouldLogAtCorrectLevel() { 59 val logger = Logger(buffer, "LoggerTest") 60 logger.v({ "count=$int1" }) { int1 = 1 } 61 verify(buffer).obtain(anyString(), eq(LogLevel.VERBOSE), any(), nullable()) 62 } 63 64 @Test v_withCompileTimeMessage_shouldLogAtCorrectLevelnull65 fun v_withCompileTimeMessage_shouldLogAtCorrectLevel() { 66 val logger = Logger(buffer, "LoggerTest") 67 logger.v("Message") 68 verify(buffer).obtain(anyString(), eq(LogLevel.VERBOSE), any(), nullable()) 69 } 70 71 @Test d_withMessageInitializer_shouldLogAtCorrectLevelnull72 fun d_withMessageInitializer_shouldLogAtCorrectLevel() { 73 val logger = Logger(buffer, "LoggerTest") 74 logger.d({ "count=$int1" }) { int1 = 1 } 75 verify(buffer).obtain(anyString(), eq(LogLevel.DEBUG), any(), nullable()) 76 } 77 78 @Test d_withCompileTimeMessage_shouldLogAtCorrectLevelnull79 fun d_withCompileTimeMessage_shouldLogAtCorrectLevel() { 80 val logger = Logger(buffer, "LoggerTest") 81 logger.d("Message") 82 verify(buffer).obtain(anyString(), eq(LogLevel.DEBUG), any(), nullable()) 83 } 84 85 @Test i_withMessageInitializer_shouldLogAtCorrectLevelnull86 fun i_withMessageInitializer_shouldLogAtCorrectLevel() { 87 val logger = Logger(buffer, "LoggerTest") 88 logger.i({ "count=$int1" }) { int1 = 1 } 89 verify(buffer).obtain(anyString(), eq(LogLevel.INFO), any(), nullable()) 90 } 91 92 @Test i_withCompileTimeMessage_shouldLogAtCorrectLevelnull93 fun i_withCompileTimeMessage_shouldLogAtCorrectLevel() { 94 val logger = Logger(buffer, "LoggerTest") 95 logger.i("Message") 96 verify(buffer).obtain(anyString(), eq(LogLevel.INFO), any(), nullable()) 97 } 98 99 @Test w_withMessageInitializer_shouldLogAtCorrectLevelnull100 fun w_withMessageInitializer_shouldLogAtCorrectLevel() { 101 val logger = Logger(buffer, "LoggerTest") 102 logger.w({ "count=$int1" }) { int1 = 1 } 103 verify(buffer).obtain(anyString(), eq(LogLevel.WARNING), any(), nullable()) 104 } 105 106 @Test w_withCompileTimeMessage_shouldLogAtCorrectLevelnull107 fun w_withCompileTimeMessage_shouldLogAtCorrectLevel() { 108 val logger = Logger(buffer, "LoggerTest") 109 logger.w("Message") 110 verify(buffer).obtain(anyString(), eq(LogLevel.WARNING), any(), nullable()) 111 } 112 113 @Test e_withMessageInitializer_shouldLogAtCorrectLevelnull114 fun e_withMessageInitializer_shouldLogAtCorrectLevel() { 115 val logger = Logger(buffer, "LoggerTest") 116 logger.e({ "count=$int1" }) { int1 = 1 } 117 verify(buffer).obtain(anyString(), eq(LogLevel.ERROR), any(), nullable()) 118 } 119 120 @Test e_withCompileTimeMessage_shouldLogAtCorrectLevelnull121 fun e_withCompileTimeMessage_shouldLogAtCorrectLevel() { 122 val logger = Logger(buffer, "LoggerTest") 123 logger.e("Message") 124 verify(buffer).obtain(anyString(), eq(LogLevel.ERROR), any(), nullable()) 125 } 126 127 @Test wtf_withMessageInitializer_shouldLogAtCorrectLevelnull128 fun wtf_withMessageInitializer_shouldLogAtCorrectLevel() { 129 val logger = Logger(buffer, "LoggerTest") 130 logger.wtf({ "count=$int1" }) { int1 = 1 } 131 verify(buffer).obtain(anyString(), eq(LogLevel.WTF), any(), nullable()) 132 } 133 134 @Test wtf_withCompileTimeMessage_shouldLogAtCorrectLevelnull135 fun wtf_withCompileTimeMessage_shouldLogAtCorrectLevel() { 136 val logger = Logger(buffer, "LoggerTest") 137 logger.wtf("Message") 138 verify(buffer).obtain(anyString(), eq(LogLevel.WTF), any(), nullable()) 139 } 140 } 141