// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dq; import java.util.List; import junit.framework.TestCase; import org.junit.Before; import org.junit.Test; import org.talend.core.database.EDatabaseTypeName; import org.talend.core.model.metadata.builder.connection.ConnectionFactory; import org.talend.core.model.metadata.builder.connection.DatabaseConnection; import org.talend.dq.helper.SqlExplorerUtils; import org.talend.metadata.managment.utils.MetadataConnectionUtils; /** * created by qiongli on 2013-11-26 Detailled comment * */ public class CWMPluginTest extends TestCase { private DatabaseConnection dbConn = ConnectionFactory.eINSTANCE.createDatabaseConnection(); private String dbName = "conn1"; //$NON-NLS-1$ @Override @Before public void setUp() throws Exception { dbConn.setURL(""); //$NON-NLS-1$ dbConn.setName(dbName); dbConn.setUsername("root"); //$NON-NLS-1$ dbConn.setRawPassword("root"); //$NON-NLS-1$ dbConn.setContextMode(false); } /** * Test method "addConnetionAliasToSQLPlugin" for all not supported database type on DQ side. * {@link org.talend.dq.CWMPlugin#addConnetionAliasToSQLPlugin(orgomg.cwm.objectmodel.core.ModelElement[])}. */ @Test public void testAddConnetionAliasToSQLPlugin_notSupportDB() { String allNoSupportedType[] = new String[] { EDatabaseTypeName.FIREBIRD.getXmlName(), EDatabaseTypeName.JAVADB.getXmlName(), EDatabaseTypeName.JAVADB_DERBYCLIENT.getXmlName(), EDatabaseTypeName.JAVADB_EMBEDED.getXmlName(), EDatabaseTypeName.JAVADB_JCCJDBC.getXmlName(), EDatabaseTypeName.GREENPLUM.getXmlName(), EDatabaseTypeName.HBASE.getXmlName(), EDatabaseTypeName.H2.getXmlName(), EDatabaseTypeName.INTERBASE.getXmlName(), EDatabaseTypeName.MAXDB.getXmlName(), EDatabaseTypeName.PARACCEL.getXmlName(), EDatabaseTypeName.SAPHana.getXmlName(), EDatabaseTypeName.SAS.getXmlName(), EDatabaseTypeName.VECTORWISE.getXmlName() }; for (String dbType : allNoSupportedType) { dbConn.setDatabaseType(dbType); runAddConnetionAliasToSQLPlugin(false); } } /** * * test method "addConnetionAliasToSQLPlugin" for all supported database type on DQ side. */ @Test public void testAddConnetionAliasToSQLPlugin_supportDB() { List<String> tdqSupportDBType = MetadataConnectionUtils.getTDQSupportDBTemplate(); for (String dbType : tdqSupportDBType) { dbConn.setDatabaseType(dbType); runAddConnetionAliasToSQLPlugin(true); } } /** * DOC qiongli Comment method "runAddConnetionAliasToSQLPlugin". */ private void runAddConnetionAliasToSQLPlugin(boolean isSupportedDB) { CWMPlugin.getDefault().addConnetionAliasToSQLPlugin(dbConn); boolean aliasExist = SqlExplorerUtils.getDefault().aliasExist(dbConn.getName()); if (isSupportedDB) { assertTrue(aliasExist); } else { assertFalse(aliasExist); } } }