@Test
public void testObjectTypeFieldQuery() throws IllegalAccessException, InstantiationException {
String startTime = DateTimeUtil.secondsToHumanDate(System.currentTimeMillis() / 1000);
String endTime = DateTimeUtil.secondsToHumanDate((System.currentTimeMillis() + 1000) / 1000);
String[] partitions = new String[2];
partitions[0] = "cluster";
partitions[1] = "datacenter";
EntityDefinitionManager.registerEntity(TestLogAPIEntity.class);
EntityDefinition entityDef = EntityDefinitionManager.getEntityByServiceName("TestLogAPIEntity");
entityDef.setPartitions(partitions);
entityDef.setTimeSeries(true);
ListQueryResource resource = new ListQueryResource();
String query = "TestLogAPIEntity[]{@cluster}";
query = "TestLogAPIEntity[@cluster=\"cluster1\" AND @datacenter=\"dc1\" AND " +
"(@field1 < 1 or @field2 = 2 or @field3 = 13456789 or @field4 = 987654321 or @field5 = 5.6 or @field7 < \"value7\")]{@cluster}";
ListQueryAPIResponseEntity response = resource.listQuery(query, startTime, endTime, 100, null, false, true, 1, 0, false, 0, null);
Assert.assertNotNull(response);
Assert.assertTrue("Field with numeric, should success",response.isSuccess());
}