예제 #1
0
 def test_reset_mock(self):
     parent = Mock()
     spec = ['something']
     mock = Mock(name='child', parent=parent, spec=spec)
     mock(sentinel.Something, something=sentinel.SomethingElse)
     something = mock.something
     mock.something()
     mock.side_effect = sentinel.SideEffect
     return_value = mock.return_value
     return_value()
     mock.reset_mock()
     self.assertEqual(mock._mock_name, 'child', 'name incorrectly reset')
     self.assertEqual(mock._mock_parent, parent, 'parent incorrectly reset')
     self.assertEqual(mock._mock_methods, spec, 'methods incorrectly reset')
     self.assertFalse(mock.called, 'called not reset')
     self.assertEqual(mock.call_count, 0, 'call_count not reset')
     self.assertEqual(mock.call_args, None, 'call_args not reset')
     self.assertEqual(mock.call_args_list, [], 'call_args_list not reset')
     self.assertEqual(mock.method_calls, [], 
         'method_calls not initialised correctly: %r != %r' % (mock.
         method_calls, []))
     self.assertEqual(mock.mock_calls, [])
     self.assertEqual(mock.side_effect, sentinel.SideEffect,
         'side_effect incorrectly reset')
     self.assertEqual(mock.return_value, return_value,
         'return_value incorrectly reset')
     self.assertFalse(return_value.called, 'return value mock not reset')
     self.assertEqual(mock._mock_children, {'something': something},
         'children reset incorrectly')
     self.assertEqual(mock.something, something,
         'children incorrectly cleared')
     self.assertFalse(mock.something.called, 'child not reset')
예제 #2
0
    def test_reset_mock(self):
        parent = Mock()
        spec = ["something"]
        mock = Mock(name="child", parent=parent, spec=spec)
        mock(sentinel.Something, something=sentinel.SomethingElse)
        something = mock.something
        mock.something()
        mock.side_effect = sentinel.SideEffect
        return_value = mock.return_value
        return_value()

        mock.reset_mock()

        self.assertEqual(mock._mock_name, "child", "name incorrectly reset")
        self.assertEqual(mock._mock_parent, parent, "parent incorrectly reset")
        self.assertEqual(mock._mock_methods, spec, "methods incorrectly reset")

        self.assertFalse(mock.called, "called not reset")
        self.assertEqual(mock.call_count, 0, "call_count not reset")
        self.assertEqual(mock.call_args, None, "call_args not reset")
        self.assertEqual(mock.call_args_list, [], "call_args_list not reset")
        self.assertEqual(
            mock.method_calls, [], "method_calls not initialised correctly: %r != %r" % (mock.method_calls, [])
        )
        self.assertEqual(mock.mock_calls, [])

        self.assertEqual(mock.side_effect, sentinel.SideEffect, "side_effect incorrectly reset")
        self.assertEqual(mock.return_value, return_value, "return_value incorrectly reset")
        self.assertFalse(return_value.called, "return value mock not reset")
        self.assertEqual(mock._mock_children, {"something": something}, "children reset incorrectly")
        self.assertEqual(mock.something, something, "children incorrectly cleared")
        self.assertFalse(mock.something.called, "child not reset")
예제 #3
0
 def test_reset_mock(self):
     parent = Mock()
     spec = ['something']
     mock = Mock(name='child', parent=parent, spec=spec)
     mock(sentinel.Something, something=sentinel.SomethingElse)
     something = mock.something
     mock.something()
     mock.side_effect = sentinel.SideEffect
     return_value = mock.return_value
     return_value()
     mock.reset_mock()
     self.assertEqual(mock._mock_name, 'child', 'name incorrectly reset')
     self.assertEqual(mock._mock_parent, parent, 'parent incorrectly reset')
     self.assertEqual(mock._mock_methods, spec, 'methods incorrectly reset')
     self.assertFalse(mock.called, 'called not reset')
     self.assertEqual(mock.call_count, 0, 'call_count not reset')
     self.assertEqual(mock.call_args, None, 'call_args not reset')
     self.assertEqual(mock.call_args_list, [], 'call_args_list not reset')
     self.assertEqual(mock.method_calls, [], 'method_calls not initialised correctly: %r != %r' % (mock.method_calls, []))
     self.assertEqual(mock.mock_calls, [])
     self.assertEqual(mock.side_effect, sentinel.SideEffect, 'side_effect incorrectly reset')
     self.assertEqual(mock.return_value, return_value, 'return_value incorrectly reset')
     self.assertFalse(return_value.called, 'return value mock not reset')
     self.assertEqual(mock._mock_children, {'something': something}, 'children reset incorrectly')
     self.assertEqual(mock.something, something, 'children incorrectly cleared')
     self.assertFalse(mock.something.called, 'child not reset')
예제 #4
0
 def test_method_calls_recorded(self):
     mock = Mock()
     mock.something(3, fish=None)
     mock.something_else.something(6, cake=sentinel.Cake)
     self.assertEqual(mock.something_else.method_calls, [('something', (
         6,), {'cake': sentinel.Cake})],
         'method calls not recorded correctly')
     self.assertEqual(mock.method_calls, [('something', (3,), {'fish':
         None}), ('something_else.something', (6,), {'cake': sentinel.
         Cake})], 'method calls not recorded correctly')
예제 #5
0
    def test_method_calls_recorded(self):
        mock = Mock()
        mock.something(3, fish=None)
        mock.something_else.something(6, cake=sentinel.Cake)

        self.assertEqual(mock.something_else.method_calls,
                          [("something", (6,), {'cake': sentinel.Cake})],
                          "method calls not recorded correctly")
        self.assertEqual(mock.method_calls, [
            ("something", (3,), {'fish': None}),
            ("something_else.something", (6,), {'cake': sentinel.Cake})
        ],
            "method calls not recorded correctly")
예제 #6
0
 def test_attribute_access_returns_mocks(self):
     mock = Mock()
     something = mock.something
     self.assertTrue(is_instance(something, Mock), "attribute isn't a mock")
     self.assertEqual(mock.something, something, 'different attributes returned for same name')
     mock = Mock()
     mock.something.return_value = 3
     self.assertEqual(mock.something(), 3, 'method returned wrong value')
     self.assertTrue(mock.something.called, "method didn't record being called")
예제 #7
0
    def test_reset_mock(self):
        parent = Mock()
        spec = ["something"]
        mock = Mock(name="child", parent=parent, spec=spec)
        mock(sentinel.Something, something=sentinel.SomethingElse)
        something = mock.something
        mock.something()
        mock.side_effect = sentinel.SideEffect
        return_value = mock.return_value
        return_value()

        mock.reset_mock()

        self.assertEqual(mock._mock_name, "child",
                         "name incorrectly reset")
        self.assertEqual(mock._mock_parent, parent,
                         "parent incorrectly reset")
        self.assertEqual(mock._mock_methods, spec,
                         "methods incorrectly reset")

        self.assertFalse(mock.called, "called not reset")
        self.assertEqual(mock.call_count, 0, "call_count not reset")
        self.assertEqual(mock.call_args, None, "call_args not reset")
        self.assertEqual(mock.call_args_list, [], "call_args_list not reset")
        self.assertEqual(mock.method_calls, [],
                        "method_calls not initialised correctly: %r != %r" %
                        (mock.method_calls, []))
        self.assertEqual(mock.mock_calls, [])

        self.assertEqual(mock.side_effect, sentinel.SideEffect,
                          "side_effect incorrectly reset")
        self.assertEqual(mock.return_value, return_value,
                          "return_value incorrectly reset")
        self.assertFalse(return_value.called, "return value mock not reset")
        self.assertEqual(mock._mock_children, {'something': something},
                          "children reset incorrectly")
        self.assertEqual(mock.something, something,
                          "children incorrectly cleared")
        self.assertFalse(mock.something.called, "child not reset")
예제 #8
0
 def test_method_calls_compare_easily(self):
     mock = Mock()
     mock.something()
     self.assertEqual(mock.method_calls, [('something',)])
     self.assertEqual(mock.method_calls, [('something', (), {})])
     mock = Mock()
     mock.something('different')
     self.assertEqual(mock.method_calls, [('something', ('different',))])
     self.assertEqual(mock.method_calls, [('something', ('different',), {})])
     mock = Mock()
     mock.something(x=1)
     self.assertEqual(mock.method_calls, [('something', {'x': 1})])
     self.assertEqual(mock.method_calls, [('something', (), {'x': 1})])
     mock = Mock()
     mock.something('different', some='more')
     self.assertEqual(mock.method_calls, [('something', ('different',), {'some': 'more'})])
예제 #9
0
    def test_method_calls_compare_easily(self):
        mock = Mock()
        mock.something()
        self.assertEqual(mock.method_calls, [("something",)])
        self.assertEqual(mock.method_calls, [("something", (), {})])

        mock = Mock()
        mock.something("different")
        self.assertEqual(mock.method_calls, [("something", ("different",))])
        self.assertEqual(mock.method_calls, [("something", ("different",), {})])

        mock = Mock()
        mock.something(x=1)
        self.assertEqual(mock.method_calls, [("something", {"x": 1})])
        self.assertEqual(mock.method_calls, [("something", (), {"x": 1})])

        mock = Mock()
        mock.something("different", some="more")
        self.assertEqual(mock.method_calls, [("something", ("different",), {"some": "more"})])