88
99import java .time .OffsetDateTime ;
1010import java .time .ZoneOffset ;
11+ import java .time .temporal .ChronoUnit ;
1112
1213public class MSITokenTests {
1314 private OffsetDateTime expected = OffsetDateTime .of (2020 , 1 , 10 , 15 , 3 , 28 , 0 , ZoneOffset .UTC );
1415
1516 @ Test
1617 public void canParseLong () {
1718 MSIToken token = new MSIToken ("fake_token" , "1578668608" , null );
18- MSIToken token2 = new MSIToken ("fake_token" , null , "1578668608 " );
19- MSIToken token3 = new MSIToken ("fake_token" , "1578668608" , "1778668987 " );
19+ MSIToken token2 = new MSIToken ("fake_token" , null , "3599 " );
20+ MSIToken token3 = new MSIToken ("fake_token" , "1578668608" , "3599 " );
2021
2122 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
22- Assert .assertEquals ( expected . toEpochSecond (), token2 . getExpiresAt ().toEpochSecond ());
23+ Assert .assertTrue (( token2 . getExpiresAt (). toEpochSecond () - OffsetDateTime . now ().toEpochSecond ()) > 3500 );
2324 Assert .assertEquals (expected .toEpochSecond (), token3 .getExpiresAt ().toEpochSecond ());
2425 }
2526
@@ -28,40 +29,50 @@ public void canParseDateTime24Hr() {
2829 MSIToken token = new MSIToken ("fake_token" , "01/10/2020 15:03:28 +00:00" , null );
2930 MSIToken token2 = new MSIToken ("fake_token" , null , "01/10/2020 15:03:28 +00:00" );
3031 MSIToken token3 = new MSIToken ("fake_token" , "01/10/2020 15:03:28 +00:00" ,
31- "01/12/2020 15:03:28 +00:00" );
32+ "86500" );
33+ MSIToken token4 = new MSIToken ("fake_token" , null , "43219" );
3234
3335 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
3436 Assert .assertEquals (expected .toEpochSecond (), token2 .getExpiresAt ().toEpochSecond ());
3537 Assert .assertEquals (expected .toEpochSecond (), token3 .getExpiresAt ().toEpochSecond ());
38+ Assert .assertTrue (ChronoUnit .HOURS .between (OffsetDateTime .now (), token4 .getExpiresAt ()) == 12L );
3639 }
3740
3841 @ Test
3942 public void canParseDateTime12Hr () {
4043 MSIToken token = new MSIToken ("fake_token" , "1/10/2020 3:03:28 PM +00:00" , null );
4144 MSIToken token2 = new MSIToken ("fake_token" , null , "1/10/2020 3:03:28 PM +00:00" );
4245 MSIToken token3 = new MSIToken ("fake_token" , "1/10/2020 3:03:28 PM +00:00" ,
43- "1/12/2020 4:03:28 PM +00:00" );
46+ "86500" );
47+ MSIToken token4 = new MSIToken ("fake_token" , null , "86500" );
4448
4549 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
4650 Assert .assertEquals (expected .toEpochSecond (), token2 .getExpiresAt ().toEpochSecond ());
4751 Assert .assertEquals (expected .toEpochSecond (), token3 .getExpiresAt ().toEpochSecond ());
52+ Assert .assertTrue (ChronoUnit .HOURS .between (OffsetDateTime .now (), token4 .getExpiresAt ()) == 24L );
4853
4954 token = new MSIToken ("fake_token" , "12/20/2019 4:58:20 AM +00:00" , null );
5055 token2 = new MSIToken ("fake_token" , null , "12/20/2019 4:58:20 AM +00:00" );
5156 token3 = new MSIToken ("fake_token" , "12/20/2019 4:58:20 AM +00:00" ,
52- "11/15/2021 4:58:20 AM +00:00" );
57+ "105500" );
58+ token4 = new MSIToken ("fake_token" , null , "105500" );
5359 expected = OffsetDateTime .of (2019 , 12 , 20 , 4 , 58 , 20 , 0 , ZoneOffset .UTC );
60+
5461 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
5562 Assert .assertEquals (expected .toEpochSecond (), token2 .getExpiresAt ().toEpochSecond ());
5663 Assert .assertEquals (expected .toEpochSecond (), token3 .getExpiresAt ().toEpochSecond ());
64+ Assert .assertTrue (ChronoUnit .HOURS .between (OffsetDateTime .now (), token4 .getExpiresAt ()) == 29L );
5765
5866 token = new MSIToken ("fake_token" , "1/1/2020 0:00:00 PM +00:00" , null );
5967 token2 = new MSIToken ("fake_token" , null , "1/1/2020 0:00:00 PM +00:00" );
6068 token3 = new MSIToken ("fake_token" , "1/1/2020 0:00:00 PM +00:00" ,
61- "1/1/2025 0:00:00 PM +00:00" );
69+ "220800" );
70+ token4 = new MSIToken ("fake_token" , null , "220800" );
71+
6272 expected = OffsetDateTime .of (2020 , 1 , 1 , 12 , 0 , 0 , 0 , ZoneOffset .UTC );
6373 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
6474 Assert .assertEquals (expected .toEpochSecond (), token2 .getExpiresAt ().toEpochSecond ());
6575 Assert .assertEquals (expected .toEpochSecond (), token3 .getExpiresAt ().toEpochSecond ());
76+ Assert .assertTrue (ChronoUnit .HOURS .between (OffsetDateTime .now (), token4 .getExpiresAt ()) == 61L );
6677 }
6778}
0 commit comments