diff options
Diffstat (limited to 'tests/src/cgeo/geocaching/cgeoApplicationTest.java')
| -rw-r--r-- | tests/src/cgeo/geocaching/cgeoApplicationTest.java | 103 |
1 files changed, 56 insertions, 47 deletions
diff --git a/tests/src/cgeo/geocaching/cgeoApplicationTest.java b/tests/src/cgeo/geocaching/cgeoApplicationTest.java index c48a6ae..d61d165 100644 --- a/tests/src/cgeo/geocaching/cgeoApplicationTest.java +++ b/tests/src/cgeo/geocaching/cgeoApplicationTest.java @@ -31,6 +31,9 @@ import junit.framework.Assert; public class cgeoApplicationTest extends ApplicationTestCase<cgeoapplication> { + /** With the GC.com update on 14.02.2012 the live map got disabled. As a consequence the tests are disabled, too */ + public static final boolean LIVEMAPENABLED = false; + public cgeoApplicationTest() { super(cgeoapplication.class); } @@ -193,25 +196,28 @@ public class cgeoApplicationTest extends ApplicationTestCase<cgeoapplication> { */ @MediumTest public static void testSearchByViewport() { - GC2JVEH cache = new GC2JVEH(); - - final String token = cgBase.getMapUserToken(new Handler()); - final Viewport viewport = new Viewport(cache.getCoords(), 0.003, 0.003); - final SearchResult search = cgBase.searchByViewport(token, viewport); - // GC2JVEH is a premium members only cache. It can't be "found" by non-premium members - if (Settings.isPremiumMember()) { - assertNotNull(search); - // coords are identical... if the user is logged in - if (search.error != null) { - if (search.getGeocodes().contains(cache.getGeocode())) { - assertFalse(cache.getCoords().isEqualTo(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).getCoords())); - assertFalse(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).isReliableLatLon()); + if (LIVEMAPENABLED) { + GC2JVEH cache = new GC2JVEH(); + + final String token = cgBase.getMapUserToken(new Handler()); + final Viewport viewport = new Viewport(cache.getCoords(), 0.003, 0.003); + final SearchResult search = cgBase.searchByViewport(token, viewport); + + // GC2JVEH is a premium members only cache. It can't be "found" by non-premium members + if (Settings.isPremiumMember()) { + assertNotNull(search); + // coords are identical... if the user is logged in + if (search.error != null) { + if (search.getGeocodes().contains(cache.getGeocode())) { + assertFalse(cache.getCoords().isEqualTo(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).getCoords())); + assertFalse(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).isReliableLatLon()); + } + } else { + assertTrue(search.getGeocodes().contains(cache.getGeocode())); + assertEquals(cache.getCoords().toString(), cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).getCoords().toString()); + assertTrue(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).isReliableLatLon()); } - } else { - assertTrue(search.getGeocodes().contains(cache.getGeocode())); - assertEquals(cache.getCoords().toString(), cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).getCoords().toString()); - assertTrue(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).isReliableLatLon()); } } } @@ -221,42 +227,45 @@ public class cgeoApplicationTest extends ApplicationTestCase<cgeoapplication> { */ @MediumTest public static void testSearchByViewportNotLoggedIn() { - ImmutablePair<String, String> login = Settings.getLogin(); - - try { - - final String token = null; // without a valid token we are "logged off" - - // non premium cache - MockedCache cache = new GC2CJPF(); - deleteCacheFromDBAndLogout(cache.getGeocode()); - Viewport viewport = new Viewport(cache.getCoords(), 0.003, 0.003); - SearchResult search = cgBase.searchByViewport(token, viewport); + if (LIVEMAPENABLED) { + ImmutablePair<String, String> login = Settings.getLogin(); - assertNotNull(search); - assertTrue(search.getGeocodes().contains(cache.getGeocode())); - // coords differ - Log.d(Settings.tag, "cgeoApplicationTest.testSearchByViewportNotLoggedIn: Coords expected = " + cache.getCoords()); - Log.d(Settings.tag, "cgeoApplicationTest.testSearchByViewportNotLoggedIn: Coords actual = " + cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).getCoords()); - assertFalse(cache.getCoords().isEqualTo(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).getCoords(), 1e-3)); - assertFalse(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).isReliableLatLon()); + try { - // premium cache - cache = new GC2JVEH(); - deleteCacheFromDBAndLogout(cache.getGeocode()); + final String token = null; // without a valid token we are "logged off" - viewport = new Viewport(cache.getCoords(), 0.003, 0.003); - search = cgBase.searchByViewport(token, viewport); + // non premium cache + MockedCache cache = new GC2CJPF(); + deleteCacheFromDBAndLogout(cache.getGeocode()); - assertNotNull(search); - // It's a premium member cache only and thus not visible to guests - assertFalse(search.getGeocodes().contains(cache.getGeocode())); + Viewport viewport = new Viewport(cache.getCoords(), 0.003, 0.003); + SearchResult search = cgBase.searchByViewport(token, viewport); - } finally { - // restore user and password - Settings.setLogin(login.left, login.right); - cgBase.login(); + assertNotNull(search); + assertTrue(search.getGeocodes().contains(cache.getGeocode())); + // coords differ + Log.d(Settings.tag, "cgeoApplicationTest.testSearchByViewportNotLoggedIn: Coords expected = " + cache.getCoords()); + Log.d(Settings.tag, "cgeoApplicationTest.testSearchByViewportNotLoggedIn: Coords actual = " + cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).getCoords()); + assertFalse(cache.getCoords().isEqualTo(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).getCoords(), 1e-3)); + assertFalse(cgeoapplication.getInstance().loadCache(cache.getGeocode(), LoadFlags.LOADCACHEORDB).isReliableLatLon()); + + // premium cache + cache = new GC2JVEH(); + deleteCacheFromDBAndLogout(cache.getGeocode()); + + viewport = new Viewport(cache.getCoords(), 0.003, 0.003); + search = cgBase.searchByViewport(token, viewport); + + assertNotNull(search); + // It's a premium member cache only and thus not visible to guests + assertFalse(search.getGeocodes().contains(cache.getGeocode())); + + } finally { + // restore user and password + Settings.setLogin(login.left, login.right); + cgBase.login(); + } } } |
