23
23
import static org .mockito .Mockito .when ;
24
24
25
25
import com .google .firebase .platforminfo .UserAgentPublisher ;
26
+ import java .io .ByteArrayOutputStream ;
27
+ import java .io .IOException ;
26
28
import java .util .ArrayList ;
27
29
import java .util .Base64 ;
28
30
import java .util .Collections ;
33
35
import java .util .concurrent .LinkedBlockingQueue ;
34
36
import java .util .concurrent .ThreadPoolExecutor ;
35
37
import java .util .concurrent .TimeUnit ;
38
+ import java .util .zip .GZIPOutputStream ;
36
39
import org .json .JSONException ;
37
40
import org .junit .Before ;
38
41
import org .junit .Test ;
@@ -76,7 +79,7 @@ public void whenNoSource_dontStoreHeartBeat() throws ExecutionException, Interru
76
79
77
80
@ Test
78
81
public void generateHeartBeat_oneHeartBeat ()
79
- throws ExecutionException , InterruptedException , JSONException {
82
+ throws ExecutionException , InterruptedException , JSONException , IOException {
80
83
ArrayList <HeartBeatResult > returnResults = new ArrayList <>();
81
84
returnResults .add (
82
85
HeartBeatResult .create (
@@ -91,16 +94,17 @@ public void generateHeartBeat_oneHeartBeat()
91
94
.getHeartBeatsHeader ()
92
95
.addOnCompleteListener (executor , getOnCompleteListener );
93
96
String expected =
94
- Base64 .getEncoder ()
97
+ Base64 .getUrlEncoder ()
95
98
.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\" }" )
97
101
.getBytes ());
98
102
assertThat (getOnCompleteListener .await ()).isEqualTo (expected );
99
103
}
100
104
101
105
@ Test
102
106
public void generateHeartBeat_twoHeartBeatsSameUserAgent ()
103
- throws ExecutionException , InterruptedException , JSONException {
107
+ throws ExecutionException , InterruptedException , JSONException , IOException {
104
108
ArrayList <HeartBeatResult > returnResults = new ArrayList <>();
105
109
ArrayList <String > dateList = new ArrayList <>();
106
110
dateList .add ("2015-03-02" );
@@ -120,16 +124,25 @@ public void generateHeartBeat_twoHeartBeatsSameUserAgent()
120
124
.getHeartBeatsHeader ()
121
125
.addOnCompleteListener (executor , getOnCompleteListener );
122
126
String expected =
123
- Base64 .getEncoder ()
127
+ Base64 .getUrlEncoder ()
124
128
.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\" }" )
126
131
.getBytes ());
127
132
assertThat (getOnCompleteListener .await ()).isEqualTo (expected );
128
133
}
129
134
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
+
130
143
@ Test
131
144
public void generateHeartBeat_twoHeartBeatstwoUserAgents ()
132
- throws ExecutionException , InterruptedException , JSONException {
145
+ throws ExecutionException , InterruptedException , JSONException , IOException {
133
146
ArrayList <HeartBeatResult > returnResults = new ArrayList <>();
134
147
returnResults .add (
135
148
HeartBeatResult .create (
@@ -151,9 +164,10 @@ public void generateHeartBeat_twoHeartBeatstwoUserAgents()
151
164
.getHeartBeatsHeader ()
152
165
.addOnCompleteListener (executor , getOnCompleteListener );
153
166
String expected =
154
- Base64 .getEncoder ()
167
+ Base64 .getUrlEncoder ()
155
168
.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\" }" )
157
171
.getBytes ());
158
172
assertThat (getOnCompleteListener .await ()).isEqualTo (expected );
159
173
}
0 commit comments