From 1cd71a1c2a94f889d63d6ec3168d76da0a8b116b Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Sun, 13 Nov 2016 09:41:13 +0100 Subject: [PATCH] Treat cancelled fetch request as failure --- src/main/java/net/pterodactylus/sone/core/FreenetInterface.java | 6 +++++- src/test/java/net/pterodactylus/sone/core/FreenetInterfaceTest.java | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java index 48df732..82cc94b 100644 --- a/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java +++ b/src/main/java/net/pterodactylus/sone/core/FreenetInterface.java @@ -178,7 +178,11 @@ public class FreenetInterface { @Override public boolean snoopMetadata(Metadata meta, ClientContext context) { String mimeType = meta.getMIMEType(); - return (mimeType == null) || backgroundFetchCallback.cancelForMimeType(uri, mimeType); + boolean cancel = (mimeType == null) || backgroundFetchCallback.cancelForMimeType(uri, mimeType); + if (cancel) { + backgroundFetchCallback.failed(uri); + } + return cancel; } }; FetchContext fetchContext = client.getFetchContext(); diff --git a/src/test/java/net/pterodactylus/sone/core/FreenetInterfaceTest.java b/src/test/java/net/pterodactylus/sone/core/FreenetInterfaceTest.java index 195876f..cf69136 100644 --- a/src/test/java/net/pterodactylus/sone/core/FreenetInterfaceTest.java +++ b/src/test/java/net/pterodactylus/sone/core/FreenetInterfaceTest.java @@ -440,27 +440,32 @@ public class FreenetInterfaceTest { @Test public void requestIsNotCancelledForImageMimeType() { verifySnoopCancelsRequestForMimeType("image/png", false); + verify(backgroundFetchCallback, never()).failed(uri); } @Test public void requestIsCancelledForNullMimeType() { verifySnoopCancelsRequestForMimeType(null, true); verify(backgroundFetchCallback, never()).cancelForMimeType(eq(uri), ArgumentMatchers.any()); + verify(backgroundFetchCallback).failed(uri); } @Test public void requestIsCancelledForVideoMimeType() { verifySnoopCancelsRequestForMimeType("video/mkv", true); + verify(backgroundFetchCallback).failed(uri); } @Test public void requestIsCancelledForAudioMimeType() { verifySnoopCancelsRequestForMimeType("audio/mpeg", true); + verify(backgroundFetchCallback).failed(uri); } @Test public void requestIsCancelledForTextMimeType() { verifySnoopCancelsRequestForMimeType("text/plain", true); + verify(backgroundFetchCallback).failed(uri); } private void verifySnoopCancelsRequestForMimeType(String mimeType, boolean cancel) { -- 2.7.4