@Test public void testWrite() throws ExecutionException, InterruptedException { String singleton = "singleton"; Writer<Object> singletonWriter = new SingletonWriter<>(singleton); EntityStream<Object> singletonStream = EntityStreams.newEntityStream(singletonWriter); CollectingReader<Object, ?, Set<Object>> reader = new CollectingReader<>(Collectors.toSet()); singletonStream.setReader(reader); Assert.assertEquals(reader.getResult().toCompletableFuture().get(), Collections.singleton(singleton)); } }
@Override public void get(CompoundKey key, @CallbackParam Callback<UnstructuredDataReactiveResult> callback) { Writer<ByteString> writer = new SingletonWriter<>(ByteString.copy(UNSTRUCTURED_DATA_BYTES)); callback.onSuccess(new UnstructuredDataReactiveResult(EntityStreams.newEntityStream(writer), MIME_TYPE)); }
@Override public void get(@CallbackParam Callback<UnstructuredDataReactiveResult> callback) { Writer<ByteString> writer = new SingletonWriter<>(ByteString.copy(UNSTRUCTURED_DATA_BYTES)); callback.onSuccess(new UnstructuredDataReactiveResult(EntityStreams.newEntityStream(writer), MIME_TYPE)); }
/** * Choose a writer based on the test key */ private Writer<ByteString> chooseGreetingWriter(String key) { switch (key) { case "good": case "goodNullContentType": return new SingletonWriter<>(ByteString.copy(UNSTRUCTURED_DATA_BYTES)); case "goodMultiWrites": return new ChunkedByteStringWriter(UNSTRUCTURED_DATA_BYTES, 2); case "goodInline": getContext().setResponseHeader(HEADER_CONTENT_DISPOSITION, CONTENT_DISPOSITION_VALUE); return new SingletonWriter<>(ByteString.copy(UNSTRUCTURED_DATA_BYTES)); case "bad": return new BadWriter(); case "exception": throw new RestLiServiceException(HttpStatus.S_500_INTERNAL_SERVER_ERROR, "internal service exception"); default: throw new RestLiServiceException(HttpStatus.S_503_SERVICE_UNAVAILABLE, "unexpected unstructured data key, something wrong with the test."); } }