X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FUpdateCheckerTest.java;h=a5e3b2a9c8f58a18995c4a8a3fb52688326c7c8a;hb=f229fe41f708d2b275c20ceb9aba5993761218a3;hp=fb2b9f23bf8c13a521619d898796b319e18b7f9f;hpb=3315406de10fcb2dd3a88cb4d664a9af814421f9;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/core/UpdateCheckerTest.java b/src/test/java/net/pterodactylus/sone/core/UpdateCheckerTest.java index fb2b9f2..a5e3b2a 100644 --- a/src/test/java/net/pterodactylus/sone/core/UpdateCheckerTest.java +++ b/src/test/java/net/pterodactylus/sone/core/UpdateCheckerTest.java @@ -20,13 +20,13 @@ import java.io.InputStream; import net.pterodactylus.sone.core.FreenetInterface.Callback; import net.pterodactylus.sone.core.FreenetInterface.Fetched; import net.pterodactylus.sone.core.event.UpdateFoundEvent; -import net.pterodactylus.sone.freenet.StringBucket; import net.pterodactylus.util.version.Version; import freenet.client.ClientMetadata; import freenet.client.FetchResult; import freenet.keys.FreenetURI; import freenet.support.api.Bucket; +import freenet.support.io.ArrayBucket; import com.google.common.eventbus.EventBus; import org.junit.Before; @@ -93,13 +93,14 @@ public class UpdateCheckerTest { assertThat(updateFoundEvent.getValue().releaseTime(), is(11865368297000L)); assertThat(updateChecker.getLatestVersion(), is(new Version(99, 0, 0))); assertThat(updateChecker.getLatestVersionDate(), is(11865368297000L)); + assertThat(updateChecker.hasLatestVersion(), is(true)); } private FetchResult createFutureFetchResult() { ClientMetadata clientMetadata = new ClientMetadata("application/xml"); - Bucket fetched = new StringBucket("# MapConfigurationBackendVersion=1\n" + + Bucket fetched = new ArrayBucket(("# MapConfigurationBackendVersion=1\n" + "CurrentVersion/Version: 99.0.0\n" + - "CurrentVersion/ReleaseTime: 11865368297000"); + "CurrentVersion/ReleaseTime: 11865368297000").getBytes()); return new FetchResult(clientMetadata, fetched); } @@ -123,9 +124,9 @@ public class UpdateCheckerTest { private FetchResult createPastFetchResult() { ClientMetadata clientMetadata = new ClientMetadata("application/xml"); - Bucket fetched = new StringBucket("# MapConfigurationBackendVersion=1\n" + + Bucket fetched = new ArrayBucket(("# MapConfigurationBackendVersion=1\n" + "CurrentVersion/Version: 0.2\n" + - "CurrentVersion/ReleaseTime: 1289417883000"); + "CurrentVersion/ReleaseTime: 1289417883000").getBytes()); return new FetchResult(clientMetadata, fetched); } @@ -139,7 +140,7 @@ public class UpdateCheckerTest { private FetchResult createInvalidFetchResult() { ClientMetadata clientMetadata = new ClientMetadata("text/plain"); - Bucket fetched = new StringBucket("Some other data."); + Bucket fetched = new ArrayBucket("Some other data.".getBytes()); return new FetchResult(clientMetadata, fetched); } @@ -168,7 +169,7 @@ public class UpdateCheckerTest { private FetchResult createBrokenBucketFetchResult() { ClientMetadata clientMetadata = new ClientMetadata("text/plain"); - Bucket fetched = new StringBucket("Some other data.") { + Bucket fetched = new ArrayBucket("Some other data.".getBytes()) { @Override public InputStream getInputStream() { try { @@ -192,9 +193,40 @@ public class UpdateCheckerTest { private FetchResult createInvalidTimeFetchResult() { ClientMetadata clientMetadata = new ClientMetadata("application/xml"); - Bucket fetched = new StringBucket("# MapConfigurationBackendVersion=1\n" + + Bucket fetched = new ArrayBucket(("# MapConfigurationBackendVersion=1\n" + "CurrentVersion/Version: 0.2\n" + - "CurrentVersion/ReleaseTime: invalid"); + "CurrentVersion/ReleaseTime: invalid").getBytes()); + return new FetchResult(clientMetadata, fetched); + } + + @Test + public void invalidPropertiesDoesNotCauseAnUpdateToBeFound() { + setupFetchResult(createMissingTimeFetchResult()); + setupCallbackWithEdition(MAX_VALUE, true, false); + verifyAFreenetUriIsFetched(); + verifyNoUpdateFoundEventIsFired(); + } + + private FetchResult createMissingTimeFetchResult() { + ClientMetadata clientMetadata = new ClientMetadata("application/xml"); + Bucket fetched = new ArrayBucket(("# MapConfigurationBackendVersion=1\n" + + "CurrentVersion/Version: 0.2\n").getBytes()); + return new FetchResult(clientMetadata, fetched); + } + + @Test + public void invalidVersionDoesNotCauseAnUpdateToBeFound() { + setupFetchResult(createInvalidVersionFetchResult()); + setupCallbackWithEdition(MAX_VALUE, true, false); + verifyAFreenetUriIsFetched(); + verifyNoUpdateFoundEventIsFired(); + } + + private FetchResult createInvalidVersionFetchResult() { + ClientMetadata clientMetadata = new ClientMetadata("application/xml"); + Bucket fetched = new ArrayBucket(("# MapConfigurationBackendVersion=1\n" + + "CurrentVersion/Version: foo\n" + + "CurrentVersion/ReleaseTime: 1289417883000").getBytes()); return new FetchResult(clientMetadata, fetched); }