package org.infinispan.objectfilter.impl.syntax.parser;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import java.io.IOException;
import org.infinispan.objectfilter.test.model.MarshallerRegistration;
import org.infinispan.protostream.ProtobufUtil;
import org.infinispan.protostream.SerializationContext;
import org.infinispan.protostream.config.Configuration;
import org.infinispan.protostream.descriptors.Descriptor;
import org.junit.Test;
/**
* @author anistor@redhat.com
* @since 7.0
*/
public class ProtobufParsingTest extends AbstractParsingTest<Descriptor> {
public ProtobufParsingTest() throws IOException {
super(createPropertyHelper());
}
private static ObjectPropertyHelper<Descriptor> createPropertyHelper() throws IOException {
SerializationContext serCtx = ProtobufUtil.newSerializationContext(Configuration.builder().build());
MarshallerRegistration.registerMarshallers(serCtx);
return new ProtobufPropertyHelper(serCtx, null);
}
@Test
public void testParsingResult() throws Exception {
String queryString = "from org.infinispan.objectfilter.test.model.Person p where p.name is not null";
IckleParsingResult<Descriptor> result = IckleParser.parse(queryString, propertyHelper);
assertNotNull(result.getWhereClause());
assertEquals("org.infinispan.objectfilter.test.model.Person", result.getTargetEntityName());
assertEquals("org.infinispan.objectfilter.test.model.Person", result.getTargetEntityMetadata().getFullName());
assertNull(result.getProjectedPaths());
assertNull(result.getSortFields());
}
@Test
@Override
public void testInvalidDateLiteral() throws Exception {
// protobuf does not have a Date type, but keep this empty test here just as a reminder
}
}