def test_old_metadata_is_replaced(arg, sqlite_client_and_tmp_dir): client, tmp = sqlite_client_and_tmp_dir schema, name, _ = arg product = SQLiteRelation(arg, client=client) product.render({}) product.save_metadata({ 'timestamp': datetime.now().timestamp(), 'stored_source_code': 'some code' }) product.save_metadata({ 'timestamp': datetime.now().timestamp(), 'stored_source_code': 'some code' }) query = "SELECT COUNT(*) FROM _metadata WHERE name='{}'".format(name) if schema is not None: query += " AND schema='{}'".format(schema) result = list(client.engine.execute(query))[0][0] assert result == 1
def test_sqlite_product_save_metadata(tmp_directory): tmp = Path(tmp_directory) conn = SQLAlchemyClient('sqlite:///{}'.format(tmp / "database.db")) numbers = SQLiteRelation((None, 'numbers', 'table'), conn) numbers.render({}) numbers.metadata['timestamp'] = datetime.now().timestamp() numbers.metadata['stored_source_code'] = 'some code' numbers.save_metadata() fetched = numbers.fetch_metadata() assert fetched == numbers.metadata