@Test
public void testGetKeyMappingsFromSchemaFields() {
Schema schema = new Schema.Parser().parse("{" +
" \"type\": \"record\"," +
" \"name\": \"User\"," +
" \"fields\": [" +
" {\"name\": \"id\", \"type\": \"long\", \"mapping\":" +
" {\"type\": \"key\", \"value\": \"1\"} }," +
" {\"name\": \"username\", \"type\": \"string\", \"mapping\":" +
" {\"type\": \"key\", \"value\": \"0\"} }," +
" {\"name\": \"real_name\", \"type\": \"string\", \"mapping\":" +
" {\"type\": \"column\", \"value\": \"m:name\"} }" +
" ]" +
"}");
Map<Integer, FieldMapping> keys = ColumnMappingParser
.parseKeyMappingsFromSchemaFields(schema);
ImmutableMap expected = ImmutableMap.builder()
.put(0, FieldMapping.key("username"))
.put(1, FieldMapping.key("id"))
.build();
Assert.assertEquals(expected, keys);
}