From c6cfc4b0ca43ca3a2034afdad7e3817d497ca136 Mon Sep 17 00:00:00 2001 From: Ethan Ho Date: Sat, 9 Dec 2023 16:35:03 -0600 Subject: [PATCH 1/2] cp to tests --- tests/test_bypass_serialization.py | 46 ++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tests/test_bypass_serialization.py diff --git a/tests/test_bypass_serialization.py b/tests/test_bypass_serialization.py new file mode 100644 index 000000000..aa6e89ffc --- /dev/null +++ b/tests/test_bypass_serialization.py @@ -0,0 +1,46 @@ +import datajoint as dj +import numpy as np + +from . import PREFIX, CONN_INFO +from numpy.testing import assert_array_equal +from nose.tools import assert_true + + +schema_in = dj.Schema( + PREFIX + "_test_bypass_serialization_in", connection=dj.conn(**CONN_INFO) +) + +schema_out = dj.Schema( + PREFIX + "_test_blob_bypass_serialization_out", connection=dj.conn(**CONN_INFO) +) + + +test_blob = np.array([1, 2, 3]) + + +@schema_in +class Input(dj.Lookup): + definition = """ + id: int + --- + data: blob + """ + contents = [(0, test_blob)] + + +@schema_out +class Output(dj.Manual): + definition = """ + id: int + --- + data: blob + """ + + +def test_bypass_serialization(): + dj.blob.bypass_serialization = True + contents = Input.fetch(as_dict=True) + assert_true(isinstance(contents[0]["data"], bytes)) + Output.insert(contents) + dj.blob.bypass_serialization = False + assert_array_equal(Input.fetch1("data"), Output.fetch1("data")) From fe51002fa7cc6f3a1bc400a6d70216d94a0a65b3 Mon Sep 17 00:00:00 2001 From: Ethan Ho Date: Sat, 9 Dec 2023 16:39:30 -0600 Subject: [PATCH 2/2] Migrate test_bypass_serialization --- tests/test_bypass_serialization.py | 45 +++++++++++++++++++----------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/tests/test_bypass_serialization.py b/tests/test_bypass_serialization.py index aa6e89ffc..5f73e1d2e 100644 --- a/tests/test_bypass_serialization.py +++ b/tests/test_bypass_serialization.py @@ -1,24 +1,12 @@ +import pytest import datajoint as dj import numpy as np - -from . import PREFIX, CONN_INFO +from . import PREFIX from numpy.testing import assert_array_equal -from nose.tools import assert_true - - -schema_in = dj.Schema( - PREFIX + "_test_bypass_serialization_in", connection=dj.conn(**CONN_INFO) -) - -schema_out = dj.Schema( - PREFIX + "_test_blob_bypass_serialization_out", connection=dj.conn(**CONN_INFO) -) - test_blob = np.array([1, 2, 3]) -@schema_in class Input(dj.Lookup): definition = """ id: int @@ -28,7 +16,6 @@ class Input(dj.Lookup): contents = [(0, test_blob)] -@schema_out class Output(dj.Manual): definition = """ id: int @@ -37,10 +24,34 @@ class Output(dj.Manual): """ -def test_bypass_serialization(): +@pytest.fixture +def schema_in(connection_test): + schema = dj.Schema( + PREFIX + "_test_bypass_serialization_in", + context=dict(Input=Input), + connection=connection_test, + ) + schema(Input) + yield schema + schema.drop() + + +@pytest.fixture +def schema_out(connection_test): + schema = dj.Schema( + PREFIX + "_test_blob_bypass_serialization_out", + context=dict(Output=Output), + connection=connection_test, + ) + schema(Output) + yield schema + schema.drop() + + +def test_bypass_serialization(schema_in, schema_out): dj.blob.bypass_serialization = True contents = Input.fetch(as_dict=True) - assert_true(isinstance(contents[0]["data"], bytes)) + assert isinstance(contents[0]["data"], bytes) Output.insert(contents) dj.blob.bypass_serialization = False assert_array_equal(Input.fetch1("data"), Output.fetch1("data"))