package com.pocketreddit.library.authentication; import com.pocketreddit.library.authentication.LoginResult; import android.test.AndroidTestCase; import android.util.Log; public class TestLoginResult extends AndroidTestCase { private static final String TAG = TestLoginResult.class.getName(); private final String successfulLoginJson = "{\"json\": {\"errors\": [], \"data\": {\"modhash\": \"7l7jf0fzvt9556d747b9ef00409e1a90d2fbdc328cd26b599b\", \"cookie\": \"13829964,2012-07-05T10:56:57,3acfec8427be44b0b90970d59a56e1b50ff74adf\"}}}"; private final String badPasswordJson = "{\"json\": {\"errors\": [[\"WRONG_PASSWORD\", \"invalid password\", \"passwd\"]]}}"; public void testLoginResultFromSuccess() { try { LoginResult login = new LoginResult(successfulLoginJson); assertTrue("LoginResult shouldn't produce any errors.", login.getErrors().isEmpty()); } catch (Exception e) { Log.e(TAG, "Failed parsing login response.", e); fail("Failed parsing login response."); } } public void testLoginResultBadPw() { try { LoginResult login = new LoginResult(badPasswordJson); assertTrue("The first error should be WRONG_PASSWORD", login.getErrors().get(0).get(0) .equals("WRONG_PASSWORD")); assertTrue("Modhash should be empty on bad login", login.getModHash() == null); } catch (Exception e) { Log.e(TAG, "Failed parsing login response.", e); fail("Failed parsing login response."); } } }