17
17
package com .google .firebase .remoteconfig ;
18
18
19
19
import static org .junit .Assert .assertEquals ;
20
+ import static org .junit .Assert .assertNotNull ;
20
21
import static org .junit .Assert .assertSame ;
21
22
import static org .junit .Assert .assertTrue ;
22
23
import static org .junit .Assert .fail ;
23
24
24
- import com .google .common .base .Supplier ;
25
- import com .google .common .base .Suppliers ;
26
25
import com .google .firebase .ErrorCode ;
27
26
import com .google .firebase .FirebaseApp ;
28
27
import com .google .firebase .FirebaseOptions ;
33
32
import org .junit .Test ;
34
33
35
34
public class FirebaseRemoteConfigTest {
35
+
36
36
private static final FirebaseOptions TEST_OPTIONS = FirebaseOptions .builder ()
37
37
.setCredentials (new MockGoogleCredentials ("test-token" ))
38
38
.setProjectId ("test-project" )
@@ -77,14 +77,16 @@ public void testDefaultRemoteConfigClient() {
77
77
}
78
78
79
79
@ Test
80
- public void testPostDeleteApp () {
80
+ public void testAppDelete () {
81
81
FirebaseApp app = FirebaseApp .initializeApp (TEST_OPTIONS , "custom-app" );
82
+ FirebaseRemoteConfig remoteConfig = FirebaseRemoteConfig .getInstance (app );
83
+ assertNotNull (remoteConfig );
82
84
83
85
app .delete ();
84
86
85
87
try {
86
88
FirebaseRemoteConfig .getInstance (app );
87
- fail ("No error thrown for deleted app" );
89
+ fail ("No error thrown when getting remote config instance after deleting app" );
88
90
} catch (IllegalStateException expected ) {
89
91
// expected
90
92
}
@@ -96,10 +98,9 @@ public void testRemoteConfigClientWithoutProjectId() {
96
98
.setCredentials (new MockGoogleCredentials ("test-token" ))
97
99
.build ();
98
100
FirebaseApp .initializeApp (options );
99
- FirebaseRemoteConfig remoteConfig = FirebaseRemoteConfig .getInstance ();
100
101
101
102
try {
102
- remoteConfig . getRemoteConfigClient ();
103
+ FirebaseRemoteConfig . getInstance ();
103
104
fail ("No error thrown for missing project ID" );
104
105
} catch (IllegalArgumentException expected ) {
105
106
String message = "Project ID is required to access Remote Config service. Use a service "
@@ -116,7 +117,7 @@ public void testRemoteConfigClientWithoutProjectId() {
116
117
public void testGetTemplate () throws FirebaseRemoteConfigException {
117
118
MockRemoteConfigClient client = MockRemoteConfigClient .fromTemplate (
118
119
new RemoteConfigTemplate ().setETag (TEST_ETAG ));
119
- FirebaseRemoteConfig remoteConfig = getRemoteConfig (Suppliers . ofInstance ( client ) );
120
+ FirebaseRemoteConfig remoteConfig = getRemoteConfig (client );
120
121
121
122
RemoteConfigTemplate template = remoteConfig .getTemplate ();
122
123
@@ -126,7 +127,7 @@ public void testGetTemplate() throws FirebaseRemoteConfigException {
126
127
@ Test
127
128
public void testGetTemplateFailure () {
128
129
MockRemoteConfigClient client = MockRemoteConfigClient .fromException (TEST_EXCEPTION );
129
- FirebaseRemoteConfig remoteConfig = getRemoteConfig (Suppliers . ofInstance ( client ) );
130
+ FirebaseRemoteConfig remoteConfig = getRemoteConfig (client );
130
131
131
132
try {
132
133
remoteConfig .getTemplate ();
@@ -139,7 +140,7 @@ public void testGetTemplateFailure() {
139
140
public void testGetTemplateAsync () throws Exception {
140
141
MockRemoteConfigClient client = MockRemoteConfigClient .fromTemplate (
141
142
new RemoteConfigTemplate ().setETag (TEST_ETAG ));
142
- FirebaseRemoteConfig remoteConfig = getRemoteConfig (Suppliers . ofInstance ( client ) );
143
+ FirebaseRemoteConfig remoteConfig = getRemoteConfig (client );
143
144
144
145
RemoteConfigTemplate template = remoteConfig .getTemplateAsync ().get ();
145
146
@@ -149,7 +150,7 @@ public void testGetTemplateAsync() throws Exception {
149
150
@ Test
150
151
public void testGetTemplateAsyncFailure () throws InterruptedException {
151
152
MockRemoteConfigClient client = MockRemoteConfigClient .fromException (TEST_EXCEPTION );
152
- FirebaseRemoteConfig remoteConfig = getRemoteConfig (Suppliers . ofInstance ( client ) );
153
+ FirebaseRemoteConfig remoteConfig = getRemoteConfig (client );
153
154
154
155
try {
155
156
remoteConfig .getTemplateAsync ().get ();
@@ -158,12 +159,8 @@ public void testGetTemplateAsyncFailure() throws InterruptedException {
158
159
}
159
160
}
160
161
161
- private FirebaseRemoteConfig getRemoteConfig (
162
- Supplier <? extends FirebaseRemoteConfigClient > supplier ) {
162
+ private FirebaseRemoteConfig getRemoteConfig (FirebaseRemoteConfigClient client ) {
163
163
FirebaseApp app = FirebaseApp .initializeApp (TEST_OPTIONS );
164
- return FirebaseRemoteConfig .builder ()
165
- .setFirebaseApp (app )
166
- .setRemoteConfigClient (supplier )
167
- .build ();
164
+ return new FirebaseRemoteConfig (app , client );
168
165
}
169
166
}
0 commit comments