AbstractShardingBothForStatementWithSelectTest.java 3.2 KB
Newer Older
T
terrymanu 已提交
1
/*
T
fix #53  
terrymanu 已提交
2 3 4 5 6
 * Copyright 1999-2015 dangdang.com.
 * <p>
 * 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
T
terrymanu 已提交
7
 *
T
fix #53  
terrymanu 已提交
8
 *      http://www.apache.org/licenses/LICENSE-2.0
T
terrymanu 已提交
9
 *
T
fix #53  
terrymanu 已提交
10 11 12 13 14 15 16 17 18 19 20
 * 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.
 * </p>
 */

package com.dangdang.ddframe.rdb.integrate.dbtbl.common.statement;

import com.dangdang.ddframe.rdb.integrate.dbtbl.common.AbstractShardingBothTest;
T
terrymanu 已提交
21
import com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource;
T
fix #53  
terrymanu 已提交
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
import lombok.AccessLevel;
import lombok.Getter;
import org.dbunit.DatabaseUnitException;
import org.junit.Before;
import org.junit.Test;

import java.sql.SQLException;

public abstract class AbstractShardingBothForStatementWithSelectTest extends AbstractShardingBothTest {
    
    @Getter(AccessLevel.PROTECTED)
    private ShardingDataSource shardingDataSource;
    
    @Before
    public void init() throws SQLException {
        shardingDataSource = getShardingDataSource();
    }
    
    @Test
    public void assertSelectEqualsWithSingleTable() throws SQLException, DatabaseUnitException {
H
haocao 已提交
42
        String sql = getDatabaseTestSQL().getSelectEqualsWithSingleTableSql();
43 44
        assertDataSet("integrate/dataset/db_tbl/expect/select/SelectEqualsWithSingleTable_0.xml", shardingDataSource.getConnection(), "t_order", String.format(sql, 10, 1000));
        assertDataSet("integrate/dataset/db_tbl/expect/select/SelectEqualsWithSingleTable_1.xml", shardingDataSource.getConnection(), "t_order", String.format(sql, 12, 1201));
T
fix #53  
terrymanu 已提交
45 46 47 48 49
        assertDataSet("integrate/dataset/Empty.xml", shardingDataSource.getConnection(), "t_order", String.format(sql, 12, 1000));
    }
    
    @Test
    public void assertSelectBetweenWithSingleTable() throws SQLException, DatabaseUnitException {
H
haocao 已提交
50
        String sql = getDatabaseTestSQL().getSelectBetweenWithSingleTableSql();
51
        assertDataSet("integrate/dataset/db_tbl/expect/select/SelectBetweenWithSingleTable.xml", shardingDataSource.getConnection(), "t_order", String.format(sql, 10, 12, 1009, 1108));
T
fix #53  
terrymanu 已提交
52 53 54 55 56
        assertDataSet("integrate/dataset/Empty.xml", shardingDataSource.getConnection(), "t_order", String.format(sql, 10, 12, 1309, 1408));
    }
    
    @Test
    public void assertSelectInWithSingleTable() throws SQLException, DatabaseUnitException {
H
haocao 已提交
57
        String sql = getDatabaseTestSQL().getSelectInWithSingleTableSql();
58 59
        assertDataSet("integrate/dataset/db_tbl/expect/select/SelectInWithSingleTable_0.xml", shardingDataSource.getConnection(), "t_order", String.format(sql, 10, 12, 15, 1009, 1208));
        assertDataSet("integrate/dataset/db_tbl/expect/select/SelectInWithSingleTable_1.xml", shardingDataSource.getConnection(), "t_order", String.format(sql, 10, 12, 15, 1009, 1108));
T
fix #53  
terrymanu 已提交
60 61 62
        assertDataSet("integrate/dataset/Empty.xml", shardingDataSource.getConnection(), "t_order", String.format(sql, 10, 12, 15, 1309, 1408));
    }
}