diff options
author | Andrzej J.R. Hunt <andrzej@ahunt.org> | 2013-09-07 17:32:20 +0100 |
---|---|---|
committer | Andrzej J.R. Hunt <andrzej@ahunt.org> | 2013-09-10 08:44:23 +0100 |
commit | 65fc052b89b029ad1e853a139f6b3817ac24452a (patch) | |
tree | 35e0952b27de16d637ac0cc2fdd3cd02e90d33a9 /dbaccess/qa | |
parent | d344d46cd4cd0e4811ac5ebd01d29cc4547f7f3e (diff) |
Add simple embedded firebird .odb loading test.
This opens an "empty" firebird-based .odb and tests that it is possible
for the firebird-sdbc driver to open the embedded database.
"empty" denotes that the .odb is marked as using embedded firebird
but doesn't in fact contain any .fdb file within. This is usual state
of a .odb directly after creation using the "New Database" dialog when
the sdbc driver first opens the database.
Change-Id: I83941c05b6328d8419dca49121988640c6f887bc
Diffstat (limited to 'dbaccess/qa')
-rw-r--r-- | dbaccess/qa/unit/data/firebird_empty.odb | bin | 0 -> 1733 bytes | |||
-rw-r--r-- | dbaccess/qa/unit/firebird.cxx | 84 |
2 files changed, 84 insertions, 0 deletions
diff --git a/dbaccess/qa/unit/data/firebird_empty.odb b/dbaccess/qa/unit/data/firebird_empty.odb Binary files differnew file mode 100644 index 000000000000..766c17db2ec9 --- /dev/null +++ b/dbaccess/qa/unit/data/firebird_empty.odb diff --git a/dbaccess/qa/unit/firebird.cxx b/dbaccess/qa/unit/firebird.cxx new file mode 100644 index 000000000000..c1a72ffcfdcd --- /dev/null +++ b/dbaccess/qa/unit/firebird.cxx @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <comphelper/processfactory.hxx> +#include <test/bootstrapfixture.hxx> +#include <unotest/macros_test.hxx> + +#include <com/sun/star/frame/XModel.hpp> +#include <com/sun/star/frame/Desktop.hpp> +#include <com/sun/star/sdb/XOfficeDatabaseDocument.hpp> +#include <com/sun/star/sdbc/XConnection.hpp> +#include <com/sun/star/sdbc/XDataSource.hpp> + +using namespace ::com::sun::star; +using namespace ::com::sun::star::frame; +using namespace ::com::sun::star::sdb; +using namespace ::com::sun::star::sdbc; +using namespace ::com::sun::star::uno; + +class FirebirdTest + : public ::test::BootstrapFixture + , public ::unotest::MacrosTest +{ +public: + virtual void setUp(); + virtual void tearDown(); + + /** + * Test that we connect to the database with an "empty" .odb file. + */ + void testEmptyDBConnection(); + + CPPUNIT_TEST_SUITE(FirebirdTest); + CPPUNIT_TEST(testEmptyDBConnection); + CPPUNIT_TEST_SUITE_END(); +}; + +/** + * Test the loading of an "empty" file, i.e. the embedded database has not yet + * been initialised (as occurs when a new .odb is created and opened by base). + */ +void FirebirdTest::testEmptyDBConnection() +{ + const OUString sFileName("/dbaccess/qa/unit/data/firebird_empty.odb"); + + uno::Reference< lang::XComponent > xComponent = loadFromDesktop( + getSrcRootURL() + sFileName); + CPPUNIT_ASSERT(xComponent.is()); + + uno::Reference< XOfficeDatabaseDocument > xDocument(xComponent, UNO_QUERY); + CPPUNIT_ASSERT(xDocument.is()); + + uno::Reference< XDataSource > xDataSource = xDocument->getDataSource(); + CPPUNIT_ASSERT(xDataSource.is()); + + uno::Reference< XConnection > xConnection = xDataSource->getConnection("",""); + CPPUNIT_ASSERT(xConnection.is()); +} + +void FirebirdTest::setUp() +{ + ::test::BootstrapFixture::setUp(); + + mxDesktop = ::com::sun::star::frame::Desktop::create( + ::comphelper::getProcessComponentContext()); + CPPUNIT_ASSERT(mxDesktop.is()); +} + +void FirebirdTest::tearDown() +{ + test::BootstrapFixture::tearDown(); +} + +CPPUNIT_TEST_SUITE_REGISTRATION(FirebirdTest); + +CPPUNIT_PLUGIN_IMPLEMENT(); + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |