88import com .azure .core .util .serializer .SerializerEncoding ;
99import org .junit .Assert ;
1010import org .junit .Test ;
11- import org .mockito .MockedStatic ;
1211
1312import java .io .IOException ;
14- import java .time .Clock ;
15- import java .time .Duration ;
1613import java .time .OffsetDateTime ;
17- import java .time .ZoneId ;
1814import java .time .ZoneOffset ;
1915import java .time .temporal .ChronoUnit ;
2016
21- import static org .mockito .ArgumentMatchers .any ;
22- import static org .mockito .Mockito .CALLS_REAL_METHODS ;
23- import static org .mockito .Mockito .mockStatic ;
24-
2517public class MSITokenTests {
2618 private OffsetDateTime expected = OffsetDateTime .of (2020 , 1 , 10 , 15 , 3 , 28 , 0 , ZoneOffset .UTC );
2719
2820 private static final SerializerAdapter SERIALIZER = JacksonAdapter .createDefaultSerializerAdapter ();
2921
3022 @ Test
3123 public void canParseLong () {
32- MSIToken token = new MSIToken ("fake_token" , "1578668608" , null , null );
33- MSIToken token2 = new MSIToken ("fake_token" , null , "3599" , null );
34- MSIToken token3 = new MSIToken ("fake_token" , "1578668608" , "3599" , null );
24+ MSIToken token = new MSIToken ("fake_token" , "1578668608" , null );
25+ MSIToken token2 = new MSIToken ("fake_token" , null , "3599" );
26+ MSIToken token3 = new MSIToken ("fake_token" , "1578668608" , "3599" );
3527
3628 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
3729 Assert .assertTrue ((token2 .getExpiresAt ().toEpochSecond () - OffsetDateTime .now ().toEpochSecond ()) > 3500 );
3830 Assert .assertEquals (expected .toEpochSecond (), token3 .getExpiresAt ().toEpochSecond ());
3931 }
4032
41- @ Test
42- public void canParseRefreshes () {
43- try (MockedStatic <OffsetDateTime > offsetDateTimeMockedStatic = mockStatic (OffsetDateTime .class , CALLS_REAL_METHODS )) {
44-
45- offsetDateTimeMockedStatic .when (() -> OffsetDateTime .now ((ZoneId ) any ())).thenReturn (expected );
46- offsetDateTimeMockedStatic .when (() -> OffsetDateTime .now ((Clock ) any ())).thenReturn (expected );
47- offsetDateTimeMockedStatic .when (OffsetDateTime ::now ).thenReturn (expected );
48-
49- OffsetDateTime now = OffsetDateTime .now ();
50- OffsetDateTime expiration = now .plusHours (12 );
51- OffsetDateTime expirationMinusOneHour = expiration .minusHours (1 );
52- Duration expirationMinusOneHourSeconds = Duration .between (expirationMinusOneHour , expected );
53- OffsetDateTime expirationMinusElevenHours = expiration .minusHours (11 );
54- Duration expirationMinusElevenHoursSeconds = Duration .between (expirationMinusElevenHours , expected );
55-
56- MSIToken expirationMinusOneHourToken = new MSIToken ("fake_token" ,
57- String .valueOf (expirationMinusOneHour .toEpochSecond ()),
58- String .valueOf (expirationMinusOneHourSeconds .getSeconds ()), null );
59-
60- MSIToken expirationMinus11HoursToken = new MSIToken ("fake_token" ,
61- String .valueOf (expirationMinusElevenHours .toEpochSecond ()),
62- String .valueOf (expirationMinusElevenHoursSeconds .getSeconds ()), null );
63-
64- MSIToken hasRefresh = new MSIToken ("fake_token" ,
65- String .valueOf (expirationMinusElevenHours .toEpochSecond ()),
66- String .valueOf (expirationMinusElevenHoursSeconds .getSeconds ()),
67- String .valueOf (240 ));
68-
69- Assert .assertEquals (now .plusSeconds (240 ).toEpochSecond (), hasRefresh .getRefreshAtEpochSeconds ());
70- Assert .assertEquals (now .plusHours (1 ).toEpochSecond (), expirationMinus11HoursToken .getRefreshAtEpochSeconds ());
71- long expected = Duration .between (now , expirationMinusOneHour ).getSeconds () / 2 ;
72- Assert .assertEquals (now .plusSeconds (expected ).toEpochSecond (), expirationMinusOneHourToken .getRefreshAtEpochSeconds ());
73-
74- }
75-
76- }
77-
78- @ Test
79- public void canDeserializeWithRefreshIn () {
80- String json = "{\n "
81- + " \" access_token\" : \" fake_token\" ,\n "
82- + " \" refresh_token\" : \" \" ,\n "
83- + " \" expires_in\" : \" 3599\" ,\n "
84- + " \" expires_on\" : \" 1506484173\" ,\n "
85- + " \" refresh_in\" : \" 3600\" ,\n "
86- + " \" not_before\" : \" 1506480273\" ,\n "
87- + " \" resource\" : \" https://managementazurecom/\" ,\n "
88- + " \" token_type\" : \" Bearer\" \n "
89- + "}" ;
90-
91- try (MockedStatic <OffsetDateTime > offsetDateTimeMockedStatic = mockStatic (OffsetDateTime .class , CALLS_REAL_METHODS )) {
92-
93- offsetDateTimeMockedStatic .when (() -> OffsetDateTime .now ((ZoneId ) any ())).thenReturn (expected );
94- offsetDateTimeMockedStatic .when (() -> OffsetDateTime .now ((Clock ) any ())).thenReturn (expected );
95- offsetDateTimeMockedStatic .when (OffsetDateTime ::now ).thenReturn (expected );
96- {
97- MSIToken token ;
98- try {
99- token = SERIALIZER .deserialize (json , MSIToken .class , SerializerEncoding .JSON );
100- } catch (IOException e ) {
101- throw new RuntimeException (e );
102- }
103-
104- Assert .assertEquals (1506484173 , token .getExpiresAt ().toEpochSecond ());
105- Assert .assertEquals (OffsetDateTime .now (ZoneOffset .UTC ).plusSeconds (3600 ).toEpochSecond (), token .getRefreshAtEpochSeconds ());
106- }
107- }
108- }
109-
11033 @ Test
11134 public void canDeserialize () {
11235 String json = "{\n "
@@ -130,11 +53,11 @@ public void canDeserialize() {
13053
13154 @ Test
13255 public void canParseDateTime24Hr () {
133- MSIToken token = new MSIToken ("fake_token" , "01/10/2020 15:03:28 +00:00" , null , null );
134- MSIToken token2 = new MSIToken ("fake_token" , null , "01/10/2020 15:03:28 +00:00" , null );
56+ MSIToken token = new MSIToken ("fake_token" , "01/10/2020 15:03:28 +00:00" , null );
57+ MSIToken token2 = new MSIToken ("fake_token" , null , "01/10/2020 15:03:28 +00:00" );
13558 MSIToken token3 = new MSIToken ("fake_token" , "01/10/2020 15:03:28 +00:00" ,
136- "86500" , null );
137- MSIToken token4 = new MSIToken ("fake_token" , null , "43219" , null );
59+ "86500" );
60+ MSIToken token4 = new MSIToken ("fake_token" , null , "43219" );
13861
13962 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
14063 Assert .assertEquals (expected .toEpochSecond (), token2 .getExpiresAt ().toEpochSecond ());
@@ -144,34 +67,34 @@ public void canParseDateTime24Hr() {
14467
14568 @ Test
14669 public void canParseDateTime12Hr () {
147- MSIToken token = new MSIToken ("fake_token" , "1/10/2020 3:03:28 PM +00:00" , null , null );
148- MSIToken token2 = new MSIToken ("fake_token" , null , "1/10/2020 3:03:28 PM +00:00" , null );
70+ MSIToken token = new MSIToken ("fake_token" , "1/10/2020 3:03:28 PM +00:00" , null );
71+ MSIToken token2 = new MSIToken ("fake_token" , null , "1/10/2020 3:03:28 PM +00:00" );
14972 MSIToken token3 = new MSIToken ("fake_token" , "1/10/2020 3:03:28 PM +00:00" ,
150- "86500" , null );
151- MSIToken token4 = new MSIToken ("fake_token" , null , "86500" , null );
73+ "86500" );
74+ MSIToken token4 = new MSIToken ("fake_token" , null , "86500" );
15275
15376 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
15477 Assert .assertEquals (expected .toEpochSecond (), token2 .getExpiresAt ().toEpochSecond ());
15578 Assert .assertEquals (expected .toEpochSecond (), token3 .getExpiresAt ().toEpochSecond ());
15679 Assert .assertTrue (ChronoUnit .HOURS .between (OffsetDateTime .now (), token4 .getExpiresAt ()) == 24L );
15780
158- token = new MSIToken ("fake_token" , "12/20/2019 4:58:20 AM +00:00" , null , null );
159- token2 = new MSIToken ("fake_token" , null , "12/20/2019 4:58:20 AM +00:00" , null );
81+ token = new MSIToken ("fake_token" , "12/20/2019 4:58:20 AM +00:00" , null );
82+ token2 = new MSIToken ("fake_token" , null , "12/20/2019 4:58:20 AM +00:00" );
16083 token3 = new MSIToken ("fake_token" , "12/20/2019 4:58:20 AM +00:00" ,
161- "105500" , null );
162- token4 = new MSIToken ("fake_token" , null , "105500" , null );
84+ "105500" );
85+ token4 = new MSIToken ("fake_token" , null , "105500" );
16386 expected = OffsetDateTime .of (2019 , 12 , 20 , 4 , 58 , 20 , 0 , ZoneOffset .UTC );
16487
16588 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
16689 Assert .assertEquals (expected .toEpochSecond (), token2 .getExpiresAt ().toEpochSecond ());
16790 Assert .assertEquals (expected .toEpochSecond (), token3 .getExpiresAt ().toEpochSecond ());
16891 Assert .assertTrue (ChronoUnit .HOURS .between (OffsetDateTime .now (), token4 .getExpiresAt ()) == 29L );
16992
170- token = new MSIToken ("fake_token" , "1/1/2020 0:00:00 PM +00:00" , null , null );
171- token2 = new MSIToken ("fake_token" , null , "1/1/2020 0:00:00 PM +00:00" , null );
93+ token = new MSIToken ("fake_token" , "1/1/2020 0:00:00 PM +00:00" , null );
94+ token2 = new MSIToken ("fake_token" , null , "1/1/2020 0:00:00 PM +00:00" );
17295 token3 = new MSIToken ("fake_token" , "1/1/2020 0:00:00 PM +00:00" ,
173- "220800" , null );
174- token4 = new MSIToken ("fake_token" , null , "220800" , null );
96+ "220800" );
97+ token4 = new MSIToken ("fake_token" , null , "220800" );
17598
17699 expected = OffsetDateTime .of (2020 , 1 , 1 , 12 , 0 , 0 , 0 , ZoneOffset .UTC );
177100 Assert .assertEquals (expected .toEpochSecond (), token .getExpiresAt ().toEpochSecond ());
0 commit comments