Skip to content

Commit 34161a8

Browse files
committed
Move insert_blobs to module scope
No reason for this to be defined in the fixture. Move to the module level to stay consistent.
1 parent 725cae2 commit 34161a8

File tree

1 file changed

+35
-34
lines changed

1 file changed

+35
-34
lines changed

tests/test_blob_matlab.py

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,41 @@ class Blob(dj.Manual):
1414
"""
1515

1616

17+
def insert_blobs(schema):
18+
"""
19+
This function inserts blobs resulting from the following datajoint-matlab code:
20+
21+
self.insert({
22+
1 'simple string' 'character string'
23+
2 '1D vector' 1:15:180
24+
3 'string array' {'string1' 'string2'}
25+
4 'struct array' struct('a', {1,2}, 'b', {struct('c', magic(3)), struct('C', magic(5))})
26+
5 '3D double array' reshape(1:24, [2,3,4])
27+
6 '3D uint8 array' reshape(uint8(1:24), [2,3,4])
28+
7 '3D complex array' fftn(reshape(1:24, [2,3,4]))
29+
})
30+
31+
and then dumped using the command
32+
mysqldump -u username -p --hex-blob test_schema blob_table > blob.sql
33+
"""
34+
35+
schema.connection.query(
36+
"""
37+
INSERT INTO {table_name} VALUES
38+
(1,'simple string',0x6D596D00410200000000000000010000000000000010000000000000000400000000000000630068006100720061006300740065007200200073007400720069006E006700),
39+
(2,'1D vector',0x6D596D0041020000000000000001000000000000000C000000000000000600000000000000000000000000F03F00000000000030400000000000003F4000000000000047400000000000804E4000000000000053400000000000C056400000000000805A400000000000405E4000000000000061400000000000E062400000000000C06440),
40+
(3,'string array',0x6D596D00430200000000000000010000000000000002000000000000002F0000000000000041020000000000000001000000000000000700000000000000040000000000000073007400720069006E00670031002F0000000000000041020000000000000001000000000000000700000000000000040000000000000073007400720069006E0067003200),
41+
(4,'struct array',0x6D596D005302000000000000000100000000000000020000000000000002000000610062002900000000000000410200000000000000010000000000000001000000000000000600000000000000000000000000F03F9000000000000000530200000000000000010000000000000001000000000000000100000063006900000000000000410200000000000000030000000000000003000000000000000600000000000000000000000000204000000000000008400000000000001040000000000000F03F0000000000001440000000000000224000000000000018400000000000001C40000000000000004029000000000000004102000000000000000100000000000000010000000000000006000000000000000000000000000040100100000000000053020000000000000001000000000000000100000000000000010000004300E9000000000000004102000000000000000500000000000000050000000000000006000000000000000000000000003140000000000000374000000000000010400000000000002440000000000000264000000000000038400000000000001440000000000000184000000000000028400000000000003240000000000000F03F0000000000001C400000000000002A400000000000003340000000000000394000000000000020400000000000002C400000000000003440000000000000354000000000000000400000000000002E400000000000003040000000000000364000000000000008400000000000002240),
42+
(5,'3D double array',0x6D596D004103000000000000000200000000000000030000000000000004000000000000000600000000000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400000000000001C40000000000000204000000000000022400000000000002440000000000000264000000000000028400000000000002A400000000000002C400000000000002E40000000000000304000000000000031400000000000003240000000000000334000000000000034400000000000003540000000000000364000000000000037400000000000003840),
43+
(6,'3D uint8 array',0x6D596D0041030000000000000002000000000000000300000000000000040000000000000009000000000000000102030405060708090A0B0C0D0E0F101112131415161718),
44+
(7,'3D complex array',0x6D596D0041030000000000000002000000000000000300000000000000040000000000000006000000010000000000000000C0724000000000000028C000000000000038C0000000000000000000000000000038C0000000000000000000000000000052C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AA4C58E87AB62B400000000000000000AA4C58E87AB62BC0000000000000008000000000000052400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000008000000000000052C000000000000000800000000000000080000000000000008000000000000000800000000000000080
45+
);
46+
""".format(
47+
table_name=Blob.full_table_name
48+
)
49+
)
50+
51+
1752
@pytest.fixture
1853
def schema_blob(connection_test, prefix):
1954
schema = dj.Schema(prefix + "_test1", dict(Blob=Blob), connection=connection_test)
@@ -24,40 +59,6 @@ def schema_blob(connection_test, prefix):
2459

2560
@pytest.fixture
2661
def schema_blob_pop(schema_blob):
27-
def insert_blobs(schema):
28-
"""
29-
This function inserts blobs resulting from the following datajoint-matlab code:
30-
31-
self.insert({
32-
1 'simple string' 'character string'
33-
2 '1D vector' 1:15:180
34-
3 'string array' {'string1' 'string2'}
35-
4 'struct array' struct('a', {1,2}, 'b', {struct('c', magic(3)), struct('C', magic(5))})
36-
5 '3D double array' reshape(1:24, [2,3,4])
37-
6 '3D uint8 array' reshape(uint8(1:24), [2,3,4])
38-
7 '3D complex array' fftn(reshape(1:24, [2,3,4]))
39-
})
40-
41-
and then dumped using the command
42-
mysqldump -u username -p --hex-blob test_schema blob_table > blob.sql
43-
"""
44-
45-
schema.connection.query(
46-
"""
47-
INSERT INTO {table_name} VALUES
48-
(1,'simple string',0x6D596D00410200000000000000010000000000000010000000000000000400000000000000630068006100720061006300740065007200200073007400720069006E006700),
49-
(2,'1D vector',0x6D596D0041020000000000000001000000000000000C000000000000000600000000000000000000000000F03F00000000000030400000000000003F4000000000000047400000000000804E4000000000000053400000000000C056400000000000805A400000000000405E4000000000000061400000000000E062400000000000C06440),
50-
(3,'string array',0x6D596D00430200000000000000010000000000000002000000000000002F0000000000000041020000000000000001000000000000000700000000000000040000000000000073007400720069006E00670031002F0000000000000041020000000000000001000000000000000700000000000000040000000000000073007400720069006E0067003200),
51-
(4,'struct array',0x6D596D005302000000000000000100000000000000020000000000000002000000610062002900000000000000410200000000000000010000000000000001000000000000000600000000000000000000000000F03F9000000000000000530200000000000000010000000000000001000000000000000100000063006900000000000000410200000000000000030000000000000003000000000000000600000000000000000000000000204000000000000008400000000000001040000000000000F03F0000000000001440000000000000224000000000000018400000000000001C40000000000000004029000000000000004102000000000000000100000000000000010000000000000006000000000000000000000000000040100100000000000053020000000000000001000000000000000100000000000000010000004300E9000000000000004102000000000000000500000000000000050000000000000006000000000000000000000000003140000000000000374000000000000010400000000000002440000000000000264000000000000038400000000000001440000000000000184000000000000028400000000000003240000000000000F03F0000000000001C400000000000002A400000000000003340000000000000394000000000000020400000000000002C400000000000003440000000000000354000000000000000400000000000002E400000000000003040000000000000364000000000000008400000000000002240),
52-
(5,'3D double array',0x6D596D004103000000000000000200000000000000030000000000000004000000000000000600000000000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400000000000001C40000000000000204000000000000022400000000000002440000000000000264000000000000028400000000000002A400000000000002C400000000000002E40000000000000304000000000000031400000000000003240000000000000334000000000000034400000000000003540000000000000364000000000000037400000000000003840),
53-
(6,'3D uint8 array',0x6D596D0041030000000000000002000000000000000300000000000000040000000000000009000000000000000102030405060708090A0B0C0D0E0F101112131415161718),
54-
(7,'3D complex array',0x6D596D0041030000000000000002000000000000000300000000000000040000000000000006000000010000000000000000C0724000000000000028C000000000000038C0000000000000000000000000000038C0000000000000000000000000000052C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052C00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000AA4C58E87AB62B400000000000000000AA4C58E87AB62BC0000000000000008000000000000052400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000008000000000000052C000000000000000800000000000000080000000000000008000000000000000800000000000000080
55-
);
56-
""".format(
57-
table_name=Blob.full_table_name
58-
)
59-
)
60-
6162
assert not dj.config["safemode"], "safemode must be disabled"
6263
Blob().delete()
6364
insert_blobs(schema_blob)

0 commit comments

Comments
 (0)