diff --git a/speech/src/test/java/com/example/speech/InfiniteStreamRecognizeIT.java b/speech/src/test/java/com/example/speech/InfiniteStreamRecognizeIT.java new file mode 100644 index 00000000000..3aa385d1c47 --- /dev/null +++ b/speech/src/test/java/com/example/speech/InfiniteStreamRecognizeIT.java @@ -0,0 +1,59 @@ +package com.example.speech; + +import static com.google.common.truth.Truth.assertThat; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import com.google.api.gax.rpc.ClientStream; +import com.google.api.gax.rpc.ResponseObserver; +import com.google.api.gax.rpc.StreamController; +import com.google.cloud.speech.v1p1beta1.RecognitionConfig; +import com.google.cloud.speech.v1p1beta1.SpeechClient; +import com.google.cloud.speech.v1p1beta1.SpeechRecognitionAlternative; +import com.google.cloud.speech.v1p1beta1.StreamingRecognitionConfig; +import com.google.cloud.speech.v1p1beta1.StreamingRecognitionResult; +import com.google.cloud.speech.v1p1beta1.StreamingRecognizeRequest; +import com.google.cloud.speech.v1p1beta1.StreamingRecognizeResponse; +import com.google.protobuf.ByteString; +import com.google.protobuf.Duration; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.TimeUnit; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.DataLine.Info; +import javax.sound.sampled.TargetDataLine; + +@RunWith(JUnit4.class) +@SuppressWarnings("checkstyle:abbreviationaswordinname") +public class InfiniteStreamRecognizeIT { + private String langCode = "--langCode=en-US"; + private final ByteArrayOutputStream stdout = new ByteArrayOutputStream(); + private final ByteArrayOutputStream stderr = new ByteArrayOutputStream(); + private PrintStream originalStdout = System.out; + private PrintStream originalStderr = System.err; + + @Before + public void setUp() { + System.setOut(new PrintStream(stdout)); + System.setErr(new PrintStream(stderr)); + } + + @After + public void tearDown() { + System.setOut(originalStdout); + System.setErr(originalStderr); + } + + @Test + public void testInfiniteStreamRecognize() throws Exception { + InfiniteStreamRecognize.main(langCode); + assertThat(stdout.toString()).contains("Start speaking"); + } +} \ No newline at end of file