@Test public void registeringAnActiveUskWillSubscribeToItCorrectly() { FreenetURI freenetUri = createRandom(randomSource, "test-0").getURI().uskForSSK(); final USKCallback uskCallback = mock(USKCallback.class); freenetInterface.registerActiveUsk(freenetUri, uskCallback); verify(uskManager).subscribe(any(USK.class), eq(uskCallback), eq(true), any(RequestClient.class)); }
@Test public void registeringAnInactiveUskWillSubscribeToItCorrectly() { FreenetURI freenetUri = createRandom(randomSource, "test-0").getURI().uskForSSK(); final USKCallback uskCallback = mock(USKCallback.class); freenetInterface.registerPassiveUsk(freenetUri, uskCallback); verify(uskManager).subscribe(any(USK.class), eq(uskCallback), eq(false), any(RequestClient.class)); }
@Test public void callbackForNormalUskForwardsImportantParameters() throws MalformedURLException { Callback callback = mock(Callback.class); FreenetURI uri = createRandom(randomSource, "test-0").getURI().uskForSSK(); freenetInterface.registerUsk(uri, callback); USK key = mock(USK.class); when(key.getURI()).thenReturn(uri); callbackCaptor.getValue().onFoundEdition(3, key, null, false, (short) 0, null, true, true); verify(callback).editionFound(eq(uri), eq(3L), eq(true), eq(true)); }
@Test public void callbackForNormalUskUsesDifferentPriorities() { Callback callback = mock(Callback.class); FreenetURI soneUri = createRandom(randomSource, "test-0").getURI().uskForSSK(); freenetInterface.registerUsk(soneUri, callback); assertThat(callbackCaptor.getValue().getPollingPriorityNormal(), is(PREFETCH_PRIORITY_CLASS)); assertThat(callbackCaptor.getValue().getPollingPriorityProgress(), is(INTERACTIVE_PRIORITY_CLASS)); }
@Test public void unregisteringANotRegisteredUskDoesNothing() { FreenetURI freenetURI = createRandom(randomSource, "test-0").getURI().uskForSSK(); freenetInterface.unregisterUsk(freenetURI); verify(uskManager, never()).unsubscribe(any(USK.class), any(USKCallback.class)); }
@Test public void registeringAUsk() { FreenetURI freenetUri = createRandom(randomSource, "test-0").getURI().uskForSSK(); Callback callback = mock(Callback.class); freenetInterface.registerUsk(freenetUri, callback); verify(uskManager).subscribe(any(USK.class), any(USKCallback.class), anyBoolean(), eq((RequestClient) highLevelSimpleClient)); }
@Test public void unregisteringARegisteredUsk() { FreenetURI freenetURI = createRandom(randomSource, "test-0").getURI().uskForSSK(); Callback callback = mock(Callback.class); freenetInterface.registerUsk(freenetURI, callback); freenetInterface.unregisterUsk(freenetURI); verify(uskManager).unsubscribe(any(USK.class), any(USKCallback.class)); }
@Before public void setupSone() { InsertableClientSSK insertSsk = createRandom(randomSource, "test-0"); when(sone.getId()).thenReturn(Base64.encode(insertSsk.getURI().getRoutingKey())); when(sone.getRequestUri()).thenReturn(insertSsk.getURI().uskForSSK()); }
@Test public void returnedUriHasCorrectDocNameAndMetaStrings() { FreenetURI uri = createRandom(new DummyRandomSource(), "test-0").getURI().uskForSSK(); assertThat(create(uri.toString()).getDocName(), is("Sone")); assertThat(create(uri.toString()).getAllMetaStrings(), is(new String[0])); }
newURI = issk.getURI(); if(originalURI.isUSK()) { newURI = newURI.uskForSSK(); newURI = newURI.setSuggestedEdition(originalURI.getSuggestedEdition());
public void checkUSK(FreenetURI uri, boolean persistent, boolean isMetadata) { try { FreenetURI uu; if(uri.isSSK() && uri.isSSKForUSK()) { uu = uri.setMetaString(null).uskForSSK(); } else if(uri.isUSK()) { uu = uri; } else { return; } USK usk = USK.create(uu); if(!isMetadata) context.uskManager.updateKnownGood(usk, uu.getSuggestedEdition(), context); else // We don't know whether the metadata is fetchable. // FIXME add a callback so if the rest of the request completes we updateKnownGood(). context.uskManager.updateSlot(usk, uu.getSuggestedEdition(), context); } catch (MalformedURLException e) { Logger.error(this, "Caught "+e, e); } catch (Throwable t) { // Don't let the USK hint cause us to not succeed on the block. Logger.error(this, "Caught "+t, t); } } }