Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordesperateCoder <echotodevnull@gmail.com>2022-07-01 13:21:54 +0300
committerdesperateCoder <echotodevnull@gmail.com>2022-07-01 13:21:54 +0300
commit47a04a0534bf45d1db7dc1179cdf27cdee6557f5 (patch)
tree024c456b69281b824951a48f9c53f17469c53986
parentad8e11512cc58c5e4175f0678263f84213075138 (diff)
#1295 handle unreachable host as offlineexception
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java4
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandlerTest.java7
2 files changed, 9 insertions, 2 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java
index 7d8516174..307aab734 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandler.java
@@ -14,8 +14,8 @@ import it.niedermann.nextcloud.deck.exceptions.OfflineException;
public class ServerCommunicationErrorHandler {
private static final Handler[] handlers = new Handler[]{
- new Handler(UnknownErrorException.class, Arrays.asList("econnrefused", "connection refused"), OfflineException.Reason.CONNECTION_REFUSED),
- new Handler(UnknownErrorException.class, Arrays.asList("Unable to resolve host", "No address associated with hostname"), OfflineException.Reason.CONNECTION_REFUSED),
+ new Handler(UnknownErrorException.class, Arrays.asList("econnrefused", "unable to resolve host",
+ "connection refused", "no address associated with hostname"), OfflineException.Reason.CONNECTION_REFUSED),
new Handler(ClassNotFoundException.class, Collections.singletonList("connecttimeoutexception"), OfflineException.Reason.CONNECTION_TIMEOUT)
};
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandlerTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandlerTest.java
index aa7ca0837..147749056 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandlerTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/api/ServerCommunicationErrorHandlerTest.java
@@ -21,6 +21,13 @@ public class ServerCommunicationErrorHandlerTest {
}
@Test
+ public void shouldMap_UnknownErrorExceptions_To_OfflineExceptions_ForHostUnreachable() {
+ final var result = ServerCommunicationErrorHandler.translateError(new UnknownErrorException("Unable to resolve host \"nextcloud-prod.fritz.box\": No address associated with hostname"));
+ assertEquals(OfflineException.class, result.getClass());
+ assertEquals(OfflineException.Reason.CONNECTION_REFUSED, ((OfflineException) result).getReason());
+ }
+
+ @Test
public void shouldMap_ClassNotFoundExceptions_To_OfflineExceptions_ForConnectionRefused() {
final var result = ServerCommunicationErrorHandler.translateError(new ClassNotFoundException("java.lang.ClassNotFoundException: org.apache.commons.httpclient.ConnectTimeoutException"));
assertEquals(OfflineException.class, result.getClass());