Skip to content

Commit 38ca6ad

Browse files
committed
gJF
1 parent 1b3f0c3 commit 38ca6ad

File tree

3 files changed

+24
-13
lines changed

3 files changed

+24
-13
lines changed

firebase-common/src/main/java/com/google/firebase/heartbeatinfo/DefaultHeartBeatController.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@
2626
import com.google.firebase.components.Dependency;
2727
import com.google.firebase.inject.Provider;
2828
import com.google.firebase.platforminfo.UserAgentPublisher;
29-
3029
import java.io.ByteArrayOutputStream;
31-
import java.nio.charset.StandardCharsets;
3230
import java.util.List;
3331
import java.util.Set;
3432
import java.util.concurrent.Executor;
@@ -37,7 +35,6 @@
3735
import java.util.concurrent.ThreadPoolExecutor;
3836
import java.util.concurrent.TimeUnit;
3937
import java.util.zip.GZIPOutputStream;
40-
4138
import org.json.JSONArray;
4239
import org.json.JSONObject;
4340

firebase-common/src/test/java/android/util/Base64.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@
1616

1717
public class Base64 {
1818
public static String encodeToString(byte[] input, int flags) {
19-
return java.util.Base64.getEncoder().encodeToString(input);
19+
return java.util.Base64.getUrlEncoder().encodeToString(input);
2020
}
2121
}

firebase-common/src/test/java/com/google/firebase/heartbeatinfo/DefaultHeartBeatControllerTest.java

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import static org.mockito.Mockito.when;
2424

2525
import com.google.firebase.platforminfo.UserAgentPublisher;
26+
import java.io.ByteArrayOutputStream;
27+
import java.io.IOException;
2628
import java.util.ArrayList;
2729
import java.util.Base64;
2830
import java.util.Collections;
@@ -33,6 +35,7 @@
3335
import java.util.concurrent.LinkedBlockingQueue;
3436
import java.util.concurrent.ThreadPoolExecutor;
3537
import java.util.concurrent.TimeUnit;
38+
import java.util.zip.GZIPOutputStream;
3639
import org.json.JSONException;
3740
import org.junit.Before;
3841
import org.junit.Test;
@@ -76,7 +79,7 @@ public void whenNoSource_dontStoreHeartBeat() throws ExecutionException, Interru
7679

7780
@Test
7881
public void generateHeartBeat_oneHeartBeat()
79-
throws ExecutionException, InterruptedException, JSONException {
82+
throws ExecutionException, InterruptedException, JSONException, IOException {
8083
ArrayList<HeartBeatResult> returnResults = new ArrayList<>();
8184
returnResults.add(
8285
HeartBeatResult.create(
@@ -91,16 +94,17 @@ public void generateHeartBeat_oneHeartBeat()
9194
.getHeartBeatsHeader()
9295
.addOnCompleteListener(executor, getOnCompleteListener);
9396
String expected =
94-
Base64.getEncoder()
97+
Base64.getUrlEncoder()
9598
.encodeToString(
96-
"{\"heartbeats\":[{\"date\":[\"2015-02-03\"],\"agent\":\"test-agent\"}],\"version\":\"2\"}"
99+
compress(
100+
"{\"heartbeats\":[{\"date\":[\"2015-02-03\"],\"agent\":\"test-agent\"}],\"version\":\"2\"}")
97101
.getBytes());
98102
assertThat(getOnCompleteListener.await()).isEqualTo(expected);
99103
}
100104

101105
@Test
102106
public void generateHeartBeat_twoHeartBeatsSameUserAgent()
103-
throws ExecutionException, InterruptedException, JSONException {
107+
throws ExecutionException, InterruptedException, JSONException, IOException {
104108
ArrayList<HeartBeatResult> returnResults = new ArrayList<>();
105109
ArrayList<String> dateList = new ArrayList<>();
106110
dateList.add("2015-03-02");
@@ -120,16 +124,25 @@ public void generateHeartBeat_twoHeartBeatsSameUserAgent()
120124
.getHeartBeatsHeader()
121125
.addOnCompleteListener(executor, getOnCompleteListener);
122126
String expected =
123-
Base64.getEncoder()
127+
Base64.getUrlEncoder()
124128
.encodeToString(
125-
"{\"heartbeats\":[{\"date\":[\"2015-03-02\",\"2015-03-01\"],\"agent\":\"test-agent\"}],\"version\":\"2\"}"
129+
compress(
130+
"{\"heartbeats\":[{\"date\":[\"2015-03-02\",\"2015-03-01\"],\"agent\":\"test-agent\"}],\"version\":\"2\"}")
126131
.getBytes());
127132
assertThat(getOnCompleteListener.await()).isEqualTo(expected);
128133
}
129134

135+
private String compress(String str) throws IOException {
136+
ByteArrayOutputStream out = new ByteArrayOutputStream();
137+
GZIPOutputStream gzip = new GZIPOutputStream(out);
138+
gzip.write(str.toString().getBytes());
139+
gzip.close();
140+
return out.toString("UTF-8");
141+
}
142+
130143
@Test
131144
public void generateHeartBeat_twoHeartBeatstwoUserAgents()
132-
throws ExecutionException, InterruptedException, JSONException {
145+
throws ExecutionException, InterruptedException, JSONException, IOException {
133146
ArrayList<HeartBeatResult> returnResults = new ArrayList<>();
134147
returnResults.add(
135148
HeartBeatResult.create(
@@ -151,9 +164,10 @@ public void generateHeartBeat_twoHeartBeatstwoUserAgents()
151164
.getHeartBeatsHeader()
152165
.addOnCompleteListener(executor, getOnCompleteListener);
153166
String expected =
154-
Base64.getEncoder()
167+
Base64.getUrlEncoder()
155168
.encodeToString(
156-
"{\"heartbeats\":[{\"date\":[\"2015-03-02\"],\"agent\":\"test-agent\"},{\"date\":[\"2015-03-03\"],\"agent\":\"test-agent-1\"}],\"version\":\"2\"}"
169+
compress(
170+
"{\"heartbeats\":[{\"date\":[\"2015-03-02\"],\"agent\":\"test-agent\"},{\"date\":[\"2015-03-03\"],\"agent\":\"test-agent-1\"}],\"version\":\"2\"}")
157171
.getBytes());
158172
assertThat(getOnCompleteListener.await()).isEqualTo(expected);
159173
}

0 commit comments

Comments
 (0)