def setup_table(table_variable_name, table_name, db_name='test'): global required_external_tables def _teardown_table(table_name, db_name): '''Used for tables that get created for this test''' res = r.db(db_name).table_drop(table_name).run(driver.connection()) assert res["tables_dropped"] == 1, 'Failed to delete table %s.%s: %s' % (db_name, table_name, str(res)) def _clean_table(table_name, db_name): '''Used for pre-existing tables''' res = r.db(db_name).table(table_name).delete().run(driver.connection()) assert res["errors"] == 0, 'Failed to clean out contents from table %s.%s: %s' % (db_name, table_name, str(res)) r.db(db_name).table(table_name).index_list().for_each(r.db(db_name).table(table_name).index_drop(r.row)).run(driver.connection()) if len(required_external_tables) > 0: db_name, table_name = required_external_tables.pop() try: r.db(db_name).table(table_name).info(driver.connection()) except r.ReqlRuntimeError: raise AssertionError('External table %s.%s did not exist' % (db_name, table_name)) atexit.register(_clean_table, table_name=table_name, db_name=db_name) print('Using existing table: %s.%s, will be %s' % (db_name, table_name, table_variable_name)) else: if table_name in r.db(db_name).table_list().run(driver.connection()): r.db(db_name).table_drop(table_name).run(driver.connection()) res = r.db(db_name).table_create(table_name).run(driver.connection()) assert res["tables_created"] == 1, 'Unable to create table %s.%s: %s' % (db_name, table_name, str(res)) r.db(db_name).table(table_name).wait(wait_for="all_replicas_ready").run(driver.connection()) print_debug('Created table: %s.%s, will be %s' % (db_name, table_name, table_variable_name)) globals()[table_variable_name] = r.db(db_name).table(table_name)
def _clean_table(table_name, db_name): '''Used for pre-existing tables''' res = r.db(db_name).table(table_name).delete().run(driver.connection()) assert res[ "errors"] == 0, 'Failed to clean out contents from table %s.%s: %s' % ( db_name, table_name, str(res)) r.db(db_name).table(table_name).index_list().for_each( r.db(db_name).table(table_name).index_drop(r.row)).run( driver.connection())
def _teardown_table(table_name, db_name): '''Used for tables that get created for this test''' res = r.db(db_name).table_drop(table_name).run(driver.connection()) assert res[ "tables_dropped"] == 1, 'Failed to delete table %s.%s: %s' % ( db_name, table_name, str(res))
def _clean_table(table_name, db_name): '''Used for pre-existing tables''' res = r.db(db_name).table(table_name).delete().run(driver.connection()) assert res["errors"] == 0, 'Failed to clean out contents from table %s.%s: %s' % (db_name, table_name, str(res)) r.db(db_name).table(table_name).index_list().for_each(r.db(db_name).table(table_name).index_drop(r.row)).run(driver.connection())
def _teardown_table(table_name, db_name): '''Used for tables that get created for this test''' res = r.db(db_name).table_drop(table_name).run(driver.connection()) assert res["tables_dropped"] == 1, 'Failed to delete table %s.%s: %s' % (db_name, table_name, str(res))