diff --git a/.travis.yml b/.travis.yml index eb3628d65..44cc70523 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: android jdk: oraclejdk8 -sudo: required +udo: required addons: apt: sources: @@ -62,4 +62,4 @@ env: - DISABLE_REQUEST_LOGGING=true matrix: - TEST="assembleDebug -PdisablePreDex" - - TEST="testDebugUnitTest -PdisablePreDex --stacktrace --info" REQUIRES_SERVER=true + - TEST="testProdDebugUnitTest -PdisablePreDex --stacktrace --info" REQUIRES_SERVER=true diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/BaseAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/BaseAPITests.java index 5a32217f9..0699ea63e 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/BaseAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/BaseAPITests.java @@ -1,6 +1,8 @@ package com.habitrpg.android.habitica.api; +import com.habitrpg.android.habitica.ApiClientImpl; +import com.habitrpg.android.habitica.proxy.impl.EmptyCrashlyticsProxy; import com.magicmicky.habitrpgwrapper.lib.api.ApiClient; import com.habitrpg.android.habitica.BuildConfig; import com.habitrpg.android.habitica.HostConfig; @@ -10,6 +12,9 @@ import com.magicmicky.habitrpgwrapper.lib.models.responses.HabitResponse; import org.junit.After; import org.junit.Before; +import org.robolectric.shadows.ShadowApplication; + +import android.content.Context; import java.security.InvalidParameterException; import java.util.UUID; @@ -29,32 +34,33 @@ public class BaseAPITests { if (BuildConfig.BASE_URL.contains("habitica.com")) { throw new InvalidParameterException("Can't test against production server."); } + Context context = ShadowApplication.getInstance().getApplicationContext(); hostConfig = new HostConfig(BuildConfig.BASE_URL, BuildConfig.PORT, "", ""); - apiClient = new ApiClient(ApiClient.createGsonFactory(), hostConfig); + apiClient = new ApiClientImpl(ApiClientImpl.createGsonFactory(), hostConfig, new EmptyCrashlyticsProxy(), context); generateUser(); } public void generateUser() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); username = UUID.randomUUID().toString(); apiClient.registerUser(username, username+"@example.com", password, password) .subscribe(testSubscriber); testSubscriber.assertCompleted(); - UserAuthResponse response = testSubscriber.getOnNextEvents().get(0).getData(); + UserAuthResponse response = testSubscriber.getOnNextEvents().get(0); hostConfig.setUser(response.getId()); hostConfig.setApi(response.getApiToken() != null ? response.getApiToken() : response.getToken()); } public HabitRPGUser getUser() { - TestSubscriber> userSubscriber = new TestSubscriber<>(); + TestSubscriber userSubscriber = new TestSubscriber<>(); apiClient.getUser().subscribe(userSubscriber); userSubscriber.assertNoErrors(); userSubscriber.assertCompleted(); - HabitRPGUser user = userSubscriber.getOnNextEvents().get(0).getData(); + HabitRPGUser user = userSubscriber.getOnNextEvents().get(0); return user; } diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/SocialAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/SocialAPITests.java index 76e4dbc09..3fcd0c825 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/SocialAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/SocialAPITests.java @@ -37,11 +37,11 @@ public class SocialAPITests extends BaseAPITests { public void postMessage(String groupID, String messageSuffix) { HashMap messageObject = new HashMap<>(); messageObject.put("message", "Foo Bar"+messageSuffix); - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.postGroupChat(groupID, messageObject).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); - PostChatMessageResult result = testSubscriber.getOnNextEvents().get(0).getData(); + PostChatMessageResult result = testSubscriber.getOnNextEvents().get(0); messagesIDs.add(result.message.id); } @@ -50,7 +50,7 @@ public class SocialAPITests extends BaseAPITests { groupID = "habitrpg"; postMessage(groupID, "1"); - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.getGroup(groupID).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); @@ -63,7 +63,7 @@ public class SocialAPITests extends BaseAPITests { postMessage(groupID, "1"); postMessage(groupID, "2"); - TestSubscriber>> testSubscriber = new TestSubscriber<>(); + TestSubscriber> testSubscriber = new TestSubscriber<>(); apiClient.listGroupChat(groupID).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); @@ -72,7 +72,7 @@ public class SocialAPITests extends BaseAPITests { @After public void tearDown() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); for (String messageID : this.messagesIDs) { apiClient.deleteMessage("habitrpg", messageID) .subscribe(testSubscriber); diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java index 5a7602111..e702fc6c9 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java @@ -23,7 +23,7 @@ public class TagAPITests extends BaseAPITests { @Test public void shouldCreateTag() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); Tag tag = new Tag(); tag.setName("foo"); apiClient.createTag(tag).subscribe(testSubscriber); @@ -35,7 +35,7 @@ public class TagAPITests extends BaseAPITests { @Test public void shouldUpdateTag() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); Tag t = new Tag(); String newname = "BAR"; @@ -47,13 +47,13 @@ public class TagAPITests extends BaseAPITests { apiClient.updateTag(testId,t).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); - Assert.assertEquals(newname,testSubscriber.getOnNextEvents().get(0).getData().getName()); + Assert.assertEquals(newname,testSubscriber.getOnNextEvents().get(0).getName()); } @Test public void shouldDeleteTag() { - TestSubscriber> testSub = new TestSubscriber<>(); + TestSubscriber testSub = new TestSubscriber<>(); String testId = getUser().getTags().get(0).getId(); apiClient.deleteTag(testId).subscribe(testSub); diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/TaskAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/TaskAPITests.java index d80df7370..1c752a997 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/TaskAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/TaskAPITests.java @@ -35,9 +35,9 @@ public class TaskAPITests extends BaseAPITests { @Override public void setUp() { super.setUp(); - TestSubscriber> oldTaskSubscriber = new TestSubscriber<>(); + TestSubscriber oldTaskSubscriber = new TestSubscriber<>(); apiClient.getTasks().subscribe(oldTaskSubscriber); - TaskList tasks = oldTaskSubscriber.getOnNextEvents().get(0).getData(); + TaskList tasks = oldTaskSubscriber.getOnNextEvents().get(0); for (Task task : tasks.tasks.values()) { apiClient.deleteTask(task.getId()).subscribe(new TestSubscriber<>()); } @@ -55,7 +55,7 @@ public class TaskAPITests extends BaseAPITests { randomTasks.add(createRandomTask("7", "reward")); reward1 = randomTasks.get(6); randomTasks.add(createRandomTask("8", "reward")); - TestSubscriber>> testSubscriber = new TestSubscriber<>(); + TestSubscriber> testSubscriber = new TestSubscriber<>(); apiClient.createTasks(randomTasks).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); @@ -74,43 +74,43 @@ public class TaskAPITests extends BaseAPITests { @Test public void shouldLoadAllTasksFromServer() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.getTasks().subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); - TaskList taskList = testSubscriber.getOnNextEvents().get(0).getData(); + TaskList taskList = testSubscriber.getOnNextEvents().get(0); assertEquals(8, taskList.tasks.size()); } @Test public void shouldBeAbleToScoreTaskUp() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.postTaskDirection(habit1.getId(), "up").subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); - TaskDirectionData data = testSubscriber.getOnNextEvents().get(0).getData(); + TaskDirectionData data = testSubscriber.getOnNextEvents().get(0); assertTrue(data.getDelta() > 0); } @Test public void shouldBeAbleToScoreTaskDown() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.postTaskDirection(habit1.getId(), "down").subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); - TaskDirectionData data = testSubscriber.getOnNextEvents().get(0).getData(); + TaskDirectionData data = testSubscriber.getOnNextEvents().get(0); assertTrue(data.getDelta() < 0); } @Test public void shouldBeAbleToDeleteATask() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.deleteTask(habit1.getId()).subscribe(testSubscriber); testSubscriber.assertCompleted(); testSubscriber.assertNoErrors(); - TestSubscriber> newTaskListSubscriber = new TestSubscriber<>(); + TestSubscriber newTaskListSubscriber = new TestSubscriber<>(); apiClient.getTasks().subscribe(newTaskListSubscriber); - TaskList taskList = newTaskListSubscriber.getOnNextEvents().get(0).getData(); + TaskList taskList = newTaskListSubscriber.getOnNextEvents().get(0); assertEquals(7, taskList.tasks.size()); } diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/UserAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/UserAPITests.java index 89ed0bec7..939fdc2d4 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/UserAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/UserAPITests.java @@ -26,7 +26,7 @@ public class UserAPITests extends BaseAPITests { @Test public void shouldLoadUserFromServer() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.getUser().subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); @@ -35,7 +35,7 @@ public class UserAPITests extends BaseAPITests { @Test public void shouldLoadCompleteUserFromServer() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.retrieveUser(true).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); @@ -46,13 +46,13 @@ public class UserAPITests extends BaseAPITests { public void shouldRegisterNewUser() { hostConfig.setUser(""); hostConfig.setApi(""); - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); username = UUID.randomUUID().toString(); apiClient.registerUser(username, username+"@example.com", password, password) .subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); - UserAuthResponse response = testSubscriber.getOnNextEvents().get(0).getData(); + UserAuthResponse response = testSubscriber.getOnNextEvents().get(0); assertNotSame(hostConfig.getUser(), response.getId()); assertNotSame(hostConfig.getApi(), response.getApiToken() != null ? response.getApiToken() : response.getToken()); @@ -60,11 +60,11 @@ public class UserAPITests extends BaseAPITests { @Test public void shouldLoginExistingUser() { - TestSubscriber> testSubscriber = new TestSubscriber<>(); + TestSubscriber testSubscriber = new TestSubscriber<>(); apiClient.connectUser(username, password).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); - UserAuthResponse response = testSubscriber.getOnNextEvents().get(0).getData(); + UserAuthResponse response = testSubscriber.getOnNextEvents().get(0); assertEquals(hostConfig.getUser(), response.getId()); assertEquals(hostConfig.getApi(), response.getApiToken() != null ? response.getApiToken() : response.getToken()); } diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManagerTest.java b/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManagerTest.java index d1d732fd4..488970f81 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManagerTest.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManagerTest.java @@ -1,13 +1,11 @@ package com.habitrpg.android.habitica.helpers; -import android.app.Activity; -import android.app.AlertDialog; -import android.os.Build; - -import com.magicmicky.habitrpgwrapper.lib.api.ApiClient; +import com.habitrpg.android.habitica.ApiClientImpl; import com.habitrpg.android.habitica.BuildConfig; import com.habitrpg.android.habitica.HabiticaApplication; import com.habitrpg.android.habitica.HostConfig; +import com.habitrpg.android.habitica.proxy.impl.EmptyCrashlyticsProxy; +import com.magicmicky.habitrpgwrapper.lib.api.ApiClient; import com.magicmicky.habitrpgwrapper.lib.models.Notification; import com.magicmicky.habitrpgwrapper.lib.models.notifications.NotificationData; @@ -21,10 +19,14 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.shadows.ShadowApplication; +import android.app.Activity; +import android.app.AlertDialog; +import android.content.Context; +import android.os.Build; + import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -52,13 +54,13 @@ public class PopupNotificationsManagerTest { "", ""); - apiClient = new ApiClient(ApiClient.createGsonFactory(), hostConfig); + apiClient = new ApiClientImpl(ApiClientImpl.createGsonFactory(), hostConfig, new EmptyCrashlyticsProxy(), context); } @Test public void itDoesNothingWhenNotificationsListIsEmpty() { List notifications = new ArrayList<>(); - PopupNotificationsManager popupNotificationsManager = PopupNotificationsManager.getInstance(apiClient); + PopupNotificationsManager popupNotificationsManager = PopupNotificationsManager.getInstance(apiClient, context); popupNotificationsManager.showNotificationDialog(notifications); AlertDialog alert = diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/UserStatComputerTest.java b/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/UserStatComputerTest.java index 9e77d9aca..146b62a56 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/UserStatComputerTest.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/UserStatComputerTest.java @@ -3,9 +3,7 @@ package com.habitrpg.android.habitica.helpers; import com.habitrpg.android.habitica.R; import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import com.magicmicky.habitrpgwrapper.lib.models.HabitRpgClass; -import com.magicmicky.habitrpgwrapper.lib.models.Preferences; import com.magicmicky.habitrpgwrapper.lib.models.Stats; -import com.magicmicky.habitrpgwrapper.lib.models.inventory.Item; import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData; import junit.framework.Assert; @@ -14,7 +12,6 @@ import org.junit.Test; import java.util.ArrayList; import java.util.List; -import java.util.StringJoiner; /** * Created by Keith Holliday on 3/31/2017. @@ -29,10 +26,10 @@ public class UserStatComputerTest { private String key; private String text; - int str = 1; - int intStat = 2; - int per = 3; - int con = 4; + private int str = 1; + private int intStat = 2; + private int per = 3; + private int con = 4; public UserStatComputerTest () { userStatComputer = new UserStatComputer();