summaryrefslogtreecommitdiff
path: root/mock/tests/testmock.py
diff options
context:
space:
mode:
authorRobert Collins <rbtcollins@hp.com>2015-07-24 03:48:20 +1200
committerRobert Collins <rbtcollins@hp.com>2015-07-24 07:20:55 +1200
commit4292afa83ce217f1b2f492735aa4a03e6b68242f (patch)
treef98f275561d06fe194ddd7dcf70a3fbd5a292e86 /mock/tests/testmock.py
parentf12f9ddb66a5b46427d9a16231adb688cffaabd0 (diff)
downloadmock-4292afa83ce217f1b2f492735aa4a03e6b68242f.tar.gz
Issue #21750: Further fixup to be styled like other mock APIs.
Diffstat (limited to 'mock/tests/testmock.py')
-rw-r--r--mock/tests/testmock.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/mock/tests/testmock.py b/mock/tests/testmock.py
index 4be8779..d956064 100644
--- a/mock/tests/testmock.py
+++ b/mock/tests/testmock.py
@@ -10,6 +10,7 @@ from mock.tests.support import (
import copy
import pickle
import sys
+import tempfile
import mock
from mock import (
@@ -1436,7 +1437,33 @@ class MockTest(unittest.TestCase):
self.assertEqual(m.mock_calls, [call.__int__(), call.__float__()])
self.assertEqual(m.method_calls, [])
-
+ def test_mock_open_reuse_issue_21750(self):
+ mocked_open = mock.mock_open(read_data='data')
+ f1 = mocked_open('a-name')
+ f1_data = f1.read()
+ f2 = mocked_open('another-name')
+ f2_data = f2.read()
+ self.assertEqual(f1_data, f2_data)
+
+ def test_mock_open_write(self):
+ # Test exception in file writing write()
+ mock_namedtemp = mock.mock_open(mock.MagicMock(name='JLV'))
+ with mock.patch('tempfile.NamedTemporaryFile', mock_namedtemp):
+ mock_filehandle = mock_namedtemp.return_value
+ mock_write = mock_filehandle.write
+ mock_write.side_effect = OSError('Test 2 Error')
+ def attempt():
+ tempfile.NamedTemporaryFile().write('asd')
+ self.assertRaises(OSError, attempt)
+
+ def test_mock_open_alter_readline(self):
+ mopen = mock.mock_open(read_data='foo\nbarn')
+ mopen.return_value.readline.side_effect = lambda *args:'abc'
+ first = mopen().readline()
+ second = mopen().readline()
+ self.assertEqual('abc', first)
+ self.assertEqual('abc', second)
+
def test_mock_parents(self):
for Klass in Mock, MagicMock:
m = Klass()