17
17
package functions ;
18
18
19
19
import static com .google .common .truth .Truth .assertThat ;
20
+ import static org .mockito .Mockito .mock ;
21
+ import static org .mockito .Mockito .when ;
20
22
23
+ import com .google .cloud .functions .Context ;
21
24
import com .google .common .testing .TestLogHandler ;
22
25
import com .google .gson .Gson ;
23
26
import functions .eventpojos .PubSubMessage ;
24
27
import java .time .Instant ;
25
28
import java .time .ZoneOffset ;
26
29
import java .time .ZonedDateTime ;
27
- import java .util .Map ;
28
30
import java .util .logging .Logger ;
29
31
import org .junit .After ;
30
32
import org .junit .Before ;
31
33
import org .junit .BeforeClass ;
32
34
import org .junit .Test ;
33
35
import org .junit .runner .RunWith ;
34
36
import org .junit .runners .JUnit4 ;
35
- import org .mockito .MockitoAnnotations ;
36
37
37
38
@ RunWith (JUnit4 .class )
38
39
public class RetryTimeoutTest {
@@ -52,8 +53,6 @@ public static void beforeClass() {
52
53
53
54
@ Before
54
55
public void beforeTest () {
55
- MockitoAnnotations .initMocks (this );
56
-
57
56
LOG_HANDLER .clear ();
58
57
}
59
58
@@ -65,41 +64,29 @@ public void afterTest() {
65
64
66
65
@ Test
67
66
public void retryTimeout_handlesRetryMsg () {
68
- String timestampData = gson .toJson (Map .of (
69
- "timestamp" , ZonedDateTime .now (ZoneOffset .UTC ).toString ()));
67
+ ZonedDateTime timestamp = ZonedDateTime .now (ZoneOffset .UTC );
68
+ Context mockContext = mock (Context .class );
69
+ when (mockContext .timestamp ()).thenReturn (timestamp .toString ());
70
70
71
71
PubSubMessage pubsubMessage = new PubSubMessage ();
72
- pubsubMessage .setData (timestampData );
73
72
74
- new RetryTimeout ().accept (pubsubMessage , null );
73
+ new RetryTimeout ().accept (pubsubMessage , mockContext );
75
74
76
75
String logMessage = LOG_HANDLER .getStoredLogRecords ().get (0 ).getMessage ();
77
- assertThat (String . format ("Processing event %s." , timestampData )). isEqualTo ( logMessage );
76
+ assertThat (logMessage ). contains ("Processing event with timestamp " + timestamp );
78
77
}
79
78
80
79
@ Test
81
80
public void retryTimeout_handlesStopMsg () {
82
- String timestamp = ZonedDateTime .ofInstant (Instant .ofEpochMilli (0 ), ZoneOffset .UTC ).toString ();
83
- String timestampData = gson .toJson (Map .of ("timestamp" , timestamp ));
84
-
85
-
86
- PubSubMessage pubsubMessage = new PubSubMessage ();
87
- pubsubMessage .setData (timestampData );
88
-
89
- new RetryTimeout ().accept (pubsubMessage , null );
81
+ ZonedDateTime timestamp = ZonedDateTime .ofInstant (Instant .ofEpochMilli (0 ), ZoneOffset .UTC );
82
+ Context mockContext = mock (Context .class );
83
+ when (mockContext .timestamp ()).thenReturn (timestamp .toString ());
90
84
91
- String logMessage = LOG_HANDLER .getStoredLogRecords ().get (0 ).getMessage ();
92
- assertThat (String .format ("Dropping event %s." , timestampData )).isEqualTo (logMessage );
93
- }
94
-
95
- @ Test
96
- public void retryTimeout_handlesEmptyMsg () {
97
85
PubSubMessage pubsubMessage = new PubSubMessage ();
98
- pubsubMessage .setData ("" );
99
86
100
- new RetryTimeout ().accept (new PubSubMessage (), null );
87
+ new RetryTimeout ().accept (pubsubMessage , mockContext );
101
88
102
89
String logMessage = LOG_HANDLER .getStoredLogRecords ().get (0 ).getMessage ();
103
- assertThat ("Processing event null." ). isEqualTo ( logMessage );
90
+ assertThat (logMessage ). contains ( "Dropping event with timestamp " + timestamp );
104
91
}
105
92
}
0 commit comments