3131
3232package com .google .auth .oauth2 ;
3333
34+ import static org .junit .Assert .assertArrayEquals ;
3435import static org .junit .Assert .assertEquals ;
3536import static org .junit .Assert .assertFalse ;
3637import static org .junit .Assert .assertTrue ;
3738
3839import java .io .IOException ;
40+ import java .util .Arrays ;
3941import java .util .Date ;
4042import org .junit .Test ;
4143import org .junit .runner .RunWith ;
@@ -47,59 +49,154 @@ public class AccessTokenTest extends BaseSerializationTest {
4749
4850 private static final String TOKEN = "AccessToken" ;
4951 private static final Date EXPIRATION_DATE = new Date ();
52+ private static final String SCOPES = "scope1 scope2" ;
5053
5154 @ Test
5255 public void constructor () {
5356 AccessToken accessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
5457 assertEquals (TOKEN , accessToken .getTokenValue ());
5558 assertEquals (EXPIRATION_DATE , accessToken .getExpirationTime ());
5659 assertEquals (EXPIRATION_DATE .getTime (), (long ) accessToken .getExpirationTimeMillis ());
60+ assertEquals (null , accessToken .getScopes ());
61+ }
62+
63+ @ Test
64+ public void builder () {
65+ AccessToken accessToken =
66+ AccessToken .newBuilder ()
67+ .setExpirationTime (EXPIRATION_DATE )
68+ .setTokenValue (TOKEN )
69+ .setScopes (SCOPES )
70+ .build ();
71+ assertEquals (TOKEN , accessToken .getTokenValue ());
72+ assertEquals (EXPIRATION_DATE , accessToken .getExpirationTime ());
73+ assertEquals (EXPIRATION_DATE .getTime (), (long ) accessToken .getExpirationTimeMillis ());
74+ assertArrayEquals (SCOPES .split (" " ), accessToken .getScopes ().toArray ());
5775 }
5876
5977 @ Test
6078 public void equals_true () throws IOException {
61- AccessToken accessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
62- AccessToken otherAccessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
79+ AccessToken accessToken =
80+ AccessToken .newBuilder ()
81+ .setExpirationTime (EXPIRATION_DATE )
82+ .setTokenValue (TOKEN )
83+ .setScopes (SCOPES )
84+ .build ();
85+
86+ AccessToken otherAccessToken =
87+ AccessToken .newBuilder ()
88+ .setExpirationTime (EXPIRATION_DATE )
89+ .setTokenValue (TOKEN )
90+ .setScopes (SCOPES )
91+ .build ();
92+
6393 assertTrue (accessToken .equals (otherAccessToken ));
6494 assertTrue (otherAccessToken .equals (accessToken ));
6595 }
6696
97+ @ Test
98+ public void equals_false_scopes () throws IOException {
99+ AccessToken accessToken =
100+ AccessToken .newBuilder ()
101+ .setExpirationTime (EXPIRATION_DATE )
102+ .setTokenValue (TOKEN )
103+ .setScopes (SCOPES )
104+ .build ();
105+
106+ AccessToken otherAccessToken =
107+ AccessToken .newBuilder ()
108+ .setExpirationTime (EXPIRATION_DATE )
109+ .setTokenValue (TOKEN )
110+ .setScopes ("scope1" )
111+ .build ();
112+
113+ assertFalse (accessToken .equals (otherAccessToken ));
114+ assertFalse (otherAccessToken .equals (accessToken ));
115+ }
116+
67117 @ Test
68118 public void equals_false_token () throws IOException {
69- AccessToken accessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
70- AccessToken otherAccessToken = new AccessToken ("otherToken" , EXPIRATION_DATE );
119+ AccessToken accessToken =
120+ AccessToken .newBuilder ()
121+ .setExpirationTime (EXPIRATION_DATE )
122+ .setTokenValue (TOKEN )
123+ .setScopes (SCOPES )
124+ .build ();
125+
126+ AccessToken otherAccessToken =
127+ AccessToken .newBuilder ()
128+ .setExpirationTime (EXPIRATION_DATE )
129+ .setTokenValue ("otherToken" )
130+ .setScopes (SCOPES )
131+ .build ();
132+
71133 assertFalse (accessToken .equals (otherAccessToken ));
72134 assertFalse (otherAccessToken .equals (accessToken ));
73135 }
74136
75137 @ Test
76138 public void equals_false_expirationDate () throws IOException {
77- AccessToken accessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
78- AccessToken otherAccessToken = new AccessToken (TOKEN , new Date (EXPIRATION_DATE .getTime () + 42 ));
139+ AccessToken accessToken =
140+ AccessToken .newBuilder ()
141+ .setExpirationTime (EXPIRATION_DATE )
142+ .setTokenValue (TOKEN )
143+ .setScopes (SCOPES )
144+ .build ();
145+
146+ AccessToken otherAccessToken =
147+ AccessToken .newBuilder ()
148+ .setExpirationTime (new Date (EXPIRATION_DATE .getTime () + 42 ))
149+ .setTokenValue (TOKEN )
150+ .setScopes (SCOPES )
151+ .build ();
152+
79153 assertFalse (accessToken .equals (otherAccessToken ));
80154 assertFalse (otherAccessToken .equals (accessToken ));
81155 }
82156
83157 @ Test
84158 public void toString_containsFields () {
85- AccessToken accessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
159+ AccessToken accessToken =
160+ AccessToken .newBuilder ()
161+ .setExpirationTime (EXPIRATION_DATE )
162+ .setTokenValue (TOKEN )
163+ .setScopes (SCOPES )
164+ .build ();
86165 String expectedToString =
87166 String .format (
88- "AccessToken{tokenValue=%s, expirationTimeMillis=%d}" ,
89- TOKEN , EXPIRATION_DATE .getTime ());
167+ "AccessToken{tokenValue=%s, expirationTimeMillis=%d, scopes=%s }" ,
168+ TOKEN , EXPIRATION_DATE .getTime (), Arrays . asList ( SCOPES . split ( " " )) );
90169 assertEquals (expectedToString , accessToken .toString ());
91170 }
92171
93172 @ Test
94173 public void hashCode_equals () throws IOException {
95- AccessToken accessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
96- AccessToken otherAccessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
174+ AccessToken accessToken =
175+ AccessToken .newBuilder ()
176+ .setExpirationTime (EXPIRATION_DATE )
177+ .setTokenValue (TOKEN )
178+ .setScopes (SCOPES )
179+ .build ();
180+
181+ AccessToken otherAccessToken =
182+ AccessToken .newBuilder ()
183+ .setExpirationTime (EXPIRATION_DATE )
184+ .setTokenValue (TOKEN )
185+ .setScopes (SCOPES )
186+ .build ();
187+
97188 assertEquals (accessToken .hashCode (), otherAccessToken .hashCode ());
98189 }
99190
100191 @ Test
101192 public void serialize () throws IOException , ClassNotFoundException {
102- AccessToken accessToken = new AccessToken (TOKEN , EXPIRATION_DATE );
193+ AccessToken accessToken =
194+ AccessToken .newBuilder ()
195+ .setExpirationTime (EXPIRATION_DATE )
196+ .setTokenValue (TOKEN )
197+ .setScopes (SCOPES )
198+ .build ();
199+
103200 AccessToken deserializedAccessToken = serializeAndDeserialize (accessToken );
104201 assertEquals (accessToken , deserializedAccessToken );
105202 assertEquals (accessToken .hashCode (), deserializedAccessToken .hashCode ());
0 commit comments