/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.types;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Test;
import org.teiid.core.types.BinaryType;
import org.teiid.core.types.DataTypeManagerService;
import org.teiid.core.types.DataTypeManagerService.DefaultDataTypes;
import org.teiid.designer.runtime.version.spi.ITeiidServerVersion;
import org.teiid.designer.runtime.version.spi.TeiidServerVersion.Version;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;
import org.teiid.designer.type.IDataTypeManagerService.DataTypeName;
/**
*
*/
@SuppressWarnings( {"javadoc", "nls"} )
public class Test7DataTypeManagerService extends AbstractTestDataTypeManagerService {
public Test7DataTypeManagerService() {
super(Version.TEIID_7_7);
}
@Test
public void testGetDefaultDataType1() {
for (Entry<ITeiidServerVersion, DataTypeManagerService> entry : dataTypeManagerCache.entrySet()) {
DataTypeManagerService dataTypeManager = entry.getValue();
try {
dataTypeManager.getDefaultDataType(DataTypeName.VARBINARY);
fail("VARBINARY should be not applicable");
} catch (IllegalArgumentException ex) {
// pass
}
}
}
@Test
public void testGetDataType1() {
for (Entry<ITeiidServerVersion, DataTypeManagerService> entry : dataTypeManagerCache.entrySet()) {
DataTypeManagerService dataTypeManager = entry.getValue();
assertSame(DefaultDataTypes.OBJECT, dataTypeManager.getDataType("varbinary"));
}
}
@Test
public void testGetDataTypeClass1() {
for (Entry<ITeiidServerVersion, DataTypeManagerService> entry : dataTypeManagerCache.entrySet()) {
DataTypeManagerService dataTypeManager = entry.getValue();
assertSame(Object.class, dataTypeManager.getDataTypeClass("varbinary"));
}
}
@Test
public void testGetDefaultDataTypeClass1() {
for (Entry<ITeiidServerVersion, DataTypeManagerService> entry : dataTypeManagerCache.entrySet()) {
DataTypeManagerService dataTypeManager = entry.getValue();
try {
dataTypeManager.getDefaultDataClass(DataTypeName.VARBINARY);
fail("VARBINARY should be not applicable");
} catch (IllegalArgumentException ex) {
// should throw an exception
}
}
}
@Test
public void testGetDataType4Class1() {
for (Entry<ITeiidServerVersion, DataTypeManagerService> entry : dataTypeManagerCache.entrySet()) {
DataTypeManagerService dataTypeManager = entry.getValue();
assertSame(DefaultDataTypes.OBJECT, dataTypeManager.getDataType(BinaryType.class));
}
}
@Test
public void testGetAllDataTypeNames() {
for (Entry<ITeiidServerVersion, DataTypeManagerService> entry : dataTypeManagerCache.entrySet()) {
DataTypeManagerService dataTypeManager = entry.getValue();
Set<String> names = dataTypeManager.getAllDataTypeNames();
assertTrue(!names.isEmpty());
assertTrue(names.contains(DefaultDataTypes.BIG_DECIMAL.getId()));
assertTrue(names.contains(DefaultDataTypes.STRING.getId()));
assertFalse(names.contains(DefaultDataTypes.VARBINARY.getId()));
}
}
@Test
public void testGetDataSourceType1() {
for (Entry<ITeiidServerVersion, DataTypeManagerService> entry : dataTypeManagerCache.entrySet()) {
DataTypeManagerService dataTypeManager = entry.getValue();
// Should retrieve the old value from the Updated annotation
assertEquals("connector-salesforce", dataTypeManager.getDataSourceType(DataSourceTypes.SALESFORCE));
assertEquals("connector-ldap", dataTypeManager.getDataSourceType(DataSourceTypes.LDAP));
assertEquals("connector-file", dataTypeManager.getDataSourceType(DataSourceTypes.FILE));
assertEquals("connector-ws", dataTypeManager.getDataSourceType(DataSourceTypes.WS));
}
}
}