2018-10-29 17:19:37 +08:00
|
|
|
/*
|
2019-01-02 18:55:26 +08:00
|
|
|
* Copyright (C) 2015-2019 Lightbend Inc. <https://www.lightbend.com>
|
2015-07-12 23:04:26 -04:00
|
|
|
*/
|
2018-03-13 23:45:55 +09:00
|
|
|
|
2015-07-12 23:04:26 -04:00
|
|
|
package akka.stream.io;
|
|
|
|
|
|
|
|
|
|
import akka.japi.Pair;
|
|
|
|
|
import akka.stream.StreamTest;
|
2016-05-30 12:54:27 +02:00
|
|
|
import akka.testkit.AkkaJUnitActorSystemResource;
|
2015-07-12 23:04:26 -04:00
|
|
|
import akka.stream.javadsl.Sink;
|
|
|
|
|
import akka.stream.javadsl.Source;
|
2015-12-08 18:47:58 +01:00
|
|
|
import akka.stream.javadsl.StreamConverters;
|
2016-02-25 14:27:45 +01:00
|
|
|
import akka.testkit.AkkaSpec;
|
2015-07-12 23:04:26 -04:00
|
|
|
import akka.stream.testkit.Utils;
|
|
|
|
|
import akka.util.ByteString;
|
|
|
|
|
import org.junit.ClassRule;
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
import scala.concurrent.Future;
|
|
|
|
|
import scala.concurrent.duration.FiniteDuration;
|
|
|
|
|
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
|
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
|
|
2019-01-12 04:00:53 +08:00
|
|
|
public class InputStreamSinkTest extends StreamTest {
|
|
|
|
|
public InputStreamSinkTest() {
|
|
|
|
|
super(actorSystemResource);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ClassRule
|
|
|
|
|
public static AkkaJUnitActorSystemResource actorSystemResource =
|
|
|
|
|
new AkkaJUnitActorSystemResource("InputStreamSink", Utils.UnboundedMailboxConfig());
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void mustReadEventViaInputStream() throws Exception {
|
|
|
|
|
final FiniteDuration timeout = FiniteDuration.create(300, TimeUnit.MILLISECONDS);
|
|
|
|
|
|
|
|
|
|
final Sink<ByteString, InputStream> sink = StreamConverters.asInputStream(timeout);
|
|
|
|
|
final List<ByteString> list = Collections.singletonList(ByteString.fromString("a"));
|
|
|
|
|
final InputStream stream = Source.from(list).runWith(sink, materializer);
|
|
|
|
|
|
|
|
|
|
byte[] a = new byte[1];
|
|
|
|
|
stream.read(a);
|
|
|
|
|
assertTrue(Arrays.equals("a".getBytes(), a));
|
|
|
|
|
}
|
2015-07-12 23:04:26 -04:00
|
|
|
}
|