30
30
import com .firebase .ui .auth .util .ExtraConstants ;
31
31
import com .firebase .ui .auth .util .data .ProviderUtils ;
32
32
import com .google .android .gms .auth .api .credentials .Credential ;
33
- import com .google .android .gms .tasks .Tasks ;
34
33
import com .google .firebase .FirebaseApp ;
35
34
import com .google .firebase .FirebaseOptions ;
36
35
import com .google .firebase .auth .EmailAuthProvider ;
37
36
import com .google .firebase .auth .FacebookAuthProvider ;
38
- import com .google .firebase .auth .FirebaseAuth ;
39
37
import com .google .firebase .auth .FirebaseUser ;
40
38
import com .google .firebase .auth .GoogleAuthProvider ;
41
39
import com .google .firebase .auth .PhoneAuthProvider ;
46
44
import org .robolectric .Shadows ;
47
45
import org .robolectric .shadows .ShadowActivity ;
48
46
49
- import java .lang .reflect .Field ;
50
- import java .lang .reflect .ParameterizedType ;
51
- import java .lang .reflect .Type ;
52
47
import java .util .ArrayList ;
53
48
import java .util .Collection ;
54
49
import java .util .List ;
55
- import java .util .Map ;
56
50
57
51
import static junit .framework .Assert .assertEquals ;
58
- import static org .mockito .ArgumentMatchers .anyString ;
59
52
import static org .mockito .Mockito .mock ;
60
53
import static org .mockito .Mockito .spy ;
61
54
import static org .mockito .Mockito .when ;
@@ -67,8 +60,7 @@ public class TestHelper {
67
60
public static void initialize () {
68
61
spyContextAndResources ();
69
62
AuthUI .setApplicationContext (RuntimeEnvironment .application );
70
- FirebaseApp app = initializeApp (RuntimeEnvironment .application );
71
- injectMockFirebaseAuth (app );
63
+ initializeApp (RuntimeEnvironment .application );
72
64
initializeProviders ();
73
65
}
74
66
@@ -94,48 +86,6 @@ private static FirebaseApp initializeApp(Context context) {
94
86
}
95
87
}
96
88
97
- /**
98
- * This method finds the map of FirebaseAuth instances and injects of a mock instance associated
99
- * with the given FirebaseApp for testing purposes.
100
- */
101
- private static void injectMockFirebaseAuth (FirebaseApp app ) {
102
- for (Field field : FirebaseAuth .class .getDeclaredFields ()) {
103
- field .setAccessible (true );
104
-
105
- Object o ;
106
- try {
107
- o = field .get (null );
108
- } catch (IllegalAccessException e ) {
109
- throw new IllegalStateException (e );
110
- } catch (NullPointerException e ) {
111
- continue ;
112
- }
113
-
114
- Type genericType = field .getGenericType ();
115
- if (o instanceof Map && genericType instanceof ParameterizedType ) {
116
- Type [] parameterTypes = ((ParameterizedType ) genericType ).getActualTypeArguments ();
117
- if (parameterTypes .length != 2 || parameterTypes [0 ] != String .class
118
- || parameterTypes [1 ] != FirebaseAuth .class ) {
119
- continue ;
120
- }
121
-
122
- //noinspection unchecked
123
- Map <String , FirebaseAuth > instances = (Map <String , FirebaseAuth >) o ;
124
-
125
- FirebaseAuth .getInstance (app );
126
- for (String id : instances .keySet ()) {
127
- instances .put (id , mock (FirebaseAuth .class ));
128
- }
129
-
130
- break ;
131
- }
132
- }
133
-
134
- FirebaseAuth mockAuth = FirebaseAuth .getInstance (app );
135
- when (mockAuth .setFirebaseUIVersion (anyString ()))
136
- .thenReturn (Tasks .<Void >forResult (null ));
137
- }
138
-
139
89
private static void initializeProviders () {
140
90
Context context = RuntimeEnvironment .application ;
141
91
when (context .getString (R .string .default_web_client_id )).thenReturn ("abc" );
0 commit comments