package org.ovirt.engine.core.searchbackend;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
import java.util.List;
import org.junit.Ignore;
import org.junit.Test;
/**
* this is the main test class for the BaseConditionFieldAutoCompleter class
*/
public class AdGroupConditionFieldAutoCompleterTest {
@Test
public void testEmpty() {
IConditionFieldAutoCompleter comp = new AdGroupConditionFieldAutoCompleter();
List<String> comps = Arrays.asList(comp.getCompletion(""));
assertTrue("name", comps.contains("name"));
assertFalse("False", comps.contains("False"));
}
@Test
public void testValidateFieldValue() {
IConditionFieldAutoCompleter comp = new AdGroupConditionFieldAutoCompleter();
assertTrue("Jar Jar", comp.validateFieldValue("NAME", "Jar Jar"));
assertTrue("1234", comp.validateFieldValue("NAME", "1234"));
assertFalse("<>", comp.validateFieldValue("NAME", "<>"));
assertTrue("Invalid Field", comp.validateFieldValue("NAME222", "Jar Jar"));
assertTrue("Lowercase Field", comp.validateFieldValue("name", "<>"));
}
@Test
public void testGetDbFieldName() {
IConditionFieldAutoCompleter comp = new AdGroupConditionFieldAutoCompleter();
assertEquals("$CN", "$CN", comp.getDbFieldName("NAME"));
assertNull("name", comp.getDbFieldType("name"));
assertNull("22", comp.getDbFieldType("22"));
}
@Test
public void testGetDbFieldType() {
IConditionFieldAutoCompleter comp = new AdGroupConditionFieldAutoCompleter();
assertEquals("NAME", String.class, comp.getDbFieldType("NAME"));
assertNull("name", comp.getDbFieldType("name"));
assertNull("22", comp.getDbFieldType("22"));
}
@Test
@Ignore
public void testBuildFreeTextConditionSql() {
IConditionFieldAutoCompleter comp = new AdGroupConditionFieldAutoCompleter();
String sql = comp.buildFreeTextConditionSql("ATable", "=", "JarJar", false);
assertEquals(" ( ATable.cn LIKE '%JarJar%' ) ", " ( ATable.cn LIKE '%JarJar%' ) ", sql);
sql = comp.buildFreeTextConditionSql("ATable", "!=", "JarJar", false);
assertEquals(" ( ATable.cn NOT LIKE '%JarJar%' ) ", " ( ATable.cn NOT LIKE '%JarJar%' ) ", sql);
}
}