fix tests

This commit is contained in:
Phillip Thelen 2017-04-07 11:32:28 +02:00
parent 752325a3a0
commit 71d92c8fb4
8 changed files with 54 additions and 49 deletions

View file

@ -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

View file

@ -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<HabitResponse<UserAuthResponse>> testSubscriber = new TestSubscriber<>();
TestSubscriber<UserAuthResponse> 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<HabitResponse<HabitRPGUser>> userSubscriber = new TestSubscriber<>();
TestSubscriber<HabitRPGUser> 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;
}

View file

@ -37,11 +37,11 @@ public class SocialAPITests extends BaseAPITests {
public void postMessage(String groupID, String messageSuffix) {
HashMap<String, String> messageObject = new HashMap<>();
messageObject.put("message", "Foo Bar"+messageSuffix);
TestSubscriber<HabitResponse<PostChatMessageResult>> testSubscriber = new TestSubscriber<>();
TestSubscriber<PostChatMessageResult> 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<HabitResponse<Group>> testSubscriber = new TestSubscriber<>();
TestSubscriber<Group> 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<HabitResponse<List<ChatMessage>>> testSubscriber = new TestSubscriber<>();
TestSubscriber<List<ChatMessage>> 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<HabitResponse<Void>> testSubscriber = new TestSubscriber<>();
TestSubscriber<Void> testSubscriber = new TestSubscriber<>();
for (String messageID : this.messagesIDs) {
apiClient.deleteMessage("habitrpg", messageID)
.subscribe(testSubscriber);

View file

@ -23,7 +23,7 @@ public class TagAPITests extends BaseAPITests {
@Test
public void shouldCreateTag() {
TestSubscriber<HabitResponse<Tag>> testSubscriber = new TestSubscriber<>();
TestSubscriber<Tag> 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<HabitResponse<Tag>> testSubscriber = new TestSubscriber<>();
TestSubscriber<Tag> 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<HabitResponse<Void>> testSub = new TestSubscriber<>();
TestSubscriber<Void> testSub = new TestSubscriber<>();
String testId = getUser().getTags().get(0).getId();
apiClient.deleteTag(testId).subscribe(testSub);

View file

@ -35,9 +35,9 @@ public class TaskAPITests extends BaseAPITests {
@Override
public void setUp() {
super.setUp();
TestSubscriber<HabitResponse<TaskList>> oldTaskSubscriber = new TestSubscriber<>();
TestSubscriber<TaskList> 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<HabitResponse<List<Task>>> testSubscriber = new TestSubscriber<>();
TestSubscriber<List<Task>> 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<HabitResponse<TaskList>> testSubscriber = new TestSubscriber<>();
TestSubscriber<TaskList> 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<HabitResponse<TaskDirectionData>> testSubscriber = new TestSubscriber<>();
TestSubscriber<TaskDirectionData> 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<HabitResponse<TaskDirectionData>> testSubscriber = new TestSubscriber<>();
TestSubscriber<TaskDirectionData> 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<HabitResponse<Void>> testSubscriber = new TestSubscriber<>();
TestSubscriber<Void> testSubscriber = new TestSubscriber<>();
apiClient.deleteTask(habit1.getId()).subscribe(testSubscriber);
testSubscriber.assertCompleted();
testSubscriber.assertNoErrors();
TestSubscriber<HabitResponse<TaskList>> newTaskListSubscriber = new TestSubscriber<>();
TestSubscriber<TaskList> 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());
}

View file

@ -26,7 +26,7 @@ public class UserAPITests extends BaseAPITests {
@Test
public void shouldLoadUserFromServer() {
TestSubscriber<HabitResponse<HabitRPGUser>> testSubscriber = new TestSubscriber<>();
TestSubscriber<HabitRPGUser> 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<HabitResponse<HabitRPGUser>> testSubscriber = new TestSubscriber<>();
TestSubscriber<HabitRPGUser> 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<HabitResponse<UserAuthResponse>> testSubscriber = new TestSubscriber<>();
TestSubscriber<UserAuthResponse> 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<HabitResponse<UserAuthResponse>> testSubscriber = new TestSubscriber<>();
TestSubscriber<UserAuthResponse> 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());
}

View file

@ -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<Notification> notifications = new ArrayList<>();
PopupNotificationsManager popupNotificationsManager = PopupNotificationsManager.getInstance(apiClient);
PopupNotificationsManager popupNotificationsManager = PopupNotificationsManager.getInstance(apiClient, context);
popupNotificationsManager.showNotificationDialog(notifications);
AlertDialog alert =

View file

@ -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();