Пример #1
0
def test_insert(empty_warehouse):
    """
    Inserts a fact with MAX_ITERATIONS ^ 2 rows.
    """
    enable_logging()

    Warehouse.use(empty_warehouse)

    Store.build()
    stores = _get_instances('store')
    Store.insert(*stores)

    Product.build()
    products = _get_instances('product')
    Product.insert(*products)

    Sales.build()
    sales = _get_instances('sales')

    start_time = datetime.datetime.now()
    print 'Starting bulk insert of fact at ', start_time

    try:
        Sales.insert(*sales)
    except OperationalError:
        pytest.fail('The connection broke.')

    end_time = datetime.datetime.now()
    print 'Ending bulk insert of fact at ', end_time

    delta = end_time - start_time
    print 'Time taken = ', delta
Пример #2
0
def _generate_sales():
    instances = []
    for store_id in xrange(1, MAX_ITERATIONS):
        for product_id in xrange(1, MAX_ITERATIONS):
            obj = Sales()
            obj['product'] = product_id
            obj['store'] = store_id
            instances.append(obj)
    return instances
Пример #3
0
def test_create_duplicate_trigger(empty_warehouse):
    """ Make sure a trigger isn't created if one already exists.
    """
    Warehouse.use(empty_warehouse)
    Sales.build()
    assert not Sales.create_trigger()
Пример #4
0
def test_create_trigger(empty_warehouse):
    """ Make sure a trigger can be created.
    """
    Warehouse.use(empty_warehouse)
    Sales.build()
    assert Sales.trigger_name in Warehouse.trigger_names