mirror of
https://github.com/sismics/docs.git
synced 2025-12-13 01:36:18 +00:00
#180: last inbox sync infos
This commit is contained in:
@@ -12,6 +12,7 @@ import com.sismics.docs.core.model.context.AppContext;
|
||||
import com.sismics.docs.core.model.jpa.Config;
|
||||
import com.sismics.docs.core.model.jpa.File;
|
||||
import com.sismics.docs.core.model.jpa.User;
|
||||
import com.sismics.docs.core.service.InboxService;
|
||||
import com.sismics.docs.core.util.ConfigUtil;
|
||||
import com.sismics.docs.core.util.DirectoryUtil;
|
||||
import com.sismics.docs.core.util.jpa.PaginatedList;
|
||||
@@ -21,6 +22,7 @@ import com.sismics.rest.exception.ClientException;
|
||||
import com.sismics.rest.exception.ForbiddenClientException;
|
||||
import com.sismics.rest.exception.ServerException;
|
||||
import com.sismics.rest.util.ValidationUtil;
|
||||
import com.sismics.util.JsonUtil;
|
||||
import com.sismics.util.context.ThreadLocalContext;
|
||||
import com.sismics.util.log4j.LogCriteria;
|
||||
import com.sismics.util.log4j.LogEntry;
|
||||
@@ -358,6 +360,18 @@ public class AppResource extends BaseResource {
|
||||
response.add("tag", tagConfig.getValue());
|
||||
}
|
||||
|
||||
// Informations about the last synchronization
|
||||
InboxService inboxService = AppContext.getInstance().getInboxService();
|
||||
JsonObjectBuilder lastSync = Json.createObjectBuilder();
|
||||
if (inboxService.getLastSyncDate() == null) {
|
||||
lastSync.addNull("date");
|
||||
} else {
|
||||
lastSync.add("date", inboxService.getLastSyncDate().getTime());
|
||||
}
|
||||
lastSync.add("error", JsonUtil.nullable(inboxService.getLastSyncError()));
|
||||
lastSync.add("count", inboxService.getLastSyncMessageCount());
|
||||
response.add("last_sync", lastSync);
|
||||
|
||||
return Response.ok().entity(response.build()).build();
|
||||
}
|
||||
|
||||
|
||||
@@ -249,6 +249,10 @@ public class TestAppResource extends BaseJerseyTest {
|
||||
Assert.assertTrue(json.isNull("username"));
|
||||
Assert.assertTrue(json.isNull("password"));
|
||||
Assert.assertTrue(json.isNull("tag"));
|
||||
JsonObject lastSync = json.getJsonObject("last_sync");
|
||||
Assert.assertTrue(lastSync.isNull("date"));
|
||||
Assert.assertTrue(lastSync.isNull("error"));
|
||||
Assert.assertEquals(0, lastSync.getJsonNumber("count").intValue());
|
||||
|
||||
// Change inbox configuration
|
||||
target().path("/app/config_inbox").request()
|
||||
@@ -299,6 +303,15 @@ public class TestAppResource extends BaseJerseyTest {
|
||||
.get(JsonObject.class);
|
||||
Assert.assertEquals(1, json.getJsonArray("documents").size());
|
||||
|
||||
// Get inbox configuration
|
||||
json = target().path("/app/config_inbox").request()
|
||||
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
|
||||
.get(JsonObject.class);
|
||||
lastSync = json.getJsonObject("last_sync");
|
||||
Assert.assertFalse(lastSync.isNull("date"));
|
||||
Assert.assertTrue(lastSync.isNull("error"));
|
||||
Assert.assertEquals(1, lastSync.getJsonNumber("count").intValue());
|
||||
|
||||
// Trigger an inbox sync
|
||||
AppContext.getInstance().getInboxService().syncInbox();
|
||||
|
||||
@@ -310,6 +323,15 @@ public class TestAppResource extends BaseJerseyTest {
|
||||
.get(JsonObject.class);
|
||||
Assert.assertEquals(1, json.getJsonArray("documents").size());
|
||||
|
||||
// Get inbox configuration
|
||||
json = target().path("/app/config_inbox").request()
|
||||
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
|
||||
.get(JsonObject.class);
|
||||
lastSync = json.getJsonObject("last_sync");
|
||||
Assert.assertFalse(lastSync.isNull("date"));
|
||||
Assert.assertTrue(lastSync.isNull("error"));
|
||||
Assert.assertEquals(0, lastSync.getJsonNumber("count").intValue());
|
||||
|
||||
greenMail.stop();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user