}
@Override
protected void bindSchemas() {
super.bindSchemas();
SchemaInfo schemaInfo = mock(SchemaInfo.class);
TableIdent userTableIdent = new TableIdent(null, "users");
TableInfo userTableInfo = TestingTableInfo.builder(userTableIdent, RowGranularity.DOC, shardRouting)
.add("name", DataTypes.STRING, null)
.add("id", DataTypes.LONG, null)
.add("date", DataTypes.TIMESTAMP, null)
.addPrimaryKey("id")
.clusteredBy("id")
.build();
when(userTableInfo.schemaInfo().name()).thenReturn(DocSchemaInfo.NAME);
TableIdent charactersTableIdent = new TableIdent(null, "characters");
TableInfo charactersTableInfo = TestingTableInfo.builder(charactersTableIdent, RowGranularity.DOC, shardRouting)
.add("name", DataTypes.STRING, null)
.add("id", DataTypes.STRING, null)
.addPrimaryKey("id")
.clusteredBy("id")
.build();
when(charactersTableInfo.schemaInfo().name()).thenReturn(DocSchemaInfo.NAME);
TableIdent partedTableIdent = new TableIdent(null, "parted");
TableInfo partedTableInfo = TestingTableInfo.builder(partedTableIdent, RowGranularity.DOC, partedRouting)
.add("name", DataTypes.STRING, null)
.add("id", DataTypes.STRING, null)
.add("date", DataTypes.TIMESTAMP, null, true)
.addPartitions(
new PartitionName("parted", new ArrayList<BytesRef>(){{add(null);}}).stringValue(),
new PartitionName("parted", Arrays.asList(new BytesRef("0"))).stringValue(),
new PartitionName("parted", Arrays.asList(new BytesRef("123"))).stringValue()
)
.addPrimaryKey("id")
.addPrimaryKey("date")
.clusteredBy("id")
.build();
when(partedTableInfo.schemaInfo().name()).thenReturn(DocSchemaInfo.NAME);
TableIdent emptyPartedTableIdent = new TableIdent(null, "empty_parted");
TableInfo emptyPartedTableInfo = TestingTableInfo.builder(partedTableIdent, RowGranularity.DOC, shardRouting)
.add("name", DataTypes.STRING, null)
.add("id", DataTypes.STRING, null)
.add("date", DataTypes.TIMESTAMP, null, true)
.addPrimaryKey("id")
.addPrimaryKey("date")
.clusteredBy("id")
.build();
when(emptyPartedTableInfo.schemaInfo().name()).thenReturn(DocSchemaInfo.NAME);
when(schemaInfo.getTableInfo(charactersTableIdent.name())).thenReturn(charactersTableInfo);
when(schemaInfo.getTableInfo(userTableIdent.name())).thenReturn(userTableInfo);
when(schemaInfo.getTableInfo(partedTableIdent.name())).thenReturn(partedTableInfo);
when(schemaInfo.getTableInfo(emptyPartedTableIdent.name())).thenReturn(emptyPartedTableInfo);
schemaBinder.addBinding(DocSchemaInfo.NAME).toInstance(schemaInfo);
schemaBinder.addBinding(SysSchemaInfo.NAME).toInstance(mockSysSchemaInfo());
}