@Test public void add_file_data_to_nodule() { FileData fileData1 = new FileData("123", "456"); FileData fileData2 = new FileData("153", "6432"); FileData fileData3 = new FileData("987", "6343"); repository.addFileDataToModule("Module1", "/Abc.java", fileData1); repository.addFileDataToModule("Module1", "/Xyz.java", fileData2); repository.addFileDataToModule("Module2", "/Def.java", fileData3); assertThat(repository.repositoriesByModule()).hasSize(2); assertThat(repository.fileData("Module1", "/Xyz.java")).isEqualTo(fileData2); assertThat(repository.fileData("Module2", "/Def.java")).isEqualTo(fileData3); }
@Test public void return_file_data_from_multi_modules() { OrganizationDto organizationDto = db.organizations().insert(); ComponentDto project = db.components().insertPrivateProject(organizationDto); userSession.logIn().addProjectPermission(SCAN_EXECUTION, project); ComponentDto module = db.components().insertComponent(newModuleDto(project)); // File on project ComponentDto projectFile = db.components().insertComponent(newFileDto(project)); dbClient.fileSourceDao().insert(dbSession, newFileSourceDto(projectFile).setSrcHash("123456")); // File on module ComponentDto moduleFile = db.components().insertComponent(newFileDto(module)); dbClient.fileSourceDao().insert(dbSession, newFileSourceDto(moduleFile).setSrcHash("789456")); dbSession.commit(); ProjectRepositories ref = underTest.load(ProjectDataQuery.create().setProjectKey(project.getKey())); assertTrue(ref instanceof MultiModuleProjectRepository); MultiModuleProjectRepository repository = ((MultiModuleProjectRepository) ref); assertThat(repository.fileData(project.getKey(), projectFile.path()).hash()).isEqualTo("123456"); assertThat(repository.fileData(module.getKey(), moduleFile.path()).hash()).isEqualTo("789456"); }
@Test public void return_file_data_from_branch() { OrganizationDto organizationDto = db.organizations().insert(); ComponentDto project = db.components().insertPrivateProject(organizationDto); ComponentDto branch = db.components().insertProjectBranch(project, b -> b.setKey("my_branch")); userSession.logIn().addProjectPermission(SCAN_EXECUTION, project); ComponentDto moduleBranch = db.components().insertComponent(newModuleDto(branch)); // File on branch ComponentDto projectFile = db.components().insertComponent(newFileDto(branch)); dbClient.fileSourceDao().insert(dbSession, newFileSourceDto(projectFile).setSrcHash("123456")); // File on moduleBranch branch ComponentDto moduleFile = db.components().insertComponent(newFileDto(moduleBranch)); dbClient.fileSourceDao().insert(dbSession, newFileSourceDto(moduleFile).setSrcHash("789456")); dbSession.commit(); ProjectRepositories ref = underTest.load(ProjectDataQuery.create() .setProjectKey(project.getKey()) .setBranch("my_branch")); assertTrue(ref instanceof MultiModuleProjectRepository); MultiModuleProjectRepository repository = ((MultiModuleProjectRepository) ref); assertThat(repository.fileData(branch.getKey(), projectFile.path()).hash()).isEqualTo("123456"); assertThat(repository.fileData(moduleBranch.getKey(), moduleFile.path()).hash()).isEqualTo("789456"); }