from .....src.connectors.snowflake_db import data_converters as dc import pytest import msgpack @pytest.mark.parametrize( "columns, data, expected", [ ( ["id", "name"], [(1, "Alice"), (2, "Bob")], [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}], ), ( ["only_col"], [(42,), (99,)], [{"only_col": 42}, {"only_col": 99}], ), ( ["a", "b"], [], [], ), ], ) def test_data_to_json(columns, data, expected): assert dc.data_to_json(columns, data) == expected @pytest.mark.parametrize( "columns, data, expected", [ ( ["col1", "col2", "col3"], [("a", "b", 1), ("d", "e", 0)], '"col1","col2","col3"\n"a","b","1"\n"d","e","0"\n', ), ( ["col1", "col2"], [], # No data '"col1","col2"\n', # Header only ), ], ) def test_data_to_csv_string(columns, data, expected): assert dc.data_to_csv_string(columns, data) == expected def test_data_to_msgpack(): columns = ["id", "name"] data = [(1, "Alice"), (2, "Bob")] packed = dc.data_to_msgpack(columns, data) unpacked = msgpack.unpackb(packed) assert unpacked == dc.data_to_json(columns, data)