コード例 #1
0
    def test_traceback_size_limit(self):
        """Insert a failure with a long exception and make sure it gets truncated."""
        conn = self.reporter.conn

        test_case = DummyTestCase()
        result = TestResult(test_case.test_fail)
        result.start()
        result.end_in_failure(
            (type(AssertionError), AssertionError('A' * 200), None))

        with patch.object(self.reporter.options, 'sql_traceback_size', 50):
            with patch.object(
                    result,
                    'format_exception_info') as mock_format_exception_info:
                mock_format_exception_info.return_value = [
                    "AssertionError: %s" % ('A' * 200), 'A' * 200
                ]

                self.reporter.test_complete(result.to_dict())

            assert self.reporter.report()

        failure = conn.execute(Failures.select()).fetchone()
        assert_equal(len(failure.traceback), 50)
        assert_equal(len(failure.error), 50)
        assert_in('Exception truncated.', failure.traceback)
        assert_in('Exception truncated.', failure.error)
コード例 #2
0
ファイル: sql_reporter_test.py プロジェクト: struys/Testify
    def test_teardown(self):
        runner = TestRunner(TestReporterExceptionInClassFixtureSampleTests.FakeClassTeardownTestCase, test_reporters=[self.reporter])
        runner.run()

        conn = self.reporter.conn

        test_results = self._get_test_results(conn)
        assert_equal(len(test_results), 3)

        class_teardown_result = test_results[-1]
        assert_equal(
            class_teardown_result['failure'],
            True,
            'Unexpected success for %s.%s' % (class_teardown_result['class_name'], class_teardown_result['method_name'])
        )

        failure = conn.execute(Failures.select()).fetchone()
        assert_in('in class_teardown_raises_exception', failure.traceback)
コード例 #3
0
    def test_teardown(self):
        runner = TestRunner(TestReporterExceptionInClassFixtureSampleTests.
                            FakeClassTeardownTestCase,
                            test_reporters=[self.reporter])
        runner.run()

        conn = self.reporter.conn

        test_results = self._get_test_results(conn)
        assert_equal(len(test_results), 3)

        class_teardown_result = test_results[-1]
        assert_equal(
            class_teardown_result['failure'], True,
            'Unexpected success for %s.%s' %
            (class_teardown_result['class_name'],
             class_teardown_result['method_name']))

        failure = conn.execute(Failures.select()).fetchone()
        assert_in('in class_teardown_raises_exception', failure.traceback)
コード例 #4
0
ファイル: sql_reporter_test.py プロジェクト: jimr/Testify
    def test_setup(self):
        runner = TestRunner(ExceptionInClassFixtureSampleTests.FakeClassSetupTestCase, test_reporters=[self.reporter])
        runner.run()

        conn = self.reporter.conn

        test_results = self._get_test_results(conn)
        assert_equal(len(test_results), 2)

        # Errors in class_setup methods manifest as errors in the test case's
        # test methods.
        for result in test_results:
            assert_equal(
                result['failure'],
                True,
                'Unexpected success for %s.%s' % (result['class_name'], result['method_name'])
            )

        failures = conn.execute(Failures.select()).fetchall()
        for failure in failures:
            assert_in('in class_setup_raises_exception', failure.traceback)
コード例 #5
0
ファイル: sql_reporter_test.py プロジェクト: struys/Testify
    def test_traceback_size_limit(self):
        """Insert a failure with a long exception and make sure it gets truncated."""
        conn = self.reporter.conn

        test_case = DummyTestCase()
        result = TestResult(test_case.test_fail)
        result.start()
        result.end_in_failure((type(AssertionError), AssertionError('A' * 200), None))

        with patch.object(self.reporter.options, 'sql_traceback_size', 50):
            with patch.object(result, 'format_exception_info') as mock_format_exception_info:
                mock_format_exception_info.return_value = ["AssertionError: %s" % ('A' * 200), 'A' * 200]

                self.reporter.test_complete(result.to_dict())

            assert self.reporter.report()

        failure = conn.execute(Failures.select()).fetchone()
        assert_equal(len(failure.traceback), 50)
        assert_equal(len(failure.error), 50)
        assert_in('Exception truncated.', failure.traceback)
        assert_in('Exception truncated.', failure.error)