def test_add_data_multiple_chunk3(self, m_isinstance, m_scd, m_open, _m_pickle): """ Test using the DataFileSet with "uuid_chunk" set to 3 (arbitrary choice) """ # Pretend that we are giving DataElement instances m_isinstance.return_value = True # Testing that appropriate directories are given to safe_create_dir and # appropriate filepaths are passed to open. expected_uuid_1 = "abcdefg" expected_uuid_2 = "1234567" expected_uuid_3 = "4F*s93#5" mock_elem_1 = mock.MagicMock() mock_elem_1.uuid.return_value = expected_uuid_1 mock_elem_2 = mock.MagicMock() mock_elem_2.uuid.return_value = expected_uuid_2 mock_elem_3 = mock.MagicMock() mock_elem_3.uuid.return_value = expected_uuid_3 # Chunk = 3 dfs = DataFileSet('/', uuid_chunk=3) # noinspection PyTypeChecker dfs.add_data(mock_elem_1, mock_elem_2, mock_elem_3) # Created correct directories self.assertEqual(m_scd.call_count, 3) m_scd.assert_any_call('/abc/de') m_scd.assert_any_call('/123/45') m_scd.assert_any_call('/4F*/s93') # called open correctly 3 times self.assertEqual(m_open.call_count, 3) m_open.assert_any_call('/abc/de/UUID_abcdefg.dataElement', 'wb') m_open.assert_any_call('/123/45/UUID_1234567.dataElement', 'wb') m_open.assert_any_call('/4F*/s93/UUID_4F*s93#5.dataElement', 'wb')
def test_add_data_multiple_chunk3_relative(self, m_isinstance, m_scd, m_open, m_pickle): # Pretend that we are giving DataElement instances m_isinstance.return_value = True # Testing that appropriate directories are given to safe_create_dir and # appropriate filepaths are passed to open. expected_uuid_1 = "abcdefg" expected_uuid_2 = "1234567" expected_uuid_3 = "4F*s93#5" mock_elem_1 = mock.MagicMock() mock_elem_1.uuid.return_value = expected_uuid_1 mock_elem_2 = mock.MagicMock() mock_elem_2.uuid.return_value = expected_uuid_2 mock_elem_3 = mock.MagicMock() mock_elem_3.uuid.return_value = expected_uuid_3 # Chunk = 3 dfs = DataFileSet('rel/subdir', uuid_chunk=3) dfs.add_data(mock_elem_1, mock_elem_2, mock_elem_3) # Created correct directories nose.tools.assert_equal(m_scd.call_count, 3) m_scd.assert_any_call('rel/subdir/abc/de') m_scd.assert_any_call('rel/subdir/123/45') m_scd.assert_any_call('rel/subdir/4F*/s93') # called open correctly 3 times nose.tools.assert_equal(m_open.call_count, 3) m_open.assert_any_call('rel/subdir/abc/de/UUID_abcdefg.dataElement', 'wb') m_open.assert_any_call('rel/subdir/123/45/UUID_1234567.dataElement', 'wb') m_open.assert_any_call('rel/subdir/4F*/s93/UUID_4F*s93#5.dataElement', 'wb')
def test_add_data_multiple_chunk3_relative(self, m_isinstance, m_scd, m_open, _m_pickle): # Pretend that we are giving DataElement instances m_isinstance.return_value = True # Testing that appropriate directories are given to safe_create_dir and # appropriate filepaths are passed to open. expected_uuid_1 = "abcdefg" expected_uuid_2 = "1234567" expected_uuid_3 = "4F*s93#5" mock_elem_1 = mock.MagicMock() mock_elem_1.uuid.return_value = expected_uuid_1 mock_elem_2 = mock.MagicMock() mock_elem_2.uuid.return_value = expected_uuid_2 mock_elem_3 = mock.MagicMock() mock_elem_3.uuid.return_value = expected_uuid_3 # Chunk = 3 dfs = DataFileSet('rel/subdir', uuid_chunk=3) dfs.add_data(mock_elem_1, mock_elem_2, mock_elem_3) # Created correct directories self.assertEqual(m_scd.call_count, 3) m_scd.assert_any_call('rel/subdir/abc/de') m_scd.assert_any_call('rel/subdir/123/45') m_scd.assert_any_call('rel/subdir/4F*/s93') # called open correctly 3 times self.assertEqual(m_open.call_count, 3) m_open.assert_any_call('rel/subdir/abc/de/UUID_abcdefg.dataElement', 'wb') m_open.assert_any_call('rel/subdir/123/45/UUID_1234567.dataElement', 'wb') m_open.assert_any_call('rel/subdir/4F*/s93/UUID_4F*s93#5.dataElement', 'wb')
def test_add_data_multiple_chunk0(self, m_isinstance, m_scd, m_open, _m_pickle): # Pretend that we are giving DataElement instances m_isinstance.return_value = True # Testing that appropriate directories are given to safe_create_dir and # appropriate filepaths are passed to open. expected_uuid_1 = "abcdefg" expected_uuid_2 = "1234567" expected_uuid_3 = "4F*s93#5" mock_elem_1 = mock.MagicMock() mock_elem_1.uuid.return_value = expected_uuid_1 mock_elem_2 = mock.MagicMock() mock_elem_2.uuid.return_value = expected_uuid_2 mock_elem_3 = mock.MagicMock() mock_elem_3.uuid.return_value = expected_uuid_3 # Chunk = None dfs = DataFileSet('/', uuid_chunk=None) dfs.add_data(mock_elem_1, mock_elem_2, mock_elem_3) # Created root 3 times self.assertEqual(m_scd.call_count, 3) m_scd.assert_called_with('/') # called open correctly 3 times self.assertEqual(m_open.call_count, 3) m_open.assert_any_call('/UUID_abcdefg.dataElement', 'wb') m_open.assert_any_call('/UUID_1234567.dataElement', 'wb') m_open.assert_any_call('/UUID_4F*s93#5.dataElement', 'wb')
def test_data_serialization(self, m_dfs_sde): save_dir = '/not/a/real/dir' ds = DataFileSet(save_dir) del ds ntools.assert_false(m_dfs_sde.called) ds = DataFileSet(save_dir) de = DataMemoryElement('foo', 'text/plain') ds.add_data(de) del ds ntools.assert_true(m_dfs_sde.called)
def test_add_data_single(self, m_isinstance, m_scd, m_open, m_pickle): # Pretend that we are giving DataElement instances m_isinstance.return_value = True # Testing that appropriate directories are given to safe_create_dir and # appropriate filepaths are passed to open. expected_uuid = 'abcd' mock_elem = mock.MagicMock() mock_elem.uuid.return_value = expected_uuid dfs = DataFileSet('/', uuid_chunk=None) dfs.add_data(mock_elem) m_scd.assert_called_with('/') m_open.assert_called_with('/UUID_abcd.dataElement', 'wb') dfs = DataFileSet('/', uuid_chunk=1) dfs.add_data(mock_elem) m_scd.assert_called_with('/') m_open.assert_called_with('/UUID_abcd.dataElement', 'wb') dfs = DataFileSet('/', uuid_chunk=2) dfs.add_data(mock_elem) m_scd.assert_called_with('/ab') m_open.assert_called_with('/ab/UUID_abcd.dataElement', 'wb')
def test_add_data_single(self, m_isinstance, m_scd, m_open, _m_pickle): # Pretend that we are giving DataElement instances m_isinstance.return_value = True # Testing that appropriate directories are given to safe_create_dir and # appropriate filepaths are passed to open. expected_uuid = 'abcd' mock_elem = mock.MagicMock() mock_elem.uuid.return_value = expected_uuid dfs = DataFileSet('/', uuid_chunk=None) dfs.add_data(mock_elem) m_scd.assert_called_with('/') m_open.assert_called_with('/UUID_abcd.dataElement', 'wb') dfs = DataFileSet('/', uuid_chunk=1) dfs.add_data(mock_elem) m_scd.assert_called_with('/') m_open.assert_called_with('/UUID_abcd.dataElement', 'wb') dfs = DataFileSet('/', uuid_chunk=2) dfs.add_data(mock_elem) m_scd.assert_called_with('/ab') m_open.assert_called_with('/ab/UUID_abcd.dataElement', 'wb')