Example #1
0
    def test_assert_has_calls(self):
        kalls1 = [call(1, 2), ({"a": 3},), ((3, 4),), call(b=6), ("", (1,), {"b": 6})]
        kalls2 = [call.foo(), call.bar(1)]
        kalls2.extend(call.spam().baz(a=3).call_list())
        kalls2.extend(call.bam(set(), foo={}).fish([1]).call_list())

        mocks = []
        for mock in Mock(), MagicMock():
            mock(1, 2)
            mock(a=3)
            mock(3, 4)
            mock(b=6)
            mock(1, b=6)
            mocks.append((mock, kalls1))

        mock = Mock()
        mock.foo()
        mock.bar(1)
        mock.spam().baz(a=3)
        mock.bam(set(), foo={}).fish([1])
        mocks.append((mock, kalls2))

        for mock, kalls in mocks:
            for i in range(len(kalls)):
                for step in 1, 2, 3:
                    these = kalls[i : i + step]
                    mock.assert_has_calls(these)

                    if len(these) > 1:
                        self.assertRaises(AssertionError, mock.assert_has_calls, list(reversed(these)))
Example #2
0
 def test_assert_has_calls(self):
     kalls1 = [call(1, 2), ({'a': 3},), ((3, 4),), call(b=6), ('', (1,),
         {'b': 6})]
     kalls2 = [call.foo(), call.bar(1)]
     kalls2.extend(call.spam().baz(a=3).call_list())
     kalls2.extend(call.bam(set(), foo={}).fish([1]).call_list())
     mocks = []
     for mock in (Mock(), MagicMock()):
         mock(1, 2)
         mock(a=3)
         mock(3, 4)
         mock(b=6)
         mock(1, b=6)
         mocks.append((mock, kalls1))
     mock = Mock()
     mock.foo()
     mock.bar(1)
     mock.spam().baz(a=3)
     mock.bam(set(), foo={}).fish([1])
     mocks.append((mock, kalls2))
     for mock, kalls in mocks:
         for i in range(len(kalls)):
             for step in (1, 2, 3):
                 these = kalls[i:i + step]
                 mock.assert_has_calls(these)
                 if len(these) > 1:
                     self.assertRaises(AssertionError, mock.
                         assert_has_calls, list(reversed(these)))
Example #3
0
 def test_adding_child_mock(self):
     for Klass in (NonCallableMock, Mock, MagicMock, NonCallableMagicMock):
         mock = Klass()
         mock.foo = Mock()
         mock.foo()
         self.assertEqual(mock.method_calls, [call.foo()])
         self.assertEqual(mock.mock_calls, [call.foo()])
         mock = Klass()
         mock.bar = Mock(name='name')
         mock.bar()
         self.assertEqual(mock.method_calls, [])
         self.assertEqual(mock.mock_calls, [])
         mock = Klass()
         mock.baz = MagicMock()()
         mock.baz()
         self.assertEqual(mock.method_calls, [])
         self.assertEqual(mock.mock_calls, [])
Example #4
0
 def test_adding_child_mock(self):
     for Klass in (NonCallableMock, Mock, MagicMock, NonCallableMagicMock):
         mock = Klass()
         mock.foo = Mock()
         mock.foo()
         self.assertEqual(mock.method_calls, [call.foo()])
         self.assertEqual(mock.mock_calls, [call.foo()])
         mock = Klass()
         mock.bar = Mock(name='name')
         mock.bar()
         self.assertEqual(mock.method_calls, [])
         self.assertEqual(mock.mock_calls, [])
         mock = Klass()
         mock.baz = MagicMock()()
         mock.baz()
         self.assertEqual(mock.method_calls, [])
         self.assertEqual(mock.mock_calls, [])
Example #5
0
    def test_adding_child_mock(self):
        for Klass in NonCallableMock, Mock, MagicMock, NonCallableMagicMock:
            mock = Klass()

            mock.foo = Mock()
            mock.foo()

            self.assertEqual(mock.method_calls, [call.foo()])
            self.assertEqual(mock.mock_calls, [call.foo()])

            mock = Klass()
            mock.bar = Mock(name='name')
            mock.bar()
            self.assertEqual(mock.method_calls, [])
            self.assertEqual(mock.mock_calls, [])

            # mock with an existing _new_parent but no name
            mock = Klass()
            mock.baz = MagicMock()()
            mock.baz()
            self.assertEqual(mock.method_calls, [])
            self.assertEqual(mock.mock_calls, [])
Example #6
0
    def test_adding_child_mock(self):
        for Klass in NonCallableMock, Mock, MagicMock, NonCallableMagicMock:
            mock = Klass()

            mock.foo = Mock()
            mock.foo()

            self.assertEqual(mock.method_calls, [call.foo()])
            self.assertEqual(mock.mock_calls, [call.foo()])

            mock = Klass()
            mock.bar = Mock(name='name')
            mock.bar()
            self.assertEqual(mock.method_calls, [])
            self.assertEqual(mock.mock_calls, [])

            # mock with an existing _new_parent but no name
            mock = Klass()
            mock.baz = MagicMock()()
            mock.baz()
            self.assertEqual(mock.method_calls, [])
            self.assertEqual(mock.mock_calls, [])