Package com.google.enterprise.connector.database

Source Code of com.google.enterprise.connector.database.ConnectorPersistentStoreFactoryTest

// Copyright 2011 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.google.enterprise.connector.database;

import com.google.enterprise.connector.database.FakeDataSource;
import com.google.enterprise.connector.spi.ConnectorPersistentStore;
import com.google.enterprise.connector.spi.LocalDatabase;
import com.google.enterprise.connector.util.database.JdbcDatabase;
import com.google.enterprise.connector.util.database.testing.TestJdbcDatabase;

import junit.framework.TestCase;

import java.sql.SQLException;

import javax.sql.DataSource;

/**
* Tests ConnectorPersistentStoreFactory.
*/
public class ConnectorPersistentStoreFactoryTest extends TestCase {

  /**
   * Test newConnectorPersistentStore.
   */
  public void testNewConnectorPersistentStore() throws Exception {
    JdbcDatabase database = new TestJdbcDatabase();
    ConnectorPersistentStoreFactory factory =
        new ConnectorPersistentStoreFactory(database);

    ConnectorPersistentStore cpStore =
        factory.newConnectorPersistentStore("test", "TestConnectorA", null);
    assertNotNull(cpStore);

    LocalDatabase localDb = cpStore.getLocalDatabase();
    assertNotNull(localDb);
    assertSame(database.getDataSource(), localDb.getDataSource());
    assertEquals(database.getDatabaseType(), localDb.getDatabaseType());

    assertNull(cpStore.getLocalDocumentStore());
  }

  /**
   * Test FakeDataSource. This will produce a disabled JdbcDatabase.
   * Trying to create a ConnectorPersistentStore based upon a disabled
   * database should throw a SQLException.
   */
  public void testFakeDataSource() throws Exception {
    JdbcDatabase database = new JdbcDatabase(new FakeDataSource("Fake"));
    ConnectorPersistentStoreFactory factory =
        new ConnectorPersistentStoreFactory(database);

    try {
      ConnectorPersistentStore cpStore =
          factory.newConnectorPersistentStore("test", "TestConnectorA", null);
      fail("Expected a SQLException, but got none.");
    } catch (SQLException expected) {
      assertEquals("Fake JDBC DataSource has not been configured.",
                   expected.getMessage());
    }
  }
}
TOP

Related Classes of com.google.enterprise.connector.database.ConnectorPersistentStoreFactoryTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.