package com.sourceware.test;
/*******************************************************************************
* Copyright (c) 2000, 2005 ZhongKe Corporation and others.
* All rights reserved. This program and the aclearcase/" target="_blank" >ccompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.source-ware.com/
*
* Contributors:
* ZhongKe Corporation - initial API and implementation
*******************************************************************************/
import java.io.InputStream;
import java.sql.Connection;
import org.dbunit.DatabaseTestCase;
import org.dbunit.database.DatabaseConfig;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.operation.DatabaseOperation;
import com.sourceware.sms.platform.dao.SMSDAO;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.ApplicationContext;
import javax.sql.DataSource;
/**
*
* <p>标题: 消息服务</p>
*
* <p>描述: 消息服务平台</p>
*
* <p>版权: 宁波中科信息产业有限公司 Copyright (c) 2004</p>
*
* <p>公司: 宁波中科信息产业有限公司</p>
*
* @author 吴锋彬(woowind@sina.com)
* @version 1.0
*/
public class BaseDatabaseTestCase
extends DatabaseTestCase {
static ApplicationContext appContext;
private final static String batchID =
"http://www.dbunit.org/features/batchedStatements";
static DataSource ds;
static {
appContext =
new ClassPathXmlApplicationContext("xml/sms-platform-context.xml");
ds = (DataSource) appContext.getBean("dataSource");
}
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
this.getConnection().close();
}
/* (non-Javadoc)
* @see org.dbunit.DatabaseTestCase#getConnection()
*/
protected IDatabaseConnection getConnection() throws Exception {
IDatabaseConnection iDataBaseConnection = new DatabaseConnection(ds.
getConnection());
DatabaseConfig config = iDataBaseConnection.getConfig();
//Enable Batched statements
if (!config.getFeature(batchID)) {
config.setFeature(batchID, true);
}
return iDataBaseConnection;
}
/* (non-Javadoc)
* @see org.dbunit.DatabaseTestCase#getDataSet()
*/
protected IDataSet getDataSet() throws Exception {
InputStream is = this.getClass().getClassLoader().getResourceAsStream(
"dataset/fmsDomain.xml");
return new FlatXmlDataSet(is);
}
protected DatabaseOperation getSetUpOperation() throws Exception {
return org.dbunit.ext.mssql.InsertIdentityOperation.INSERT;
}
protected DatabaseOperation getTearDownOperation() throws Exception {
return org.dbunit.ext.mssql.InsertIdentityOperation.CLEAN_INSERT;
}
}