Beispiel #1
0
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