Пример #1
0
 def test_perform_checks_does_not_fails_if_there_are_no_checks(self):
     """
     ``perform_checks`` does not fail if there are no checks.
     """
     cleaner = Cleaner()
     self.assertEqual(len(list(cleaner.checks)), 0)
     cleaner.perform_checks({}, True)
Пример #2
0
 def test_perform_checks_does_not_fails_if_there_are_no_checks(self):
     """
     ``perform_checks`` does not fail if there are no checks.
     """
     cleaner = Cleaner()
     self.assertEqual(len(list(cleaner.checks)), 0)
     cleaner.perform_checks({}, True)
Пример #3
0
 def test_clean_raises_when_no_checks(self):
     """
     ``clean`` raises when there are no checks.
     """
     cleaner = Cleaner()
     with self.assertRaisesRegexp(ValueError,
                                  "no checks have been implemented"):
         cleaner.clean({})
Пример #4
0
 def test_assert_object_before_cleaning_raises_when_no_checks(self):
     """
     ``assert_object_before_cleaning`` raises when there are no checks.
     """
     cleaner = Cleaner()
     with self.assertRaisesRegexp(ValueError,
                                  "no checks have been implemented"):
         cleaner.assert_object_before_cleaning({})
Пример #5
0
 def test_clean_raises_when_no_checks(self):
     """
     ``clean`` raises when there are no checks.
     """
     cleaner = Cleaner()
     with self.assertRaisesRegex(ValueError,
                                 "no checks have been implemented"):
         cleaner.clean({})
Пример #6
0
 def test_assert_object_before_cleaning_raises_when_no_checks(self):
     """
     ``assert_object_before_cleaning`` raises when there are no checks.
     """
     cleaner = Cleaner()
     with self.assertRaisesRegex(ValueError,
                                 "no checks have been implemented"):
         cleaner.assert_object_before_cleaning({})
Пример #7
0
 def test_checks_returns_iterator(self):
     """
     ``checks`` returns an iterator of checks.
     """
     cleaner = Cleaner()
     cleaner.check_foo = lambda *_: 1
     cleaner.check_bar = lambda *_: 1
     checks = list(cleaner.checks)
     self.assertCountEqual(checks, [cleaner.check_bar, cleaner.check_foo])
Пример #8
0
 def test_assert_object_before_cleaning_raises_on_failure(self):
     """
     ``assert_object_before_cleaning`` raises ``AssertionError`` when
     there is a check failure.
     """
     cleaner = Cleaner()
     cleaner.check_foo = lambda *_: False
     with self.assertRaises(AssertionError):
         cleaner.assert_object_before_cleaning({})
Пример #9
0
 def test_checks_returns_iterator(self):
     """
     ``checks`` returns an iterator of checks.
     """
     cleaner = Cleaner()
     cleaner.check_foo = lambda *_: 1
     cleaner.check_bar = lambda *_: 1
     checks = list(cleaner.checks)
     self.assertItemsEqual(checks, [cleaner.check_bar, cleaner.check_foo])
Пример #10
0
 def test_assert_object_before_cleaning_raises_on_failure(self):
     """
     ``assert_object_before_cleaning`` raises ``AssertionError`` when
     there is a check failure.
     """
     cleaner = Cleaner()
     cleaner.check_foo = lambda *_: False
     with self.assertRaises(AssertionError):
         cleaner.assert_object_before_cleaning({})
Пример #11
0
 def test_emit_keep_emits(self):
     """
     ``emit_keep`` emits a ``message`` event.
     """
     cleaner = Cleaner()
     mocked = mock.MagicMock()
     cleaner.ee.on("message", mocked)
     cleaner.emit_keep("Foo", "reason")
     self.assertEqual(mocked.call_count, 1)
     self.assertEqual(mocked.call_args[0], ("Kept Foo, because reason.", ))
Пример #12
0
 def test_emit_clean_emits(self):
     """
     ``emit_message`` emits a ``message`` event.
     """
     cleaner = Cleaner()
     mocked = mock.MagicMock()
     cleaner.ee.on("message", mocked)
     cleaner.emit_clean("Foo")
     self.assertEqual(mocked.call_count, 1)
     self.assertEqual(mocked.call_args[0], ("Cleaned Foo.", ))
Пример #13
0
 def test_emit_clean_emits(self):
     """
     ``emit_message`` emits a ``message`` event.
     """
     cleaner = Cleaner()
     mocked = mock.MagicMock()
     cleaner.ee.on("message", mocked)
     cleaner.emit_clean("Foo")
     self.assertEqual(mocked.call_count, 1)
     self.assertEqual(mocked.call_args[0], ("Cleaned Foo.", ))
Пример #14
0
 def test_emit_keep_emits(self):
     """
     ``emit_keep`` emits a ``message`` event.
     """
     cleaner = Cleaner()
     mocked = mock.MagicMock()
     cleaner.ee.on("message", mocked)
     cleaner.emit_keep("Foo", "reason")
     self.assertEqual(mocked.call_count, 1)
     self.assertEqual(mocked.call_args[0], ("Kept Foo, because reason.", ))
Пример #15
0
 def test_run_raises_when_no_checks(self):
     """
     ``run`` raises when there are no checks.
     """
     with mock.patch('lexicography.cleaning.Cleaner.to_clean',
                     new_callable=mock.PropertyMock) as clean_mock:
         clean_mock.return_value = self.fakes
         cleaner = Cleaner()
         with self.assertRaisesRegex(ValueError,
                                     "no checks have been implemented"):
             cleaner.run()
Пример #16
0
 def test_run_raises_when_no_checks(self):
     """
     ``run`` raises when there are no checks.
     """
     with mock.patch('lexicography.cleaning.Cleaner.to_clean',
                     new_callable=mock.PropertyMock) as clean_mock:
         clean_mock.return_value = self.fakes
         cleaner = Cleaner()
         with self.assertRaisesRegexp(ValueError,
                                      "no checks have been implemented"):
             cleaner.run()
Пример #17
0
 def test_emit_clean_emits_a_different_message_when_noop_True(self):
     """
     ``emit_message`` emits a different ``message`` event when ``noop``
     is ``True``.
     """
     cleaner = Cleaner(noop=True)
     mocked = mock.MagicMock()
     cleaner.ee.on("message", mocked)
     cleaner.emit_clean("Foo")
     self.assertEqual(mocked.call_count, 1)
     self.assertEqual(mocked.call_args[0], ("Would clean Foo.", ))
Пример #18
0
 def test_emit_keep_emits_a_different_message_when_noop_True(self):
     """
     ``emit_keep`` emits a ``message`` event when ``noop`` is ``True``.
     """
     cleaner = Cleaner(noop=True)
     mocked = mock.MagicMock()
     cleaner.ee.on("message", mocked)
     cleaner.emit_keep("Foo", "reason")
     self.assertEqual(mocked.call_count, 1)
     self.assertEqual(mocked.call_args[0],
                      ("Would keep Foo, because reason.", ))
Пример #19
0
 def test_emit_keep_emits_a_different_message_when_noop_True(self):
     """
     ``emit_keep`` emits a ``message`` event when ``noop`` is ``True``.
     """
     cleaner = Cleaner(noop=True)
     mocked = mock.MagicMock()
     cleaner.ee.on("message", mocked)
     cleaner.emit_keep("Foo", "reason")
     self.assertEqual(mocked.call_count, 1)
     self.assertEqual(mocked.call_args[0],
                      ("Would keep Foo, because reason.", ))
Пример #20
0
 def test_emit_clean_emits_a_different_message_when_noop_True(self):
     """
     ``emit_message`` emits a different ``message`` event when ``noop``
     is ``True``.
     """
     cleaner = Cleaner(noop=True)
     mocked = mock.MagicMock()
     cleaner.ee.on("message", mocked)
     cleaner.emit_clean("Foo")
     self.assertEqual(mocked.call_count, 1)
     self.assertEqual(mocked.call_args[0], ("Would clean Foo.", ))
Пример #21
0
 def test_clean_calls_checks(self):
     """
     ``clean`` calls the checks.
     """
     cleaner = Cleaner()
     cleaner.check_foo = mock.MagicMock()
     cleaner.check_foo.return_value = False
     obj = {}
     with self.assertRaises(AssertionError):
         cleaner.clean(obj)
     self.assertEqual(cleaner.check_foo.call_count, 1)
     self.assertEqual(cleaner.check_foo.call_args[0], (obj, False))
Пример #22
0
 def test_clean_calls_checks(self):
     """
     ``clean`` calls the checks.
     """
     cleaner = Cleaner()
     cleaner.check_foo = mock.MagicMock()
     cleaner.check_foo.return_value = False
     obj = {}
     with self.assertRaises(AssertionError):
         cleaner.clean(obj)
     self.assertEqual(cleaner.check_foo.call_count, 1)
     self.assertEqual(cleaner.check_foo.call_args[0], (obj, False))
Пример #23
0
    def test_emit_keep_does_not_call_emit_message_if_no_listeners(self):
        """
        ``emit_keep`` does not call ``emit_message`` when there are
        no listeners.
        """
        cleaner = Cleaner()
        with mock.patch('lexicography.cleaning.Cleaner.emit_message') \
                as emit_message_mock:
            cleaner.emit_keep("Foo", "reason")
            self.assertEqual(emit_message_mock.call_count, 0)

            # Check that it is going to be called once listeners are added.
            cleaner.ee.on("message", mock.MagicMock())
            cleaner.emit_keep("Foo", "reason")
            self.assertEqual(emit_message_mock.call_count, 1)
Пример #24
0
    def test_perform_checks_calls_the_checks(self):
        """
        ``perform_checks`` calls the checks.
        """
        cleaner = Cleaner()
        check_foo = cleaner.check_foo = mock.MagicMock()
        check_foo.return_value = True
        obj = {}
        cleaner.perform_checks(obj, True)
        self.assertEqual(check_foo.call_count, 1)
        self.assertEqual(check_foo.call_args[0], (obj, True))

        cleaner.perform_checks(obj, False)
        self.assertEqual(check_foo.call_count, 2)
        self.assertEqual(check_foo.call_args[0], (obj, False))
Пример #25
0
 def test_checks_empty(self):
     """
     ``checks`` is empty by default.
     """
     cleaner = Cleaner()
     with self.assertRaises(StopIteration):
         next(cleaner.checks)
Пример #26
0
 def test_no_listeners(self):
     """
     ``no_listeners`` is ``True`` when there are no listeners, ``False``
     otherwise.
     """
     cleaner = Cleaner()
     self.assertTrue(cleaner.no_listeners)
     cleaner.ee.on("message", lambda *_: 1)
     self.assertFalse(cleaner.no_listeners)
Пример #27
0
    def test_now_works(self):
        """
        ``now`` evaluates to something useful and does not change once
        evaluated.
        """
        cleaner = Cleaner()
        then = cleaner.now
        time.sleep(1)

        # We can perform date arithmetics with it.
        self.assertTrue(then - utcnow() < datetime.timedelta(minutes=1))

        # It does not change.
        self.assertEqual(then, cleaner.now)
Пример #28
0
    def test_emit_keep_does_not_call_emit_message_if_no_listeners(self):
        """
        ``emit_keep`` does not call ``emit_message`` when there are
        no listeners.
        """
        cleaner = Cleaner()
        with mock.patch('lexicography.cleaning.Cleaner.emit_message') \
                as emit_message_mock:
            cleaner.emit_keep("Foo", "reason")
            self.assertEqual(emit_message_mock.call_count, 0)

            # Check that it is going to be called once listeners are added.
            cleaner.ee.on("message", mock.MagicMock())
            cleaner.emit_keep("Foo", "reason")
            self.assertEqual(emit_message_mock.call_count, 1)
Пример #29
0
    def test_perform_checks_calls_the_checks(self):
        """
        ``perform_checks`` calls the checks.
        """
        cleaner = Cleaner()
        check_foo = cleaner.check_foo = mock.MagicMock()
        check_foo.return_value = True
        obj = {}
        cleaner.perform_checks(obj, True)
        self.assertEqual(check_foo.call_count, 1)
        self.assertEqual(check_foo.call_args[0], (obj, True))

        cleaner.perform_checks(obj, False)
        self.assertEqual(check_foo.call_count, 2)
        self.assertEqual(check_foo.call_args[0], (obj, False))