Beispiel #1
0
    def test_skips_compile_if_classes_exist(self):
        makedirs(self.original_classes_path)
        create_file(join(self.source_path, "some.file"))

        self.uut.process_project_version(self.project, self.version)

        assert not exists(join(self.original_classes_path, "some.file"))
Beispiel #2
0
    def test_forces_clean_copy_of_original_sources(self):
        create_file(join(self.original_sources_path, "old.file"))
        self.uut.force_compile = True

        self.uut.process_project_version(self.project, self.version)

        assert not exists(join(self.original_sources_path, "old.file"))
Beispiel #3
0
    def test_skips_copy_of_original_sources_if_copy_exists(self):
        makedirs(self.original_sources_path)
        create_file(join(self.source_path, "b.file"))

        self.uut.process_project_version(self.project, self.version)

        assert not exists(join(self.original_sources_path, "b.file"))
Beispiel #4
0
    def test_finds_versions(self):
        version = create_version("v1", project=self.uut)
        create_file(version._version_file)

        versions = self.uut.versions

        assert_equals([version], versions)
    def test_exists(self):
        checkout_path = join(self.checkouts_dir, "-project-", "-version-",
                             "checkout")
        create_file(join(checkout_path, "bundle.zip"))
        create_file(join(checkout_path, "foo"))

        assert self.uut.exists()
Beispiel #6
0
    def test_copies_misuse_sources(self):
        create_file(join(self.source_path, "mu.file"))
        self.version.misuses.append(create_misuse("1", meta={"location": {"file": "mu.file"}}, project=self.project))

        self.uut.process_project_version(self.project, self.version)

        assert exists(join(self.misuse_source_path, "mu.file"))
Beispiel #7
0
    def setup(self):
        self.tmp = mkdtemp()
        self.remote_file = join(self.tmp, "remote.file")
        create_file(self.remote_file)
        self.url = Path(self.remote_file).as_uri()

        self.target = join(self.tmp, "local.file")
Beispiel #8
0
    def setup(self):
        self.temp_dir = mkdtemp(prefix="mubench-pattern-test_")
        self.orig_dir = join(join(self.temp_dir, "origin"))
        makedirs(self.orig_dir, exist_ok=True)

        self.pattern_file_name = "pattern.java"
        self.pattern_file_path = join(self.temp_dir, self.pattern_file_name)
        create_file(self.pattern_file_path)
Beispiel #9
0
    def test_forces_copy_of_original_sources(self):
        makedirs(self.original_sources_path)
        create_file(join(self.source_path, "a.file"))
        self.uut.force_compile = True

        self.uut.process_project_version(self.project, self.version)

        assert exists(join(self.original_sources_path, "a.file"))
    def test_delete(self):
        checkout_path = join(self.checkouts_dir, "-project-", "-version-", "checkout")
        create_file(join(checkout_path, "bundle.zip"))
        create_file(join(checkout_path, "foo"))

        self.uut.delete()

        assert not exists(checkout_path)
Beispiel #11
0
    def test_finds_misuses(self):
        misuse = create_misuse("1", project=create_project(self.project_id, base_path=self.temp_dir))
        create_file(misuse.misuse_file)
        self.uut._YAML = {"misuses": ["1"]}

        actual_misuses = self.uut.misuses

        assert_equals([misuse], actual_misuses)
Beispiel #12
0
    def test_finds_all_projects(self):
        p1 = create_project("p1", base_path=self.temp_dir)
        create_file(p1._project_file)
        p2 = create_project("p2", base_path=self.temp_dir)
        create_file(p2._project_file)

        self.uut.run()

        assert_equals([call(p1), call(p2)], self.test_task.process_project.call_args_list)
Beispiel #13
0
 def mock_compile(commands: List[str], cwd: str):
     source_path = join(cwd, self.source_dir)
     class_path = join(cwd, "classes")
     makedirs(class_path, exist_ok=True)
     for root, dirs, files in os.walk(source_path):
         package = relpath(root, source_path)
         for file in files:
             file = file.replace(".java", ".class")
             create_file(join(class_path, package, file))
             print("fake compile: {}".format(join(class_path, package, file)))
Beispiel #14
0
    def test_finds_only_own_misuses(self):
        project = create_project(self.project_id, base_path=self.temp_dir)
        misuse1 = create_misuse("1", project=project)
        create_file(misuse1.misuse_file)
        misuse2 = create_misuse("2", project=project)
        create_file(misuse2.misuse_file)
        self.uut._YAML = {"misuses": ["2"]}

        misuses = self.uut.misuses

        assert_equals([misuse2], misuses)
Beispiel #15
0
    def test_removes_folder_completely(self):
        create_file(join(self.temp_dir, "dir1", "dir2", "file1"))
        create_file(join(self.temp_dir, "dir1", "file2"))
        create_file(join(self.temp_dir, "file3"))

        remove_tree(self.temp_dir)

        assert not exists(self.temp_dir)
Beispiel #16
0
    def test_copies_tree(self):
        src = join(self.temp_dir, "src")
        file1 = join("dir1", "dir2", "file1")
        file2 = join("dir1", "file2")
        file3 = join("file3")
        create_file(join(src, file1))
        create_file(join(src, file2))
        create_file(join(src, file3))

        copy_tree(src, self.temp_dir)

        assert exists(join(self.temp_dir, file1))
        assert exists(join(self.temp_dir, file2))
        assert exists(join(self.temp_dir, file3))
Beispiel #17
0
    def test_invalid_if_md5_mismatch(self):
        create_file(self.file)

        with assert_raises(ValueError):
            validate_file(self.file, ":wrong-md5:")
Beispiel #18
0
    def test_valid_if_exists(self):
        create_file(self.file)

        validate_file(self.file)
Beispiel #19
0
    def test_is_valid(self):
        create_file(self.file)

        assert is_valid_file(self.file)
Beispiel #20
0
 def test_accepts_project_path(self):
     create_file(join(self.project_path, Project.PROJECT_FILE))
     assert Project.is_project(self.project_path)
Beispiel #21
0
    def test_ignores_non_project_directories(self):
        create_file(join(self.temp_dir, "p1", "iamnotaproject.yml"))

        self.uut.run()

        self.test_task.process_project.assert_not_called()
Beispiel #22
0
    def test_copies_additional_sources(self):
        create_file(join(self.version_path, "compile", "additional.file"))

        self.uut.process_project_version(self.project, self.version)

        assert exists(join(self.build_path, "additional.file"))
Beispiel #23
0
 def create_misuse_with_pattern(self, misuse_id, pattern_file):
     misuse = create_misuse(misuse_id, project=self.project)
     create_file(join(self.source_path, misuse.location.file))
     misuse._PATTERNS = {self.create_pattern(pattern_file)}
     self.version._MISUSES = [misuse]
Beispiel #24
0
    def test_copies_original_sources(self):
        create_file(join(self.source_path, "a.file"))

        self.uut.process_project_version(self.project, self.version)

        assert exists(join(self.original_sources_path, "a.file"))
Beispiel #25
0
    def test_valid_by_md5(self):
        create_file(self.file)

        validate_file(self.file, EMPTY_FILE_MD5)
Beispiel #26
0
    def test_valid_by_md5_file(self):
        create_file(self.file)
        md5_file = join(self.tmp, "my.md5")
        safe_write(EMPTY_FILE_MD5, md5_file, append=False)

        validate_file(self.file, md5_file)
Beispiel #27
0
 def test_creates_file(self):
     makedirs(dirname(self.test_file))
     create_file(self.test_file)
     assert exists(self.test_file)
Beispiel #28
0
 def test_accepts_project_version_directory(self):
     create_file(self.uut._version_file)
     assert ProjectVersion.is_project_version(self.uut.path)
Beispiel #29
0
 def create_pattern(self, filename):
     pattern = Pattern(self.temp_dir, filename)
     create_file(pattern.path)
     return pattern