Example #1
0
 def test_makedir_other_exception(self, makedirs):
     # If makedirs() raises any other kind of exception, we should
     # propogate the exception.
     makedirs.side_effect = RuntimeError()
     with self.assertRaises(RuntimeError):
         fileinfo.save_file(self.filename, self.response_data, self.last_update)
     self.assertFalse(os.path.isfile(self.filename))
Example #2
0
 def test_stream_file_md5_error(self):
     with mock.patch('sys.stdout', new=six.StringIO()) as mock_stdout:
         self.response_data['ETag'] = '"0"'
         with self.assertRaises(MD5Error):
             fileinfo.save_file(None, self.response_data, None, True)
         # Make sure nothing is written to stdout.
         self.assertEqual(mock_stdout.getvalue(), "")
Example #3
0
 def test_makedir_other_exception(self, makedirs):
     # If makedirs() raises any other kind of exception, we should
     # propogate the exception.
     makedirs.side_effect = RuntimeError()
     with self.assertRaises(RuntimeError):
         fileinfo.save_file(self.filename, self.response_data,
                            self.last_update)
     self.assertFalse(os.path.isfile(self.filename))
Example #4
0
 def test_no_raise_md5_when_md5_unavailable(self):
     self.response_data['ETag'] = '"0"'
     self.response_data['ServerSideEncryption'] = 'AES256'
     self.set_md5_available(False)
     # Should not raise any md5 error.
     fileinfo.save_file(self.filename, self.response_data, self.last_update)
     # The file should have been saved.
     self.assertTrue(os.path.isfile(self.filename))
Example #5
0
 def test_no_raise_md5_with_kms(self):
     # Ensure MD5 is not checked when kms is used by providing a bad MD5.
     self.response_data['ETag'] = '"0"'
     self.response_data['ServerSideEncryption'] = 'aws:kms'
     # Should not raise any md5 error.
     fileinfo.save_file(self.filename, self.response_data, self.last_update)
     # The file should have been saved.
     self.assertTrue(os.path.isfile(self.filename))
Example #6
0
 def test_raise_md5_with_no_kms_sse(self):
     # Ensure MD5 is checked if the sse algorithm is not kms.
     self.response_data["ETag"] = '"0"'
     self.response_data["ServerSideEncryption"] = "AES256"
     # Should raise a md5 error.
     with self.assertRaises(MD5Error):
         fileinfo.save_file(self.filename, self.response_data, self.last_update)
     # The file should not have been saved.
     self.assertFalse(os.path.isfile(self.filename))
Example #7
0
 def test_raise_md5_with_no_kms_sse(self):
     # Ensure MD5 is checked if the sse algorithm is not kms.
     self.response_data['ETag'] = '"0"'
     self.response_data['ServerSideEncryption'] = 'AES256'
     # Should raise a md5 error.
     with self.assertRaises(MD5Error):
         fileinfo.save_file(self.filename, self.response_data,
                            self.last_update)
     # The file should not have been saved.
     self.assertFalse(os.path.isfile(self.filename))
Example #8
0
 def test_stream_file(self):
     with mock.patch('sys.stdout', new=six.StringIO()) as mock_stdout:
         fileinfo.save_file(None, self.response_data, None, True)
         self.assertEqual(mock_stdout.getvalue(), "foobar")
Example #9
0
 def test_save_file_dir_exists(self):
     os.makedirs(os.path.dirname(self.filename))
     # We should still be able to save the file.
     fileinfo.save_file(self.filename, self.response_data, self.last_update)
     self.assertTrue(os.path.isfile(self.filename))
Example #10
0
 def test_save_file(self):
     fileinfo.save_file(self.filename, self.response_data, self.last_update)
     self.assertTrue(os.path.isfile(self.filename))