def test_create_temp_table_from(conn): table = Table(SCHEMA, "storage_tmp_test_table") trend_names = ["CellID", "CCR", "Drops"] data_types = ["float", "smallint", "smallint"] with closing(conn.cursor()) as cursor: table.drop().if_exists().execute(cursor) create_trend_table(conn, SCHEMA, table, trend_names, data_types) create_temp_table_from(conn, SCHEMA, table)
def test_store_insert_rows(conn): table = Table(SCHEMA, 'storage_tmp_test_table') trend_names = ['CellID', 'CCR', 'Drops'] data_rows = [ (10023, ('10023', '0.9919', '17')), (10047, ('10047', '0.9963', '18')) ] curr_timezone = timezone("Europe/Amsterdam") modified = curr_timezone.localize(datetime.now()) time1 = curr_timezone.localize(datetime.now()) time2 = time1 - timedelta(days=1) data_types = extract_data_types(data_rows) with closing(conn.cursor()) as cursor: table.drop().if_exists().execute(cursor) create_trend_table(conn, SCHEMA, table.name, trend_names, data_types) store_insert_rows(conn, SCHEMA, table.name, trend_names, time1, modified, data_rows) conn.commit() eq_(row_count(cursor, table), 2) store_insert_rows(conn, SCHEMA, table.name, trend_names, time2, modified, data_rows) conn.commit() eq_(row_count(cursor, table), 4) store_insert_rows(conn, SCHEMA, table.name, trend_names, time1, modified, data_rows) conn.commit() eq_(row_count(cursor, table), 4) table.select(Call("max", Column("modified"))).execute(cursor) max_modified = first(cursor.fetchone()) eq_(max_modified, modified)
def test_store_using_tmp(conn): table = Table(SCHEMA, 'storage_tmp_test_table') trend_names = ['CellID', 'CCR', 'RadioFail', 'RFOldHo', 'AbisFailCall'] data_rows = [ (10023, ('10023', '0.9919', '10', '3', '3')), (10047, ('10047', '0.9963', '11', '5', '0')), (10048, ('10048', '0.9935', '12', '3', '0')), (10049, ('10049', '0.9939', '20', '3', '4')), (10050, ('10050', '0.9940', '18', '3', '0')), (10051, ('10051', '0.9944', '17', '2', '2')), (10052, ('10052', '0.9889', '18', '2', '0')), (10053, ('10053', '0.9920', '15', '3', '1')), (10023, ('10023', '0.9931', '9', '0', '1')), (10085, ('10085', '0.9987', '3', '0', '0')), (10086, ('10086', '0.9972', '3', '2', '0')) ] data_types = extract_data_types(data_rows) with closing(conn.cursor()) as cursor: table.drop().if_exists().execute(cursor) create_trend_table(conn, SCHEMA, table.name, trend_names, data_types) curr_timezone = timezone("Europe/Amsterdam") timestamp = curr_timezone.localize(datetime(2013, 1, 2, 10, 45, 0)) modified = curr_timezone.localize(datetime.now()) store_using_tmp(conn, SCHEMA, table.name, trend_names, timestamp, modified, data_rows) conn.commit() eq_(row_count(cursor, table), 10) table.select(Call("max", Column("modified"))).execute(cursor) max_modified = first(cursor.fetchone()) eq_(max_modified, modified)