private static Dataflow buildMockDataflow(ArgumentMatcher<Job> jobMatcher) throws IOException { Dataflow mockDataflowClient = mock(Dataflow.class); Dataflow.Projects mockProjects = mock(Dataflow.Projects.class); Dataflow.Projects.Jobs mockJobs = mock(Dataflow.Projects.Jobs.class); Dataflow.Projects.Jobs.Create mockRequest = mock(Dataflow.Projects.Jobs.Create.class); when(mockDataflowClient.projects()).thenReturn(mockProjects); when(mockProjects.jobs()).thenReturn(mockJobs); when(mockJobs.create(eq("someProject"), argThat(jobMatcher))).thenReturn(mockRequest); Job resultJob = new Job(); resultJob.setId("newid"); when(mockRequest.execute()).thenReturn(resultJob); return mockDataflowClient; }