package org.tests.query.sqlquery;
import io.ebean.BaseTestCase;
import io.ebean.Ebean;
import io.ebean.Query;
import io.ebean.Platform;
import io.ebean.plugin.SpiServer;
import org.tests.model.basic.Customer;
import org.tests.model.basic.ResetBasicData;
import org.junit.Test;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class TestNativeILikeExpression extends BaseTestCase {
@Test
public void test() {
boolean expectNative = isExpectNative();
ResetBasicData.reset();
Query<Customer> query = Ebean.find(Customer.class)
.where().ilike("name", "rob")
.query();
List<Customer> list = query.findList();
if (expectNative) {
assertThat(query.getGeneratedSql()).contains(" from o_customer t0 where t0.name ilike ?");
assertThat(list).isNotEmpty();
}
}
private boolean isExpectNative() {
SpiServer pluginApi = server().getPluginApi();
boolean expressionNativeIlike = pluginApi.getServerConfig().isExpressionNativeIlike();
Platform platform = pluginApi.getDatabasePlatform().getPlatform();
return expressionNativeIlike && platform == Platform.POSTGRES;
}
}