xref: /aosp_15_r20/frameworks/base/packages/SystemUI/multivalentTests/src/com/android/systemui/log/core/LoggerTest.kt (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
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