/** * Test map method of Importer */ @SuppressWarnings({ "unchecked", "rawtypes" }) @Test public void testKeyValueImporter() throws Exception { KeyValueImporter importer = new KeyValueImporter(); Configuration configuration = new Configuration(); Context ctx = mock(Context.class); when(ctx.getConfiguration()).thenReturn(configuration); doAnswer(new Answer<Void>() { @Override public Void answer(InvocationOnMock invocation) throws Throwable { ImmutableBytesWritable writer = (ImmutableBytesWritable) invocation.getArguments()[0]; KeyValue key = (KeyValue) invocation.getArguments()[1]; assertEquals("Key", Bytes.toString(writer.get())); assertEquals("row", Bytes.toString(key.getRow())); return null; } }).when(ctx).write(any(ImmutableBytesWritable.class), any(KeyValue.class)); importer.setup(ctx); Result value = mock(Result.class); KeyValue[] keys = { new KeyValue(Bytes.toBytes("row"), Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value")), new KeyValue(Bytes.toBytes("row"), Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value1")) }; when(value.rawCells()).thenReturn(keys); importer.map(new ImmutableBytesWritable(Bytes.toBytes("Key")), value, ctx); }