File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1+ import pytest
2+ from nucleus import DatasetItem
3+ from nucleus import utils
4+
5+ import io
6+
7+
8+ class TestNonSerializableObject :
9+ def weird_function ():
10+ print ("can't touch this. Dun dun dun dun." )
11+
12+
13+ def test_serialize ():
14+
15+ test_items = [
16+ DatasetItem ("fake_url1" , "fake_id1" ),
17+ DatasetItem (
18+ "fake_url2" ,
19+ "fake_id2" ,
20+ metadata = {
21+ "ok" : "field" ,
22+ "bad" : TestNonSerializableObject (),
23+ },
24+ ),
25+ ]
26+
27+ with io .StringIO () as in_memory_filelike :
28+ with pytest .raises (ValueError ) as error :
29+ utils .serialize_and_write (
30+ test_items ,
31+ in_memory_filelike ,
32+ )
33+ assert "DatasetItem" in str (error .value )
34+ assert "fake_id2" in str (error .value )
35+ assert "fake_id1" not in str (error .value )
36+
37+ test_items [1 ].metadata ["bad" ] = "fixed"
38+
39+ utils .serialize_and_write (test_items , in_memory_filelike )
You can’t perform that action at this time.
0 commit comments