public void visit(ModifiedFile file) { emailBody.append('\n').append(file.getAction()).append(' ').append(file.getFileName()); }
public final ModifiedFile createModifiedFile(String filename, String folder, ModifiedAction modifiedAction) { ModifiedFile file = new ModifiedFile(filename, folder, modifiedAction); files.add(file); return file; }
public ModifiedFile(String fileName, String folderName, ModifiedAction action) { this.fileName = truncateNameIfNecessary(fileName); this.folderName = folderName; this.action = action; truncateNameIfNecessary(fileName); }
private void appyIgnoreFilter(MaterialConfig materialConfig, ModifiedFile file, Set<ModifiedFile> ignoredFiles) { for (IgnoredFiles ignore : materialConfig.filter()) { if (ignore.shouldIgnore(materialConfig, file.getFileName())) { ignoredFiles.add(file); } } }
public void visit(ModifiedFile file) { if (StringUtils.equals(file.getFileName(), this.file)) { contains = true; } } }
public void visit(ModifiedFile file) { if (!includeModifiedFiles) { return; } Map<String, Object> jsonMap = new LinkedHashMap<>(); jsonMap.put("action", file.getAction().toString()); jsonMap.put("fileName", file.getFileName()); modifiedFilesJson.add(jsonMap); }
public void visit(ModifiedFile file) { if (StringUtils.equals(file.getFileName(), this.file) && StringUtils.equals(currentName, this.user)) { contains = true; } } }
ArrayList<ModifiedFile> getModifiedFiles(Changeset changeset) { ArrayList<ModifiedFile> files = new ArrayList<>(); for (Change change : changeset.getChanges()) { ModifiedFile modifiedFile = new ModifiedFile(change.getItem().getServerItem(), "", ModifiedAction.unknown); files.add(modifiedFile); } return files; }
@Test public void shouldGetAllModifiedFilesUnderRootPath() { SvnLogXmlParser parser = new SvnLogXmlParser(); List<Modification> materialRevisions = parser.parse(MULTIPLE_FILES, "", new SAXBuilder()); Modification mod = materialRevisions.get(0); List<ModifiedFile> files = mod.getModifiedFiles(); assertThat(files.size(), is(2)); ModifiedFile file = files.get(0); assertThat(file.getFileName(), is("/trunk/revision3.txt")); assertThat(file.getAction(), is(ModifiedAction.added)); file = files.get(1); assertThat(file.getFileName(), is("/branch/1.1/readme.txt")); assertThat(file.getAction(), is(ModifiedAction.deleted)); }
@Test public void shouldParseChangesWithLotsOfFilesWithoutError() throws Exception { final StringWriter writer = new StringWriter(); IOUtils.copy(new ClassPathResource("/BIG_P4_OUTPUT.txt").getInputStream(), writer, Charset.defaultCharset()); String output = writer.toString(); Modification modification = parser.modificationFromDescription(output, new ConsoleResult(0, new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), new ArrayList<>())); assertThat(modification.getModifiedFiles().size(), is(1304)); assertThat(modification.getModifiedFiles().get(0).getFileName(), is("Internal Projects/ABC/Customers3/ABC/RIP/SomeProject/data/main/config/lib/java/AdvJDBCColumnHandler.jar")); }
@Test public void shouldRetrieveModifiedFiles() throws Exception { List<Modification> mods = git.modificationsSince(workingDir, GitTestRepo.REVISION_0, new TestSubprocessExecutionContext()); List<ModifiedFile> mod1Files = mods.get(0).getModifiedFiles(); assertThat(mod1Files.size(), Matchers.is(1)); assertThat(mod1Files.get(0).getFileName(), Matchers.is("build.xml")); assertThat(mod1Files.get(0).getAction(), Matchers.is(ModifiedAction.modified)); }
@Test public void shouldFilterModifiedFilesByRepositoryURL() { subversion = new SvnCommand(null, testRepo.end2endRepositoryUrl() + "/unit-reports", "user", "pass", false); List list = subversion.modificationsSince(new SubversionRevision(0)); Modification modification = (Modification) list.get(0); assertThat(modification.getModifiedFiles().size(), is(3)); for (ModifiedFile file : modification.getModifiedFiles()) { assertThat(file.getFileName().startsWith("/unit-reports"), is(true)); assertThat(file.getFileName().startsWith("/ft-reports"), is(false)); } }
@Test public void shouldFilterModifiedFilesByPath() { SvnLogXmlParser parser = new SvnLogXmlParser(); List<Modification> materialRevisions = parser.parse(MULTIPLE_FILES, "/branch", new SAXBuilder()); Modification mod = materialRevisions.get(0); List<ModifiedFile> files = mod.getModifiedFiles(); assertThat(files.size(), is(1)); ModifiedFile file = files.get(0); assertThat(file.getFileName(), is("/branch/1.1/readme.txt")); assertThat(file.getAction(), is(ModifiedAction.deleted)); }
@Test public void shouldRetrieveFilenameForInitialRevision() throws IOException { GitTestRepo testRepo = new GitTestRepo(GitTestRepo.GIT_SUBMODULE_REF_BUNDLE, temporaryFolder); GitCommand gitCommand = new GitCommand(null, testRepo.gitRepository(), GitMaterialConfig.DEFAULT_BRANCH, false, new HashMap<>(), null); Modification modification = gitCommand.latestModification().get(0); assertThat(modification.getModifiedFiles().size(), is(1)); assertThat(modification.getModifiedFiles().get(0).getFileName(), is("remote.txt")); }
@Test public void shouldRetrieveLatestModification() throws Exception { Modification mod = git.latestModification().get(0); assertThat(mod.getUserName(), is("Chris Turner <cturner@thoughtworks.com>")); assertThat(mod.getComment(), is("Added 'run-till-file-exists' ant target")); assertThat(mod.getModifiedTime(), is(parseRFC822("Fri, 12 Feb 2010 16:12:04 -0800"))); assertThat(mod.getRevision(), is("5def073a425dfe239aabd4bf8039ffe3b0e8856b")); List<ModifiedFile> files = mod.getModifiedFiles(); assertThat(files.size(), is(1)); assertThat(files.get(0).getFileName(), is("build.xml")); assertThat(files.get(0).getAction(), Matchers.is(ModifiedAction.modified)); }
@Test public void shouldIncludeNewChangesInModificationCheck() throws Exception { String originalNode = git.latestModification().get(0).getRevision(); File testingFile = checkInNewRemoteFile(); Modification modification = git.latestModification().get(0); assertThat(modification.getRevision(), is(not(originalNode))); assertThat(modification.getComment(), is("New checkin of " + testingFile.getName())); assertThat(modification.getModifiedFiles().size(), is(1)); assertThat(modification.getModifiedFiles().get(0).getFileName(), is(testingFile.getName())); }
@Test public void shouldRetrieveModificationFromDescription() throws Exception { String output = "Change 2 by cce123user@connect4_10.18.2.31 on 2008/08/19 15:04:43\n" + "\n" + "\tAdded config file\n" + "\n" + "Affected files ...\n" + "\n" + "... //depot/cruise-config.xml#1 add\n" + "... //depot/README.txt#2 edit\n" + "... //depot/cruise-output/log.xml#1 delete\n" + ""; Modification mod = parser.modificationFromDescription(output, new ConsoleResult(0, new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), new ArrayList<>())); assertThat(mod.getRevision(), is("2")); assertThat(mod.getUserName(), is("cce123user@connect4_10.18.2.31")); assertThat(mod.getModifiedTime(), is(DESCRIPTION_FORMAT.parse("2008/08/19 15:04:43"))); assertThat(mod.getComment(), is("Added config file")); List<ModifiedFile> files = mod.getModifiedFiles(); assertThat(files.size(), is(3)); assertThat(files.get(0).getAction(), is(ModifiedAction.added)); assertThat(files.get(0).getFileName(), is("cruise-config.xml")); assertThat(files.get(1).getAction(), is(ModifiedAction.modified)); assertThat(files.get(2).getAction(), is(ModifiedAction.deleted)); assertThat(files.get(2).getFileName(), is("cruise-output/log.xml")); }
@Test @RunIf(value = EnhancedOSChecker.class, arguments = {DO_NOT_RUN_ON, OSChecker.WINDOWS}) public void shouldSupportUTF8CheckInMessageAndFilename() throws Exception { String message = "司徒空在此"; String filename = "司徒空在此.scn"; testRepo.checkInOneFile(filename, message); Modification modification = subversion.latestModification().get(0); assertThat(modification.getComment(), is(message)); assertThat(modification.getModifiedFiles().get(0).getFileName(), containsString(filename)); }
@Test public void shouldParse() throws ParseException { SvnLogXmlParser parser = new SvnLogXmlParser(); List<Modification> materialRevisions = parser.parse(XML, "", new SAXBuilder()); assertThat(materialRevisions.size(), is(1)); Modification mod = materialRevisions.get(0); assertThat(mod.getRevision(), is("3")); assertThat(mod.getUserName(), is("cceuser")); assertThat(mod.getModifiedTime(), is(convertDate("2008-03-11T07:52:41.162075Z"))); assertThat(mod.getComment(), is("[Liyanhui & Gabbar] Checked in new file for test")); List<ModifiedFile> files = mod.getModifiedFiles(); assertThat(files.size(), is(1)); ModifiedFile file = files.get(0); assertThat(file.getFileName(), is("/trunk/revision3.txt")); assertThat(file.getAction(), is(ModifiedAction.added)); }
@Test public void shouldRetrieveLatestModificationFromBranch() throws Exception { GitTestRepo branchedRepo = GitTestRepo.testRepoAtBranch(GIT_FOO_BRANCH_BUNDLE, BRANCH, temporaryFolder); GitCommand branchedGit = new GitCommand(null, createTempWorkingDirectory(), BRANCH, false, new HashMap<>(), null); branchedGit.clone(inMemoryConsumer(), branchedRepo.projectRepositoryUrl()); Modification mod = branchedGit.latestModification().get(0); assertThat(mod.getUserName(), is("Chris Turner <cturner@thoughtworks.com>")); assertThat(mod.getComment(), is("Started foo branch")); assertThat(mod.getModifiedTime(), is(parseRFC822("Tue, 05 Feb 2009 14:28:08 -0800"))); assertThat(mod.getRevision(), is("b4fa7271c3cef91822f7fa502b999b2eab2a380d")); List<ModifiedFile> files = mod.getModifiedFiles(); assertThat(files.size(), is(1)); assertThat(files.get(0).getFileName(), is("first.txt")); assertThat(files.get(0).getAction(), is(ModifiedAction.modified)); }