From 7b3374d451c049df03ef78e89661da73686879f1 Mon Sep 17 00:00:00 2001 From: brian Date: Fri, 20 Dec 2024 23:33:43 +0000 Subject: [PATCH] fixed tests running against server db --- .../tests/integration/base_crud_test.py | 141 ++++++++++-------- 1 file changed, 76 insertions(+), 65 deletions(-) diff --git a/shared/datastore/tests/integration/base_crud_test.py b/shared/datastore/tests/integration/base_crud_test.py index 063c7cc..dda9ee2 100644 --- a/shared/datastore/tests/integration/base_crud_test.py +++ b/shared/datastore/tests/integration/base_crud_test.py @@ -1,11 +1,13 @@ """Integration tests related to base CRUD functions.""" import logging +import os from io import BytesIO +import minio import pytest -# from shared.datastore import connect_minio, delete, get, put +from shared.datastore import delete, get, put def same_data( @@ -22,85 +24,94 @@ def same_data( data_a_bytes = data_a.read() data_b_bytes = data_b.read() # compare size - logging.error(len(data_a_bytes)) - logging.error(len(data_b_bytes)) if len(data_a_bytes) != len(data_b_bytes): + logging.error( + 'data has different length: %s and %s', + len(data_a_bytes), + len(data_b_bytes), + ) return False # compare content if data_a_bytes != data_b_bytes: + logging.error('data has different bytes') return False return True -# def test_should_get_data( -# minio_client, -# data_in_minio, -# ): -# data, bucket_name, object_name = data_in_minio -# received_data = get( -# client=minio_client, -# bucket_name=bucket_name, -# object_name=object_name, -# ) +def test_should_get_data( + minio_client, + data_in_minio, +): + data, bucket_name, object_name = data_in_minio + received_data = get( + client=minio_client, + bucket_name=bucket_name, + object_name=object_name, + ) -# assert isinstance(data, BytesIO) -# assert same_data(data, received_data) + assert isinstance(data, BytesIO) + assert same_data(data, received_data) -# def test_should_delete_data( -# data_in_minio, -# ): -# _, bucket_name, object_name = data_in_minio -# client = connect_minio() -# delete( -# client=client, -# bucket_name=bucket_name, -# object_name=object_name, -# ) -# with pytest.raises(ValueError): -# _ = get( -# client=client, -# bucket_name=bucket_name, -# object_name=object_name, -# ) +def test_should_delete_data( + minio_client, + data_in_minio, +): + _, bucket_name, object_name = data_in_minio + delete( + client=minio_client, + bucket_name=bucket_name, + object_name=object_name, + ) + with pytest.raises(minio.error.S3Error): + _ = get( + client=minio_client, + bucket_name=bucket_name, + object_name=object_name, + ) -# def test_should_put_data( -# data, -# ): -# buffer, bucket_name, object_name = data -# client = connect_minio() -# put( -# client=client, -# buffer=buffer, -# bucket_name=bucket_name, -# object_name=object_name, -# ) -# received_data = get( -# client=client, -# bucket_name=bucket_name, -# object_name=object_name, -# ) -# assert received_data == data +def test_should_put_data( + minio_client, + data, +): + # prepare variables + minio_bucket_name = str(os.getenv('MINIO_BUCKET_NAME')) + minio_object_name = str(os.getenv('MINIO_OBJECT_NAME')) + buffer = BytesIO(data) + put( + client=minio_client, + buffer=buffer, + bucket_name=minio_bucket_name, + object_name=minio_object_name, + ) + received_data = get( + client=minio_client, + bucket_name=minio_bucket_name, + object_name=minio_object_name, + ) + assert isinstance(received_data, BytesIO) + assert same_data(received_data, buffer) -# def test_should_update_data( -# data_in_minio, -# ): -# buffer, bucket_name, object_name = data_in_minio -# client = connect_minio() -# put( -# client=client, -# buffer=buffer, -# bucket_name=bucket_name, -# object_name=object_name, -# ) -# received_data = get( -# client=client, -# bucket_name=bucket_name, -# object_name=object_name, -# ) -# assert received_data == buffer +def test_should_update_data( + minio_client, + data_in_minio, +): + buffer, bucket_name, object_name = data_in_minio + put( + client=minio_client, + buffer=buffer, + bucket_name=bucket_name, + object_name=object_name, + ) + received_data = get( + client=minio_client, + bucket_name=bucket_name, + object_name=object_name, + ) + assert same_data(received_data, buffer) + if __name__ == '__main__': pytest.main()