- javaClass.getResourceAsStream(resource)?.use { input ->
- ByteArrayOutputStream().use {
- ByteStreams.copy(input, it)
- it
- }.toByteArray()
- } ?: ByteArray(0)
+ javaClass.getResourceAsStream(resource)?.use { input ->
+ ByteArrayOutputStream().use {
+ input.copyTo(it)
+ it
+ }.toByteArray()
+ } ?: ByteArray(0)
+
+ @get:Rule
+ val silencedLoggin = silencedLogging()
+
+}
+
+private fun runWithCallback(requestUri: String, ticker: Ticker = createTicker(), callbackAction: (elementLoader: ElementLoader, linkedElement: LinkedElement, callback: BackgroundFetchCallback, fetchedUris: List<FreenetURI>) -> Unit) {
+ val fetchedUris = mutableListOf<FreenetURI>()
+ val callback = AtomicReference<BackgroundFetchCallback>()
+ val freenetInterface = overrideStartFetch { uri, backgroundFetchCallback ->
+ fetchedUris += uri
+ callback.set(backgroundFetchCallback)
+ }
+ val elementLoader = DefaultElementLoader(freenetInterface, ticker)
+ val linkedElement = elementLoader.loadElement(requestUri)
+ callbackAction(elementLoader, linkedElement, callback.get(), fetchedUris)
+}