Search in sources :

Example 6 with GcsUtil

use of org.apache.beam.sdk.util.GcsUtil in project beam by apache.

the class MinimalWordCountJava8Test method buildMockGcsUtil.

private GcsUtil buildMockGcsUtil() throws IOException {
    GcsUtil mockGcsUtil = Mockito.mock(GcsUtil.class);
    // Any request to open gets a new bogus channel
    Mockito.when(mockGcsUtil.open(Mockito.any(GcsPath.class))).then(new Answer<SeekableByteChannel>() {

        @Override
        public SeekableByteChannel answer(InvocationOnMock invocation) throws Throwable {
            return FileChannel.open(Files.createTempFile("channel-", ".tmp"), StandardOpenOption.CREATE, StandardOpenOption.DELETE_ON_CLOSE);
        }
    });
    // Any request for expansion returns a list containing the original GcsPath
    // This is required to pass validation that occurs in TextIO during apply()
    Mockito.when(mockGcsUtil.expand(Mockito.any(GcsPath.class))).then(new Answer<List<GcsPath>>() {

        @Override
        public List<GcsPath> answer(InvocationOnMock invocation) throws Throwable {
            return ImmutableList.of((GcsPath) invocation.getArguments()[0]);
        }
    });
    return mockGcsUtil;
}
Also used : SeekableByteChannel(java.nio.channels.SeekableByteChannel) InvocationOnMock(org.mockito.invocation.InvocationOnMock) GcsPath(org.apache.beam.sdk.util.gcsfs.GcsPath) ImmutableList(com.google.common.collect.ImmutableList) List(java.util.List) GcsUtil(org.apache.beam.sdk.util.GcsUtil)

Aggregations

GcsUtil (org.apache.beam.sdk.util.GcsUtil)6 GcsPath (org.apache.beam.sdk.util.gcsfs.GcsPath)6 ImmutableList (com.google.common.collect.ImmutableList)5 List (java.util.List)5 InvocationOnMock (org.mockito.invocation.InvocationOnMock)5 SeekableByteChannel (java.nio.channels.SeekableByteChannel)3 LinkedList (java.util.LinkedList)3 ArrayList (java.util.ArrayList)2 DataflowPipelineOptions (org.apache.beam.runners.dataflow.options.DataflowPipelineOptions)2 TestCredential (org.apache.beam.sdk.extensions.gcp.auth.TestCredential)2 TupleTagList (org.apache.beam.sdk.values.TupleTagList)2 File (java.io.File)1 URI (java.net.URI)1 HashSet (java.util.HashSet)1 Structs.getString (org.apache.beam.runners.dataflow.util.Structs.getString)1