Skip to content

Commit d516365

Browse files
committed
Refactoring internal device ID usage.
1 parent 0120b73 commit d516365

File tree

8 files changed

+56
-137
lines changed

8 files changed

+56
-137
lines changed

sdk/src/androidTest/java/ly/count/android/sdk/ConnectionProcessorTests.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,15 @@ of this software and associated documentation files (the "Software"), to deal
5454
public class ConnectionProcessorTests {
5555
ConnectionProcessor connectionProcessor;
5656
CountlyStore mockStore;
57-
DeviceId mockDeviceId;
57+
DeviceIdProvider mockDeviceId;
5858
String testDeviceId;
5959
ModuleLog moduleLog;
6060

6161
@Before
6262
public void setUp() {
6363
Countly.sharedInstance().setLoggingEnabled(true);
6464
mockStore = mock(CountlyStore.class);
65-
mockDeviceId = mock(DeviceId.class);
65+
mockDeviceId = mock(DeviceIdProvider.class);
6666
moduleLog = mock(ModuleLog.class);
6767

6868
connectionProcessor = new ConnectionProcessor("http://server", mockStore, mockDeviceId, null, null, moduleLog);
@@ -73,11 +73,10 @@ public void setUp() {
7373
public void testConstructorAndGetters() {
7474
final String serverURL = "https://secureserver";
7575
final CountlyStore mockStore = mock(CountlyStore.class);
76-
final DeviceId mockDeviceId = mock(DeviceId.class);
76+
final DeviceIdProvider mockDeviceId = mock(DeviceIdProvider.class);
7777
final ConnectionProcessor connectionProcessor1 = new ConnectionProcessor(serverURL, mockStore, mockDeviceId, null, null, moduleLog);
7878
assertEquals(serverURL, connectionProcessor1.getServerURL());
7979
assertSame(mockStore, connectionProcessor1.getCountlyStore());
80-
assertSame(mockDeviceId, connectionProcessor1.getDeviceId());
8180
}
8281

8382
/**
@@ -217,7 +216,7 @@ public void testRun_storeHasSingleConnection() throws IOException {
217216
final String eventData = "blahblahblah";
218217
connectionProcessor = spy(connectionProcessor);
219218
when(mockStore.getRequests()).thenReturn(new String[] { eventData }, new String[0]);
220-
when(mockDeviceId.getCurrentId()).thenReturn(testDeviceId);
219+
when(mockDeviceId.getDeviceId()).thenReturn(testDeviceId);
221220
final HttpURLConnection mockURLConnection = mock(HttpURLConnection.class);
222221
final CountlyResponseStream testInputStream = new CountlyResponseStream("Success");
223222
when(mockURLConnection.getInputStream()).thenReturn(testInputStream);
@@ -241,7 +240,7 @@ public void testRun_storeHasSingleConnection_butHTTPResponseCodeWasNot2xx() thro
241240
final String eventData = "blahblahblah";
242241
connectionProcessor = spy(connectionProcessor);
243242
when(mockStore.getRequests()).thenReturn(new String[] { eventData }, new String[0]);
244-
when(mockDeviceId.getCurrentId()).thenReturn(testDeviceId);
243+
when(mockDeviceId.getDeviceId()).thenReturn(testDeviceId);
245244
final HttpURLConnection mockURLConnection = mock(HttpURLConnection.class);
246245
final CountlyResponseStream testInputStream = new CountlyResponseStream("Success");
247246
when(mockURLConnection.getInputStream()).thenReturn(testInputStream);
@@ -265,7 +264,7 @@ public void testRun_storeHasSingleConnection_butResponseWasNotJSON() throws IOEx
265264
final String eventData = "blahblahblah";
266265
connectionProcessor = spy(connectionProcessor);
267266
when(mockStore.getRequests()).thenReturn(new String[] { eventData }, new String[0]);
268-
when(mockDeviceId.getCurrentId()).thenReturn(testDeviceId);
267+
when(mockDeviceId.getDeviceId()).thenReturn(testDeviceId);
269268
final HttpURLConnection mockURLConnection = mock(HttpURLConnection.class);
270269
final TestInputStream testInputStream = new TestInputStream();
271270
when(mockURLConnection.getInputStream()).thenReturn(testInputStream);
@@ -289,7 +288,7 @@ public void testRun_storeHasSingleConnection_butResponseJSONWasNotSuccess() thro
289288
final String eventData = "blahblahblah";
290289
connectionProcessor = spy(connectionProcessor);
291290
when(mockStore.getRequests()).thenReturn(new String[] { eventData }, new String[0]);
292-
when(mockDeviceId.getCurrentId()).thenReturn(testDeviceId);
291+
when(mockDeviceId.getDeviceId()).thenReturn(testDeviceId);
293292
final HttpURLConnection mockURLConnection = mock(HttpURLConnection.class);
294293
final CountlyResponseStream testInputStream = new CountlyResponseStream("Failed");
295294
when(mockURLConnection.getInputStream()).thenReturn(testInputStream);
@@ -313,7 +312,7 @@ public void testRun_storeHasTwoConnections() throws IOException {
313312
final String eventData2 = "123523523432";
314313
connectionProcessor = spy(connectionProcessor);
315314
when(mockStore.getRequests()).thenReturn(new String[] { eventData1, eventData2 }, new String[] { eventData2 }, new String[0]);
316-
when(mockDeviceId.getCurrentId()).thenReturn(testDeviceId);
315+
when(mockDeviceId.getDeviceId()).thenReturn(testDeviceId);
317316
final HttpURLConnection mockURLConnection = mock(HttpURLConnection.class);
318317
final CountlyResponseStream testInputStream1 = new CountlyResponseStream("Success");
319318
final CountlyResponseStream testInputStream2 = new CountlyResponseStream("Success");

sdk/src/androidTest/java/ly/count/android/sdk/ConnectionQueueTests.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,13 @@ public void setUp() {
7676
CountlyStore cs = mock(CountlyStore.class);
7777
when(cs.getCachedAdvertisingId()).thenReturn("");
7878
connQ.storageProvider = cs;
79-
connQ.setDeviceId(mock(DeviceId.class));
79+
connQ.setDeviceId(mock(DeviceIdProvider.class));
8080
connQ.setExecutor(mock(ExecutorService.class));
8181
}
8282

8383
@Test
8484
public void testConstructor() {
8585
assertNull(freshConnQ.storageProvider);
86-
assertNull(freshConnQ.getDeviceId());
8786
assertNull(freshConnQ.baseInfoProvider);
8887
assertNull(freshConnQ.getContext());
8988
assertNull(freshConnQ.getExecutor());
@@ -113,14 +112,6 @@ public void testCountlyStore() {
113112
assertSame(store, freshConnQ.storageProvider);
114113
}
115114

116-
@Test
117-
public void testDeviceId() {
118-
final CountlyStore store = new CountlyStore(getContext(), mock(ModuleLog.class));
119-
final DeviceId deviceId = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "blah", store, mock(ModuleLog.class), null);
120-
freshConnQ.setDeviceId(deviceId);
121-
assertSame(deviceId, freshConnQ.getDeviceId());
122-
}
123-
124115
@Test
125116
public void testExecutor() {
126117
final ExecutorService executor = Executors.newSingleThreadExecutor();

sdk/src/androidTest/java/ly/count/android/sdk/DeviceIdTests.java

Lines changed: 18 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -66,35 +66,13 @@ public void constructorSDKGenerated_fail_2() {
6666
new DeviceId((DeviceIdType) null, (String)null, store, mock(ModuleLog.class), null);
6767
}
6868

69-
/**
70-
* Validating 'deviceIDEqualsNullSafe'
71-
* Just checking which value combinations return which values
72-
*/
73-
@Test
74-
public void deviceIDEqualsNullSafe_1() {
75-
DeviceId did = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "aa", store, mock(ModuleLog.class), null);
76-
assertTrue(DeviceId.deviceIDEqualsNullSafe("a", DeviceIdType.OPEN_UDID, did));
77-
assertTrue(DeviceId.deviceIDEqualsNullSafe("a", DeviceIdType.TEMPORARY_ID, did));
78-
assertTrue(DeviceId.deviceIDEqualsNullSafe("a", DeviceIdType.ADVERTISING_ID, did));
79-
80-
did.setId(DeviceIdType.OPEN_UDID, null);
81-
assertTrue(DeviceId.deviceIDEqualsNullSafe(null, DeviceIdType.ADVERTISING_ID, did));
82-
83-
did.setId(DeviceIdType.OPEN_UDID, "b");
84-
assertFalse(DeviceId.deviceIDEqualsNullSafe("a", DeviceIdType.DEVELOPER_SUPPLIED, did));
85-
86-
did.setId(DeviceIdType.OPEN_UDID, "a");
87-
assertTrue(DeviceId.deviceIDEqualsNullSafe("a", DeviceIdType.DEVELOPER_SUPPLIED, did));
88-
}
89-
9069
/**
9170
* Checking temporary device ID mode is correctly recognised after init if set with "setId"
9271
* This would make sure that temp ID mode is verified mainly with the id string value
9372
*/
9473
@Test
9574
public void temporaryIdModeEnabled_1() {
9675
DeviceId did = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED,"dsd", store, mock(ModuleLog.class), null);
97-
did.init();
9876
assertFalse(did.isTemporaryIdModeEnabled());
9977

10078
did.setId(DeviceIdType.OPEN_UDID, DeviceId.temporaryCountlyDeviceId);
@@ -123,12 +101,11 @@ public void temporaryIdModeEnabled_1() {
123101
}
124102

125103
/**
126-
* Checking dsetting temporary device ID mode during init
104+
* Checking setting temporary device ID mode during init
127105
*/
128106
@Test
129107
public void temporaryIdModeEnabled_2() {
130108
DeviceId did2 = new DeviceId(DeviceIdType.TEMPORARY_ID, DeviceId.temporaryCountlyDeviceId, store, mock(ModuleLog.class), null);
131-
did2.init();
132109
assertTrue(did2.isTemporaryIdModeEnabled());
133110

134111
//todo needs more work
@@ -140,13 +117,23 @@ public void temporaryIdModeEnabled_2() {
140117
@Test
141118
public void getType() {
142119
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "dsd", store, mock(ModuleLog.class), null).getType());
120+
store.clear();
121+
143122
assertEquals(DeviceIdType.TEMPORARY_ID, new DeviceId(DeviceIdType.TEMPORARY_ID, DeviceId.temporaryCountlyDeviceId, store, mock(ModuleLog.class), null).getType());
123+
store.clear();
124+
144125
assertEquals(DeviceIdType.OPEN_UDID, new DeviceId(DeviceIdType.OPEN_UDID, null, store, mock(ModuleLog.class), new OpenUDIDProvider() {
145126
@Override public String getOpenUDID() {
146127
return "abc";
147128
}
148129
}).getType());
149-
assertEquals(DeviceIdType.ADVERTISING_ID, new DeviceId(DeviceIdType.ADVERTISING_ID, null, store, mock(ModuleLog.class), null).getType());
130+
store.clear();
131+
132+
assertEquals(DeviceIdType.OPEN_UDID, new DeviceId(DeviceIdType.ADVERTISING_ID, null, store, mock(ModuleLog.class), new OpenUDIDProvider() {
133+
@Override public String getOpenUDID() {
134+
return "123";
135+
}
136+
}).getType());
150137
}
151138

152139
/**
@@ -155,27 +142,23 @@ public void getType() {
155142
@Test
156143
public void getId() {
157144
DeviceId did1 = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "abc", store, mock(ModuleLog.class), null);
158-
did1.init();
159145
assertEquals("abc", did1.getCurrentId());
160146

161147
store.clear();
162148

163149
DeviceId did2 = new DeviceId(DeviceIdType.TEMPORARY_ID, DeviceId.temporaryCountlyDeviceId, store, mock(ModuleLog.class), null);
164-
did2.init();
165150
assertEquals(DeviceId.temporaryCountlyDeviceId, did2.getCurrentId());
166151

167152
store.clear();
168153

169154
currentOpenUDIDValue = "ppp1";
170155
DeviceId did3 = new DeviceId(DeviceIdType.OPEN_UDID, null, store, mock(ModuleLog.class), openUDIDProvider);
171-
did3.init();
172156
assertEquals(currentOpenUDIDValue, did3.getCurrentId());
173157

174158
store.clear();
175159

176160
currentOpenUDIDValue = "openUDIDfallbackValue";
177161
DeviceId did4 = new DeviceId(DeviceIdType.ADVERTISING_ID, null, store, mock(ModuleLog.class), openUDIDProvider);
178-
did4.init();
179162
assertNotNull(did4.getCurrentId());
180163
assertEquals(currentOpenUDIDValue, did4.getCurrentId());
181164
}
@@ -186,14 +169,13 @@ public void getId() {
186169
@Test
187170
public void changeToIdDevSupplied() {
188171
DeviceId did = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "abc", store, mock(ModuleLog.class), null);
189-
did.init();
190172
assertEquals("abc", did.getCurrentId());
191173

192-
did.changeToId(DeviceIdType.DEVELOPER_SUPPLIED, "123", false);
174+
did.changeToId(DeviceIdType.DEVELOPER_SUPPLIED, "123");
193175
assertEquals("123", did.getCurrentId());
194176
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, did.getType());
195177

196-
did.changeToId(DeviceIdType.DEVELOPER_SUPPLIED, "456", true);
178+
did.changeToId(DeviceIdType.DEVELOPER_SUPPLIED, "456");
197179
assertEquals("456", did.getCurrentId());
198180
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, did.getType());
199181
}
@@ -204,28 +186,27 @@ public void changeToIdDevSupplied() {
204186
@Test
205187
public void changeToIdOpenUDID() {
206188
DeviceId did = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "abc", store, mock(ModuleLog.class), openUDIDProvider);
207-
did.init();
208189
assertEquals("abc", did.getCurrentId());
209190

210191
//set first value without running init, should use the provided value
211-
did.changeToId(DeviceIdType.OPEN_UDID, "123", false);
192+
did.changeToId(DeviceIdType.OPEN_UDID, "123");
212193
assertEquals("123", did.getCurrentId());
213194
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
214195

215196
//do a reset
216-
did.changeToId(DeviceIdType.DEVELOPER_SUPPLIED, "aaa", true);
197+
did.changeToId(DeviceIdType.DEVELOPER_SUPPLIED, "aaa");
217198
assertEquals("aaa", did.getCurrentId());
218199
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, did.getType());
219200

220201
//change with init, since a value is specified, it should take precedence
221202
currentOpenUDIDValue = "uio|";
222-
did.changeToId(DeviceIdType.OPEN_UDID, "456", true);
203+
did.changeToId(DeviceIdType.OPEN_UDID, "456");
223204
assertEquals("456", did.getCurrentId());
224205
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
225206

226207
//change with init, it should use it's own value because a null device ID is provided
227208
currentOpenUDIDValue = "sdfh";
228-
did.changeToId(DeviceIdType.OPEN_UDID, null, true);
209+
did.changeToId(DeviceIdType.OPEN_UDID, null);
229210
assertEquals(currentOpenUDIDValue, did.getCurrentId());
230211
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
231212
}
@@ -241,27 +222,22 @@ public void initWithDifferentValuesStartingDevID() {
241222
store.clear();
242223

243224
DeviceId did = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "abc", store, mock(ModuleLog.class), null);
244-
did.init();
245225
assertEquals("abc", did.getCurrentId());
246226
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, did.getType());
247227

248228
did = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "123", store, mock(ModuleLog.class), null);
249-
did.init();
250229
assertEquals("abc", did.getCurrentId());
251230
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, did.getType());
252231

253232
did = new DeviceId(DeviceIdType.OPEN_UDID, null, store, mock(ModuleLog.class), null);
254-
did.init();
255233
assertEquals("abc", did.getCurrentId());
256234
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, did.getType());
257235

258236
did = new DeviceId(DeviceIdType.ADVERTISING_ID, null, store, mock(ModuleLog.class), null);
259-
did.init();
260237
assertEquals("abc", did.getCurrentId());
261238
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, did.getType());
262239

263240
did = new DeviceId(DeviceIdType.TEMPORARY_ID, DeviceId.temporaryCountlyDeviceId, store, mock(ModuleLog.class), null);
264-
did.init();
265241
assertEquals("abc", did.getCurrentId());
266242
assertEquals(DeviceIdType.DEVELOPER_SUPPLIED, did.getType());
267243
}
@@ -276,27 +252,22 @@ public void initWithDifferentValuesStartingDevID() {
276252
public void initWithDifferentValuesStartingOpenUDID() {
277253
currentOpenUDIDValue = "nmb";
278254
DeviceId did = new DeviceId(DeviceIdType.OPEN_UDID, null, store, mock(ModuleLog.class), openUDIDProvider);
279-
did.init();
280255
assertEquals(currentOpenUDIDValue, did.getCurrentId());
281256
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
282257

283258
did = new DeviceId(DeviceIdType.DEVELOPER_SUPPLIED, "123", store, mock(ModuleLog.class), openUDIDProvider);
284-
did.init();
285259
assertEquals(currentOpenUDIDValue, did.getCurrentId());
286260
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
287261

288262
did = new DeviceId(DeviceIdType.OPEN_UDID, null, store, mock(ModuleLog.class), openUDIDProvider);
289-
did.init();
290263
assertEquals(currentOpenUDIDValue, did.getCurrentId());
291264
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
292265

293266
did = new DeviceId(DeviceIdType.ADVERTISING_ID, null, store, mock(ModuleLog.class), openUDIDProvider);
294-
did.init();
295267
assertEquals(currentOpenUDIDValue, did.getCurrentId());
296268
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
297269

298270
did = new DeviceId(DeviceIdType.TEMPORARY_ID, DeviceId.temporaryCountlyDeviceId, store, mock(ModuleLog.class), openUDIDProvider);
299-
did.init();
300271
assertEquals(currentOpenUDIDValue, did.getCurrentId());
301272
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
302273
}
@@ -312,14 +283,12 @@ public void reinitOpenUDID_differentValue() {
312283

313284
//init the first time and openUDID returns one value
314285
DeviceId did = new DeviceId(DeviceIdType.OPEN_UDID, null, store, mock(ModuleLog.class), openUDIDProvider);
315-
did.init();
316286
assertEquals(currentOpenUDIDValue, did.getCurrentId());
317287
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
318288

319289
//init the second time and openUDID returns a different value
320290
currentOpenUDIDValue = "zxc";
321291
did = new DeviceId(DeviceIdType.OPEN_UDID, null, store, mock(ModuleLog.class), openUDIDProvider);
322-
did.init();
323292
assertEquals(initialValue, did.getCurrentId());
324293
assertEquals(DeviceIdType.OPEN_UDID, did.getType());
325294
}

0 commit comments

Comments
 (0)