diff options
Diffstat (limited to 'dbaccess/qa/complex/dbaccess/DataSource.java')
-rw-r--r-- | dbaccess/qa/complex/dbaccess/DataSource.java | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/dbaccess/qa/complex/dbaccess/DataSource.java b/dbaccess/qa/complex/dbaccess/DataSource.java new file mode 100644 index 000000000000..cb19a1f85d53 --- /dev/null +++ b/dbaccess/qa/complex/dbaccess/DataSource.java @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DataSource.java,v $ + * $Revision: 1.2 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +package complex.dbaccess; + +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XNamingService; + +public class DataSource extends complexlib.ComplexTestCase { + + connectivity.tools.HsqlDatabase m_database; + connectivity.tools.DataSource m_dataSource; + + // -------------------------------------------------------------------------------------------------------- + public String[] getTestMethodNames() + { + return new String[] + { + "testRegistrationName" + }; + } + + // -------------------------------------------------------------------------------------------------------- + public String getTestObjectName() + { + return "DataSource"; + } + + // -------------------------------------------------------------------------------------------------------- + private void createTestCase() + { + try + { + if ( m_database == null ) + { + CRMDatabase database = new CRMDatabase( getFactory() ); + m_database = database.getDatabase(); + m_dataSource = m_database.getDataSource(); + } + } + catch( Exception e ) + { + failed( "could not create the test case, error message:\n" + e.getMessage() ); + } + } + + // -------------------------------------------------------------------------------------------------------- + private XMultiServiceFactory getFactory() + { + return (XMultiServiceFactory)param.getMSF(); + } + + // -------------------------------------------------------------------------------------------------------- + public void testRegistrationName() + { + createTestCase(); + + try + { + // 1. check the existing "Bibliography" data source whether it has the proper name + String dataSourceName = "Bibliography"; + connectivity.tools.DataSource bibliography = new connectivity.tools.DataSource( getFactory(), dataSourceName ); + assureEquals( "pre-registered database has a wrong name!", + dataSourceName, bibliography.getName() ); + + // 2. register a newly created data source, and verify it has the proper name + dataSourceName = "someDataSource"; + + XNamingService dataSourceRegistrations = (XNamingService)UnoRuntime.queryInterface( + XNamingService.class, getFactory().createInstance("com.sun.star.sdb.DatabaseContext")); + dataSourceRegistrations.registerObject("someDataSource", m_dataSource.getXDataSource()); + + assureEquals( "registration name of a newly registered data source is wrong", + dataSourceName, m_dataSource.getName() ); + } + catch ( AssureException e ) { throw e; } + catch ( Exception e ) + { + failed( "caught an unexpected exception: " + e.getMessage() ); + } + } +} |