1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.eluder.coveralls.maven.plugin.util;
25
26 import org.eluder.coveralls.maven.plugin.ProcessingException;
27 import org.junit.jupiter.api.Test;
28
29 import java.text.SimpleDateFormat;
30 import java.util.Date;
31
32 import static org.junit.jupiter.api.Assertions.assertEquals;
33 import static org.junit.jupiter.api.Assertions.assertNull;
34 import static org.junit.jupiter.api.Assertions.assertThrows;
35
36 class TimestampParserTest {
37
38 @Test
39 void testInvalidFormat() {
40 assertThrows(IllegalArgumentException.class, () -> {
41 new TimestampParser("scsscdfsd");
42 });
43 }
44
45 @Test
46 void testParseEpochMillis() throws Exception {
47 String format = TimestampParser.EPOCH_MILLIS;
48 long time = System.currentTimeMillis();
49 Date parsed = new TimestampParser(format).parse(String.valueOf(time));
50
51 assertEquals(time, parsed.getTime());
52 }
53
54 @Test
55 void testParseSimpleFormat() throws Exception {
56 String format = "yyyy-MM-dd";
57 Date parsed = new TimestampParser(format).parse("2015-08-20");
58 String formatted = new SimpleDateFormat(format).format(parsed);
59
60 assertEquals("2015-08-20", formatted);
61 }
62
63 @Test
64 void testParseDefaultFormat() throws Exception {
65 String format = TimestampParser.DEFAULT_FORMAT;
66 Date parsed = new TimestampParser(null).parse("2015-08-20T20:10:00Z");
67 String formatted = new SimpleDateFormat(format).format(parsed);
68
69 assertEquals("2015-08-20T20:10:00Z", formatted);
70 }
71
72 @Test
73 void testParseNull() throws Exception {
74 Date parsed = new TimestampParser(null).parse(null);
75
76 assertNull(parsed);
77 }
78
79 @Test
80 void testParseInvalidTimestamp() throws Exception {
81 assertThrows(ProcessingException.class, () -> {
82 new TimestampParser(null).parse("2015-08-20");
83 });
84 }
85 }