def test_func_reader(self):
     reader = FuncSamplesReader(RESOURCES_DIR + "selenium/report.ldjson", EngineEmul(), ROOT_LOGGER)
     items = list(reader.read())
     self.assertEqual(4, len(items))
     self.assertEqual(items[0].test_case, 'testFailure')
     self.assertEqual(items[0].status, "FAILED")
     self.assertEqual(items[1].test_case, 'testBroken')
     self.assertEqual(items[1].status, "BROKEN")
     self.assertEqual(items[2].test_case, 'testSuccess')
     self.assertEqual(items[2].status, "PASSED")
 def test_func_reader(self):
     reader = FuncSamplesReader(__dir__() + "/../../resources/selenium/report.ldjson", EngineEmul(), logging.getLogger(), None)
     items = list(reader.read())
     self.assertEqual(4, len(items))
     self.assertEqual(items[0].test_case, 'testFailure')
     self.assertEqual(items[0].status, "FAILED")
     self.assertEqual(items[1].test_case, 'testBroken')
     self.assertEqual(items[1].status, "BROKEN")
     self.assertEqual(items[2].test_case, 'testSuccess')
     self.assertEqual(items[2].status, "PASSED")
 def test_func_reader(self):
     reader = FuncSamplesReader(RESOURCES_DIR + "selenium/report.ldjson", EngineEmul(), ROOT_LOGGER)
     items = list(reader.read())
     self.assertEqual(4, len(items))
     self.assertEqual(items[0].test_case, 'testFailure')
     self.assertEqual(items[0].status, "FAILED")
     self.assertEqual(items[1].test_case, 'testBroken')
     self.assertEqual(items[1].status, "BROKEN")
     self.assertEqual(items[2].test_case, 'testSuccess')
     self.assertEqual(items[2].status, "PASSED")
Beispiel #4
0
 def test_report_reading(self):
     reader = FuncSamplesReader(__dir__() + "/../../resources/apiritif/transactions.ldjson",
                                self.obj.engine, self.obj.log, [])
     items = list(reader.read(last_pass=True))
     self.assertEqual(len(items), 6)
     self.assertEqual(items[0].test_case, "test_1_single_request")
     self.assertEqual(items[1].test_case, "test_2_multiple_requests")
     self.assertEqual(items[2].test_case, "Transaction")
     self.assertEqual(items[3].test_case, "Transaction")
     self.assertEqual(items[4].test_case, "Transaction 1")
     self.assertEqual(items[5].test_case, "Transaction 2")
Beispiel #5
0
 def test_report_reading(self):
     reader = FuncSamplesReader(RESOURCES_DIR + "apiritif/transactions.ldjson", self.obj.engine, self.obj.log)
     items = list(reader.read(last_pass=True))
     self.assertEqual(9, len(items))
     self.assertEqual(items[0].get_short_name(), 'TestRequests.test_1_single_request')
     self.assertEqual(items[1].get_short_name(), 'TestRequests.test_2_multiple_requests')
     self.assertEqual(items[2].get_short_name(), 'test_3_toplevel_transaction.Transaction')
     self.assertEqual(items[3].get_short_name(), 'test_4_mixed_transaction.Transaction')
     self.assertEqual(items[4].get_short_name(), 'test_5_multiple_transactions.Transaction 1')
     self.assertEqual(items[5].get_short_name(), 'test_5_multiple_transactions.Transaction 2')
     self.assertEqual(items[6].get_short_name(), 'test_6_transaction_obj.Label')
     self.assertEqual(items[7].get_short_name(), 'test_7_transaction_fail.Label')
     self.assertEqual(items[8].get_short_name(), 'test_8_transaction_attach.Label')
 def test_report_reading(self):
     reader = FuncSamplesReader(RESOURCES_DIR + "apiritif/transactions.ldjson", self.obj.engine, self.obj.log)
     items = list(reader.read(last_pass=True))
     self.assertEqual(9, len(items))
     self.assertEqual(items[0].get_short_name(), 'TestRequests.test_1_single_request')
     self.assertEqual(items[1].get_short_name(), 'TestRequests.test_2_multiple_requests')
     self.assertEqual(items[2].get_short_name(), 'test_3_toplevel_transaction.Transaction')
     self.assertEqual(items[3].get_short_name(), 'test_4_mixed_transaction.Transaction')
     self.assertEqual(items[4].get_short_name(), 'test_5_multiple_transactions.Transaction 1')
     self.assertEqual(items[5].get_short_name(), 'test_5_multiple_transactions.Transaction 2')
     self.assertEqual(items[6].get_short_name(), 'test_6_transaction_obj.Label')
     self.assertEqual(items[7].get_short_name(), 'test_7_transaction_fail.Label')
     self.assertEqual(items[8].get_short_name(), 'test_8_transaction_attach.Label')
Beispiel #7
0
    def reporting_setup(self, prefix=None, suffix=None):
        if not self.reported:
            self.log.debug("Skipping reporting setup for executor %s", self)
            return

        if "report-file" in self.execution:
            self.report_file = self.execution.get("report-file")
        else:
            if not prefix:
                prefix = self.__class__.__name__
            if suffix is None:
                suffix = '.dat'
            self.report_file = self.engine.create_artifact(prefix, suffix)

        self.report_file = self.report_file.replace(os.path.sep, '/')

        if not self.register_reader:
            self.log.debug("Skipping reader setup for executor %s", self)
            return

        if self.engine.is_functional_mode():
            self.reader = FuncSamplesReader(self.report_file, self.engine,
                                            self.log)
            if isinstance(self.engine.aggregator, FunctionalAggregator):
                self.engine.aggregator.add_underling(self.reader)
        else:
            self.reader = LoadSamplesReader(self.report_file, self.log)
            if isinstance(self.engine.aggregator, ConsolidatingAggregator):
                self.engine.aggregator.add_underling(self.reader)
Beispiel #8
0
    def startup(self):
        """
        run python tests
        """
        executable = self.settings.get("interpreter", sys.executable)

        if "report-file" in self.execution:
            report_file = self.execution.get("report-file")
        else:
            report_file = self.engine.create_artifact("report", ".ldjson")
            if self.engine.is_functional_mode():
                self.reader = FuncSamplesReader(report_file, self.engine,
                                                self.log, [])
                if isinstance(self.engine.aggregator, FunctionalAggregator):
                    self.engine.aggregator.add_underling(self.reader)
            else:
                self.reader = LoadSamplesReader(report_file, self.log, [])
                if isinstance(self.engine.aggregator, ConsolidatingAggregator):
                    self.engine.aggregator.add_underling(self.reader)

        nose_command_line = [
            executable, self.plugin_path, '--report-file', report_file
        ]

        load = self.get_load()
        if load.iterations:
            nose_command_line += ['-i', str(load.iterations)]

        if load.hold:
            nose_command_line += ['-d', str(load.hold)]

        nose_command_line += [self._script]
        self._start_subprocess(nose_command_line)
Beispiel #9
0
    def reporting_setup(self,
                        prefix=None,
                        suffix=None,
                        translation_table=None):
        if not self.reported:
            return

        if translation_table is None:
            translation_table = {}

        if "report-file" in self.execution:
            self.report_file = self.execution.get("report-file")
        else:
            if not prefix:
                prefix = self.__class__.__name__
            if suffix is None:
                suffix = '.dat'
            self.report_file = self.engine.create_artifact(prefix, suffix)

        self.report_file = self.report_file.replace(os.path.sep, '/')

        if self.engine.is_functional_mode():
            self.reader = FuncSamplesReader(self.report_file, self.engine,
                                            self.log, translation_table)
            if isinstance(self.engine.aggregator, FunctionalAggregator):
                self.engine.aggregator.add_underling(self.reader)
        else:
            self.reader = LoadSamplesReader(self.report_file, self.log,
                                            translation_table)
            if isinstance(self.engine.aggregator, ConsolidatingAggregator):
                self.engine.aggregator.add_underling(self.reader)
Beispiel #10
0
 def _register_reader(self, report_file):
     if self.engine.is_functional_mode():
         reader = FuncSamplesReader(report_file, self.engine, self.log, self.generated_methods)
         if isinstance(self.engine.aggregator, FunctionalAggregator):
             self.engine.aggregator.add_underling(reader)
     else:
         reader = LoadSamplesReader(report_file, self.log, self.generated_methods)
         if isinstance(self.engine.aggregator, ConsolidatingAggregator):
             self.engine.aggregator.add_underling(reader)
     return reader
Beispiel #11
0
 def test_status_skipped(self):
     self.configure({
         "execution": [{
             "iterations": 1,
             "scenario": {
                 "script": RESOURCES_DIR + "functional/test_all.py"
             }
         }]
     })
     self.obj.prepare()
     try:
         self.obj.startup()
         while not self.obj.check():
             time.sleep(self.obj.engine.check_interval)
     finally:
         self.obj.shutdown()
     self.obj.post_process()
     reader = FuncSamplesReader(self.obj.report_file, self.obj.engine,
                                self.obj.log)
     samples = list(reader.read(last_pass=True))
     self.assertEqual(len(samples), 4)
     self.assertIsNotNone(samples[-1].status)
Beispiel #12
0
 def test_status_skipped(self):
     self.configure({
         "execution": [{
             "iterations": 1,
             "scenario": {
                 "script": RESOURCES_DIR + "functional/test_all.py"
             }
         }]
     })
     self.obj.engine.aggregator = FunctionalAggregator()
     self.obj.prepare()
     try:
         self.obj.startup()
         while not self.obj.check():
             time.sleep(self.obj.engine.check_interval)
     finally:
         self.obj.shutdown()
     self.obj.post_process()
     reader = FuncSamplesReader(os.path.join(self.obj.engine.artifacts_dir, "apiritif.0.ldjson"),
                                self.obj.engine, self.obj.log)
     samples = list(reader.read(last_pass=True))
     self.assertEqual(len(samples), 4)
     self.assertIsNotNone(samples[-1].status)
Beispiel #13
0
 def create_func_reader(self, report_file):
     return FuncSamplesReader(report_file, self.engine, self.log)