Esempio n. 1
0
    def test_compress_file(self):
        """
        Test file compression makes the appropriate calls
        """
        def permit_single_call():
            data = ['fake input file data', None]
            for d in data:
                yield d

        fake_input_data = 'fake input file data'
        fake_input_file_name = 'fake_input_file_name'
        fake_output_dir = 'fake_output_dir'
        fake_temporary_file_handle = 'fake_temporary_file_handle'
        fake_temporary_file_path = 'fake_temporary_file_path'

        with patch('iceit.utils.mkstemp') as mock_mkstemp:
            mock_mkstemp.return_value = (fake_temporary_file_handle, fake_temporary_file_path)
            with patch('iceit.utils.BZ2File', spec=BZ2File) as mock_bz2:
                mock_bz2_handle = MagicMock()
                mock_bz2_handle.write.return_value = None
                mock_bz2_handle.__enter__.return_value = mock_bz2_handle
                mock_bz2.return_value = mock_bz2_handle

                with patch('iceit.utils.open', mock_open(read_data=fake_input_data), create=True) as mock_open_obj:
                    mock_handle = mock_open_obj.return_value
                    mock_handle.read.side_effect = permit_single_call()
                    output_file_name = FileUtils.compress_file(input_file=fake_input_file_name, output_dir=fake_output_dir)

                    mock_mkstemp.assert_called_once_with(dir=fake_output_dir)
                    mock_bz2_handle.write.assert_called_once_with(fake_input_data)

                    self.assertEqual(fake_temporary_file_path, output_file_name)
Esempio n. 2
0
    def test_get_file_hash(self):
        """
        Test file hashes are calculated correctly
        """
        def permit_single_call():
            data = ['fake input file data', None]
            for d in data:
                yield d

        with patch('iceit.utils.open', mock_open(read_data='fake input file data'), create=True) as mock_open_obj:
            mock_handle = mock_open_obj.return_value
            mock_handle.read.side_effect = permit_single_call()
            calculated_hash = FileUtils.get_file_hash('fake_path')
            self.assertEqual('1de7e43607d31ade4a1f380f660d7b70410e35a12b7347edad92ddf21bbd2e7d', calculated_hash)
Esempio n. 3
0
    def test_get_file_hash(self):
        """
        Test file hashes are calculated correctly
        """
        def permit_single_call():
            data = ['fake input file data', None]
            for d in data:
                yield d

        with patch('iceit.utils.open',
                   mock_open(read_data='fake input file data'),
                   create=True) as mock_open_obj:
            mock_handle = mock_open_obj.return_value
            mock_handle.read.side_effect = permit_single_call()
            calculated_hash = FileUtils.get_file_hash('fake_path')
            self.assertEqual(
                '1de7e43607d31ade4a1f380f660d7b70410e35a12b7347edad92ddf21bbd2e7d',
                calculated_hash)
Esempio n. 4
0
    def test_compress_file(self):
        """
        Test file compression makes the appropriate calls
        """
        def permit_single_call():
            data = ['fake input file data', None]
            for d in data:
                yield d

        fake_input_data = 'fake input file data'
        fake_input_file_name = 'fake_input_file_name'
        fake_output_dir = 'fake_output_dir'
        fake_temporary_file_handle = 'fake_temporary_file_handle'
        fake_temporary_file_path = 'fake_temporary_file_path'

        with patch('iceit.utils.mkstemp') as mock_mkstemp:
            mock_mkstemp.return_value = (fake_temporary_file_handle,
                                         fake_temporary_file_path)
            with patch('iceit.utils.BZ2File', spec=BZ2File) as mock_bz2:
                mock_bz2_handle = MagicMock()
                mock_bz2_handle.write.return_value = None
                mock_bz2_handle.__enter__.return_value = mock_bz2_handle
                mock_bz2.return_value = mock_bz2_handle

                with patch('iceit.utils.open',
                           mock_open(read_data=fake_input_data),
                           create=True) as mock_open_obj:
                    mock_handle = mock_open_obj.return_value
                    mock_handle.read.side_effect = permit_single_call()
                    output_file_name = FileUtils.compress_file(
                        input_file=fake_input_file_name,
                        output_dir=fake_output_dir)

                    mock_mkstemp.assert_called_once_with(dir=fake_output_dir)
                    mock_bz2_handle.write.assert_called_once_with(
                        fake_input_data)

                    self.assertEqual(fake_temporary_file_path,
                                     output_file_name)