@Test public void testConfigureShimNotMapR() throws Exception { String[] vars = new String[] {"var1", "var2", "var3", "var4"}; String[] vals = new String[] {"hdfsHost", "hdfsPort", "jobTrackerHost", "jobTrackerPort"}; int i = 0; when(namedCluster.getHdfsHost()).thenReturn(vars[i++]); when(namedCluster.getHdfsPort()).thenReturn(vars[i++]); when(namedCluster.getJobTrackerHost()).thenReturn(vars[i++]); when(namedCluster.getJobTrackerPort()).thenReturn(vars[i++]); for (i = 0; i < vars.length; i++) { when(namedCluster.environmentSubstitute(vars[i])).thenReturn(vals[i]); } i = 0; final String testVal = "testVal"; doAnswer( new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { ((List<String>) invocation.getArguments()[5]).add(testVal); return null; } }) .when(hadoopShim) .configureConnectionInformation( eq(vals[i++]), eq(vals[i++]), eq(vals[i++]), eq(vals[i++]), eq(configuration), eq(new ArrayList<String>())); sqoopService.configureShim(configuration); i = 0; verify(hadoopShim) .configureConnectionInformation( eq(vals[i++]), eq(vals[i++]), eq(vals[i++]), eq(vals[i++]), eq(configuration), eq(new ArrayList<>(Arrays.asList(testVal)))); }