def METHOD_NAME(self):
    with self.assertRaises(NotImplementedError):
        r = SQAReport()
        r.execute()
    logger = logging.getLogger('moosesqa')
    class TestReport(SQAReport):
        def execute(self):
            logger = LogHelper('moosesqa', 'log_error', log_critical=logging.CRITICAL,
                               log_warning=logging.WARNING)
            logger.log('log_warning', 'warning message')
            logger.log('log_error', 'error message')
            logger.log('log_critical', 'critical message')
            return logger
    report = TestReport()
    r = str(report.getReport())
    self.assertEqual(report.status, SQAReport.Status.ERROR)
    self.assertIn('log_warning: 1', r)
    self.assertIn('log_error: 1', r)
    self.assertIn('log_critical: 1', r)
    self.assertIn('warning message', r)
    self.assertIn('error message', r)
    self.assertIn('critical message', r)
    report = TestReport(show_warning=False)
    r = str(report.getReport())
    self.assertEqual(report.status, SQAReport.Status.ERROR)
    self.assertIn('log_warning: 1', r)
    self.assertIn('log_error: 1', r)
    self.assertIn('log_critical: 1', r)
    self.assertNotIn('warning message', r)
    self.assertIn('error message', r)
    self.assertIn('critical message', r)
    report = TestReport(show_error=False)
    r = str(report.getReport())
    self.assertEqual(report.status, SQAReport.Status.ERROR)
    self.assertIn('log_warning: 1', r)
    self.assertIn('log_error: 1', r)
    self.assertIn('log_critical: 1', r)
    self.assertIn('warning message', r)
    self.assertNotIn('error message', r)
    self.assertIn('critical message', r)
    report = TestReport(show_critical=False)
    r = str(report.getReport())
    self.assertEqual(report.status, SQAReport.Status.ERROR)
    self.assertIn('log_warning: 1', r)
    self.assertIn('log_error: 1', r)
    self.assertIn('log_critical: 1', r)
    self.assertIn('warning message', r)
    self.assertIn('error message', r)
    self.assertNotIn('critical message', r)