@@ -1654,48 +1654,41 @@ public void variablesChanged() {
16541654 assertEquals (4 , VarCache .variants ().size ());
16551655 }
16561656
1657- // TODO: Currently hasStarted flag is not set if network is down.
1658- // This must be discussed and fixed as well.
1659- //
1660- // @Test
1661- // public void testStartChangeCallBackForOffline() throws Exception {
1662- // final Semaphore semaphore = new Semaphore(1);
1663- // semaphore.acquire();
1664- //
1665- // //Offline Mode.
1666- // ResponseHelper.seedResponseNull();
1667- //
1668- // // Expected request params.
1669- // final HashMap<String, Object> expectedRequestParams = CollectionUtil.newHashMap(
1670- // "city", "(detect)",
1671- // "country", "(detect)",
1672- // "location", "(detect)",
1673- // "region", "(detect)",
1674- // "locale", "en_US"
1675- // );
1676- //
1677- // // Validate request.
1678- // // Validate request.
1679- // RequestHelper.addRequestHandler(new RequestHelper.RequestHandler() {
1680- // @Override
1681- // public void onRequest(String httpMethod, String apiMethod, Map<String, Object> params) {
1682- // assertEquals(RequestBuilder.ACTION_START, apiMethod);
1683- // assertTrue(params.keySet().containsAll(expectedRequestParams.keySet()));
1684- // assertTrue(params.values().containsAll(expectedRequestParams.values()));
1685- // }
1686- // });
1687- //
1688- //
1689- // Leanplum.start(mContext, new StartCallback() {
1690- // @Override
1691- // public void onResponse(boolean success) {
1692- // assertTrue(success);
1693- // semaphore.release();
1694- // }
1695- // });
1696- // assertTrue(Leanplum.hasStarted());
1697- //
1698- // }
1657+ @ Test
1658+ public void testStartChangeCallBackForOffline () throws Exception {
1659+ //Offline Mode.
1660+ ResponseHelper .seedResponseNull ();
1661+
1662+ // Expected request params.
1663+ final HashMap <String , Object > expectedRequestParams = CollectionUtil .newHashMap (
1664+ "city" , "(detect)" ,
1665+ "country" , "(detect)" ,
1666+ "location" , "(detect)" ,
1667+ "region" , "(detect)" ,
1668+ "locale" , "en_US"
1669+ );
1670+
1671+ // Validate request.
1672+ // Validate request.
1673+ RequestHelper .addRequestHandler (new RequestHelper .RequestHandler () {
1674+ @ Override
1675+ public void onRequest (String httpMethod , String apiMethod , Map <String , Object > params ) {
1676+ assertEquals (RequestBuilder .ACTION_START , apiMethod );
1677+ assertTrue (params .keySet ().containsAll (expectedRequestParams .keySet ()));
1678+ assertTrue (params .values ().containsAll (expectedRequestParams .values ()));
1679+ }
1680+ });
1681+
1682+
1683+ Leanplum .start (mContext , new StartCallback () {
1684+ @ Override
1685+ public void onResponse (boolean success ) {
1686+ assertFalse (success ); // in offline mode the success flag is false and isStarted is true
1687+ }
1688+ });
1689+ assertTrue (Leanplum .hasStarted ());
1690+
1691+ }
16991692
17001693 @ Test
17011694 public void testVariableChangeCallBacksForOffline () throws Exception {
0 commit comments