20
20
import static com .google .firebase .appcheck .internal .HttpErrorResponse .CODE_KEY ;
21
21
import static com .google .firebase .appcheck .internal .HttpErrorResponse .ERROR_KEY ;
22
22
import static com .google .firebase .appcheck .internal .HttpErrorResponse .MESSAGE_KEY ;
23
+ import static com .google .firebase .appcheck .internal .NetworkClient .X_ANDROID_CERT ;
24
+ import static com .google .firebase .appcheck .internal .NetworkClient .X_ANDROID_PACKAGE ;
23
25
import static com .google .firebase .appcheck .internal .NetworkClient .X_FIREBASE_CLIENT ;
24
26
import static com .google .firebase .appcheck .internal .NetworkClient .X_FIREBASE_CLIENT_LOG_TYPE ;
25
27
import static org .junit .Assert .assertThrows ;
26
28
import static org .mockito .ArgumentMatchers .any ;
29
+ import static org .mockito .ArgumentMatchers .eq ;
27
30
import static org .mockito .Mockito .doReturn ;
28
31
import static org .mockito .Mockito .spy ;
29
32
import static org .mockito .Mockito .verify ;
@@ -116,13 +119,7 @@ public void exchangeSafetyNetToken_successResponse_returnsAppCheckTokenResponse(
116
119
verify (networkClient ).createHttpUrlConnection (expectedUrl );
117
120
verify (outputStream )
118
121
.write (JSON_REQUEST .getBytes (), /* off= */ 0 , JSON_REQUEST .getBytes ().length );
119
-
120
- String userAgent = ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getUserAgent ();
121
- String heartBeatCode =
122
- ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getHeartbeatCode ();
123
- verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT , userAgent );
124
- verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT_LOG_TYPE , heartBeatCode );
125
- assertThat (userAgent ).contains (SDK_NAME );
122
+ verifyRequestHeaders ();
126
123
}
127
124
128
125
@ Test
@@ -146,13 +143,7 @@ public void exchangeSafetyNetToken_errorResponse_throwsException() throws Except
146
143
verify (networkClient ).createHttpUrlConnection (expectedUrl );
147
144
verify (outputStream )
148
145
.write (JSON_REQUEST .getBytes (), /* off= */ 0 , JSON_REQUEST .getBytes ().length );
149
-
150
- String userAgent = ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getUserAgent ();
151
- String heartBeatCode =
152
- ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getHeartbeatCode ();
153
- verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT , userAgent );
154
- verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT_LOG_TYPE , heartBeatCode );
155
- assertThat (userAgent ).contains (SDK_NAME );
146
+ verifyRequestHeaders ();
156
147
}
157
148
158
149
@ Test
@@ -174,13 +165,7 @@ public void exchangeDebugToken_successResponse_returnsAppCheckTokenResponse() th
174
165
verify (networkClient ).createHttpUrlConnection (expectedUrl );
175
166
verify (outputStream )
176
167
.write (JSON_REQUEST .getBytes (), /* off= */ 0 , JSON_REQUEST .getBytes ().length );
177
-
178
- String userAgent = ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getUserAgent ();
179
- String heartBeatCode =
180
- ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getHeartbeatCode ();
181
- verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT , userAgent );
182
- verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT_LOG_TYPE , heartBeatCode );
183
- assertThat (userAgent ).contains (SDK_NAME );
168
+ verifyRequestHeaders ();
184
169
}
185
170
186
171
@ Test
@@ -204,13 +189,7 @@ public void exchangeDebugToken_errorResponse_throwsException() throws Exception
204
189
verify (networkClient ).createHttpUrlConnection (expectedUrl );
205
190
verify (outputStream )
206
191
.write (JSON_REQUEST .getBytes (), /* off= */ 0 , JSON_REQUEST .getBytes ().length );
207
-
208
- String userAgent = ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getUserAgent ();
209
- String heartBeatCode =
210
- ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getHeartbeatCode ();
211
- verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT , userAgent );
212
- verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT_LOG_TYPE , heartBeatCode );
213
- assertThat (userAgent ).contains (SDK_NAME );
192
+ verifyRequestHeaders ();
214
193
}
215
194
216
195
@ Test
@@ -222,6 +201,20 @@ public void exchangeUnknownAttestation_throwsException() {
222
201
JSON_REQUEST .getBytes (), NetworkClient .UNKNOWN ));
223
202
}
224
203
204
+ private void verifyRequestHeaders () {
205
+ String userAgent = ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getUserAgent ();
206
+ String heartBeatCode =
207
+ ((DefaultFirebaseAppCheck ) FirebaseAppCheck .getInstance ()).getHeartbeatCode ();
208
+
209
+ verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT , userAgent );
210
+ verify (mockHttpUrlConnection ).setRequestProperty (X_FIREBASE_CLIENT_LOG_TYPE , heartBeatCode );
211
+ verify (mockHttpUrlConnection )
212
+ .setRequestProperty (
213
+ X_ANDROID_PACKAGE , ApplicationProvider .getApplicationContext ().getPackageName ());
214
+ verify (mockHttpUrlConnection ).setRequestProperty (eq (X_ANDROID_CERT ), any ());
215
+ assertThat (userAgent ).contains (SDK_NAME );
216
+ }
217
+
225
218
private static JSONObject createAttestationResponse () throws Exception {
226
219
JSONObject responseBodyJson = new JSONObject ();
227
220
responseBodyJson .put (ATTESTATION_TOKEN_KEY , ATTESTATION_TOKEN );
0 commit comments