class TestDetectOnlyExecution: # noinspection PyAttributeOutsideInit def setup(self): self.misuse = create_misuse("-misuse-", meta={"location": {"file": "a", "method": "m()"}}) self.version = create_version("-version-", misuses=[self.misuse], project=create_project("-project-")) self.detector = Dummy("-detectors-") self.findings_base_path = "-findings-" self.logger = logging.getLogger("test") self.__orig_shell_exec = Shell.exec Shell.exec = MagicMock() self.uut = DetectOnlyExecution( self.detector, self.version, self.misuse, self.findings_base_path, PotentialHits(self.detector, self.misuse) ) self.uut.save = MagicMock() def teardown(self): Shell.exec = self.__orig_shell_exec def test_execute_per_misuse(self): jar = join("-detectors-", "Dummy", "Dummy.jar") target = join("-findings-", "detect_only", "Dummy", "-project-", "-version-", "-misuse-", "findings.yml") run_info = join("-findings-", "detect_only", "Dummy", "-project-", "-version-", "-misuse-", "run.yml") training_src_path = join("-compiles-", "-project-", "-version-", "patterns-src", "-misuse-") training_classpath = join("-compiles-", "-project-", "-version-", "patterns-classes", "-misuse-") target_src_path = join("-compiles-", "-project-", "-version-", "misuse-src") target_classpath = join("-compiles-", "-project-", "-version-", "misuse-classes") self.uut.execute("-compiles-", 42, self.logger) Shell.exec.assert_called_with( 'java -jar "{}" '.format(jar) + 'target "{}" '.format(target) + 'run_info "{}" '.format(run_info) + 'detector_mode "1" ' + 'training_src_path "{}" '.format(training_src_path) + 'training_classpath "{}" '.format(training_classpath) + 'target_src_path "{}" '.format(target_src_path) + 'target_classpath "{}"'.format(target_classpath), logger=self.logger, timeout=42, )
def setup(self): self.misuse = create_misuse("-misuse-", meta={"location": {"file": "a", "method": "m()"}}) self.version = create_version("-version-", misuses=[self.misuse], project=create_project("-project-")) self.detector = Dummy("-detectors-") self.findings_base_path = "-findings-" self.logger = logging.getLogger("test") self.__orig_shell_exec = Shell.exec Shell.exec = MagicMock() self.uut = DetectOnlyExecution( self.detector, self.version, self.misuse, self.findings_base_path, PotentialHits(self.detector, self.misuse) ) self.uut.save = MagicMock()