Package edu.brown.benchmark.tpce

Source Code of edu.brown.benchmark.tpce.TestEGenClientDriver

/***************************************************************************
*  Copyright (C) 2009 by H-Store Project                                  *
*  Brown University                                                       *
*  Massachusetts Institute of Technology                                  *
*  Yale University                                                        *
*                                                                         *
*  Andy Pavlo (pavlo@cs.brown.edu)                                        *
*  http://www.cs.brown.edu/~pavlo/                                        *
*                                                                         *
*  Permission is hereby granted, free of charge, to any person obtaining  *
*  a copy of this software and associated documentation files (the        *
*  "Software"), to deal in the Software without restriction, including    *
*  without limitation the rights to use, copy, modify, merge, publish,    *
*  distribute, sublicense, and/or sell copies of the Software, and to     *
*  permit persons to whom the Software is furnished to do so, subject to  *
*  the following conditions:                                              *
*                                                                         *
*  The above copyright notice and this permission notice shall be         *
*  included in all copies or substantial portions of the Software.        *
*                                                                         *
*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,        *
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF     *
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
*  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR      *
*  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,  *
*  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR  *
*  OTHER DEALINGS IN THE SOFTWARE.                                        *
***************************************************************************/
package edu.brown.benchmark.tpce;

import org.voltdb.VoltType;
import org.voltdb.catalog.ProcParameter;
import org.voltdb.catalog.Procedure;

import edu.brown.BaseTestCase;
import edu.brown.utils.ProjectType;
import edu.brown.utils.StringUtil;

public class TestEGenClientDriver extends BaseTestCase {

    // HACK
    private static final String EGENLOADER_HOME = System.getenv("TPCE_LOADER_FILES");
    protected static EGenClientDriver driver;

    @Override
    protected void setUp() throws Exception {
        super.setUp(ProjectType.TPCE, true, true);
        if (driver == null) {
            driver = new EGenClientDriver(EGENLOADER_HOME, TPCEConstants.DEFAULT_NUM_CUSTOMERS, TPCEConstants.DEFAULT_SCALE_FACTOR, TPCEConstants.DEFAULT_INITIAL_DAYS);
        }
    }

    private void checkParamTypes(Procedure catalog_proc, Object params[]) throws Exception {
        System.err.println(StringUtil.DOUBLE_LINE);
        System.err.println(catalog_proc);

        assertEquals(catalog_proc.getParameters().size(), params.length);
        for (int i = 0, cnt = params.length; i < cnt; i++) {
            ProcParameter catalog_param = catalog_proc.getParameters().get(i);
            assertNotNull(catalog_param);

            try {
                VoltType expected_type = VoltType.get((byte) catalog_param.getType());
                if (catalog_param.getIsarray()) {
                    int j = 0;
                    for (Object inner : (Object[]) params[i]) {
                        System.err.print("[" + i + "][" + j++ + "]: " + expected_type + " --> " + inner + " [class=" + inner.getClass() + ",");
                        VoltType param_type = VoltType.typeFromClass(inner.getClass());
                        System.err.println("type=" + param_type + "]");
                        assertEquals(expected_type, param_type);
                    } // FOR
                } else {
                    System.err.print("[" + i + "]: " + expected_type + " --> " + params[i] + " [class=" + params[i].getClass() + ",");
                    VoltType param_type = VoltType.typeFromClass(params[i].getClass());
                    System.err.println("type=" + param_type + "]");
                    assertEquals(expected_type, param_type);
                }
            } catch (NullPointerException ex) {
                System.err.println("Null parameter at index " + i + " for " + catalog_proc);
                throw ex;
            }
        } // FOR
    }

    /**
     * testGetBrokerVolumeParams
     */
    public void testGetBrokerVolumeParams() throws Exception {
        Object params[] = driver.getBrokerVolumeParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("BrokerVolume");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    /**
     * testGetCustomerPositionParams
     */
    public void testGetCustomerPositionParams() throws Exception {
        Object params[] = driver.getCustomerPositionParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("CustomerPosition");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    /**
     * testGetDataMaintenanceParams
     */
    public void testGetDataMaintenanceParams() throws Exception {
        Object params[] = driver.getDataMaintenanceParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("DataMaintenance");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    // /**
    // * testGetMarketFeedParams
    // */
    // public void testGetMarketFeedParams() throws Exception {
    // Object params[] = driver.getMarketFeedParams();
    // assertNotNull(params);
    //
    // Procedure catalog_proc = this.getProcedure("MarketFeed");
    // assertNotNull(catalog_proc);
    // this.checkParamTypes(catalog_proc, params);
    // }

    /**
     * testGetMarketWatchParams
     */
    public void testGetMarketWatchParams() throws Exception {
        Object params[] = driver.getMarketWatchParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("MarketWatch");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    /**
     * testGetSecurityDetailParams
     */
    public void testGetSecurityDetailParams() throws Exception {
        Object params[] = driver.getSecurityDetailParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("SecurityDetail");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    /**
     * testGetTradeCleanupParams
     */
    public void testGetTradeCleanupParams() throws Exception {
        Object params[] = driver.getTradeCleanupParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("TradeCleanup");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    /**
     * testGetTradeLookupParams
     */
    public void testGetTradeLookupParams() throws Exception {
        Object params[] = driver.getTradeLookupParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("TradeLookup");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    /**
     * testGetTradeOrderParams
     */
    public void testGetTradeOrderParams() throws Exception {
        Object params[] = driver.getTradeOrderParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("TradeOrder");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    // /**
    // * testGetTradeResultParams
    // */
    // public void testGetTradeResultParams() throws Exception {
    // Object params[] = driver.getTradeResultParams();
    // assertNotNull(params);
    //
    // Procedure catalog_proc = this.getProcedure("TradeResult");
    // assertNotNull(catalog_proc);
    // this.checkParamTypes(catalog_proc, params);
    // }

    /**
     * testGetTradeStatusParams
     */
    public void testGetTradeStatusParams() throws Exception {
        Object params[] = driver.getTradeStatusParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("TradeStatus");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }

    /**
     * testGetTradeUpdateParams
     */
    public void testGetTradeUpdateParams() throws Exception {
        Object params[] = driver.getTradeUpdateParams();
        assertNotNull(params);

        Procedure catalog_proc = this.getProcedure("TradeUpdate");
        assertNotNull(catalog_proc);
        this.checkParamTypes(catalog_proc, params);
    }
}
TOP

Related Classes of edu.brown.benchmark.tpce.TestEGenClientDriver

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.