/
test_attribute_mock.py
37 lines (27 loc) · 1.15 KB
/
test_attribute_mock.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import unittest
from mock_decorators.attribute_mock import AttributeMock
from tests.mock_decorators import module_test
import sys
class TestAttributeMock(unittest.TestCase):
def test_attribute_mock_ok(self):
changed_result = 20
@AttributeMock(module_test, 'a_parameter', changed_result)
def inner_test():
return module_test.a_parameter
result_mocked = inner_test()
self.assertEqual(result_mocked, changed_result)
self.assertNotEqual(module_test.a_parameter, changed_result)
def test_attribute_mock_new_parameter(self):
changed_result = 20
@AttributeMock(module_test, 'other_parameter', changed_result)
def inner_test():
return module_test.other_parameter
def inner_test2():
return module_test.other_parameter
result_mocked = inner_test()
self.assertEqual(result_mocked, changed_result)
print(sys.version)
if sys.version_info < (3, 0):
self.assertRaisesRegexp(AttributeError, 'other_parameter', inner_test2)
else:
self.assertRaisesRegex(AttributeError, 'other_parameter', inner_test2)