use of com.google.copybara.testing.RecordsProcessCallDestination in project copybara by google.
the class GitOriginTest method branchCommitLogsOnlyCoverIncludedOriginFileRoots.
@SuppressWarnings("unchecked")
@Test
public void branchCommitLogsOnlyCoverIncludedOriginFileRoots() throws Exception {
String excludedMessage = "i hope this IS NOT included in the migrated message!";
// Make two commits on 'the-branch' branch, one being in an excluded directory, the other
// included.
git("checkout", "-b", "the-branch");
Files.write(remote.resolve("branch-file.txt"), new byte[0]);
git("add", "branch-file.txt");
git("commit", "-m", excludedMessage);
Files.createDirectories(remote.resolve("include"));
Files.write(remote.resolve("include/branch-file.txt"), new byte[0]);
git("add", "include/branch-file.txt");
git("commit", "-m", "i hope this is included@@@");
git("checkout", defaultBranch);
// Make a commit on mainline so that Git doesn't turn this into a fast-forward.
Files.createDirectories(remote.resolve("include"));
Files.write(remote.resolve("include/mainline-file.txt"), new byte[0]);
git("add", "include/mainline-file.txt");
git("commit", "-m", "mainline message!");
git("merge", "the-branch");
options.setForce(true);
RecordsProcessCallDestination destination = new RecordsProcessCallDestination();
options.testingOptions.destination = destination;
options.setLastRevision(firstCommitRef);
Workflow<GitRevision, Revision> wf = (Workflow<GitRevision, Revision>) skylark.loadConfig("" + "core.workflow(\n" + " name = 'default',\n" + " origin = git.origin(\n" + " url = '" + url + "',\n" + " include_branch_commit_logs = True,\n" + " ),\n" + " origin_files = glob(['include/**']),\n" + " destination = testing.destination(),\n" + " mode = 'ITERATIVE',\n" + " authoring = authoring.pass_thru('example <example@example.com>'),\n" + ")\n").getMigration("default");
wf.run(Files.createTempDirectory("foo"), ImmutableList.of("HEAD"));
List<ProcessedChange> changes = destination.processed;
assertThat(changes).hasSize(2);
assertThat(changes.get(0).getChangesSummary()).contains("mainline message!");
assertThat(changes.get(1).getChangesSummary()).doesNotContain(excludedMessage);
assertThat(changes.get(1).getChangesSummary()).contains("i hope this is included@@@");
}
use of com.google.copybara.testing.RecordsProcessCallDestination in project copybara by google.
the class LatestVersionSelectorTest method testResolve.
@Test
public void testResolve() throws Exception {
createTags("1.0.0");
options.testingOptions.destination = new RecordsProcessCallDestination();
options.general.setForceForTest(true);
Path workdir = Files.createTempDirectory("workdir");
// noinspection unchecked
String cfg = "" + "core.workflow(" + " name = 'default'," + " origin = git.origin(" + " url = '" + url + "',\n" + " version_selector = git.latest_version(),\n" + " )," + " authoring = authoring.overwrite('Foo <foo@example.com>')," + " destination = testing.destination()," + ")";
skylark.loadConfig(cfg).getMigration("default").run(workdir, ImmutableList.of());
assertThat(options.testingOptions.destination.processed).hasSize(1);
assertThat(options.testingOptions.destination.processed.get(0).getWorkdir()).containsExactly("test.txt", "some content");
writeFile(remote, "test.txt", "some content2");
repo.add().files("test.txt").run();
git("commit", "-m", "second change", "--date", COMMIT_TIME);
createTags("foo", "1.1.0");
options.general.setForceForTest(false);
skylark.loadConfig(cfg).getMigration("default").run(workdir, ImmutableList.of());
assertThat(options.testingOptions.destination.processed.get(1).getWorkdir()).containsExactly("test.txt", "some content2");
}
use of com.google.copybara.testing.RecordsProcessCallDestination in project copybara by google.
the class MetadataModuleTest method setup.
@Before
public void setup() throws Exception {
options = new OptionsBuilder();
authoring = "authoring.overwrite('" + DEFAULT_AUTHOR + "')";
workdir = Files.createTempDirectory("workdir");
Files.createDirectories(workdir);
origin = new DummyOrigin().setAuthor(ORIGINAL_AUTHOR);
destination = new RecordsProcessCallDestination();
options.setConsole(new TestingConsole());
options.testingOptions.origin = origin;
options.testingOptions.destination = destination;
skylark = new SkylarkTestExecutor(options);
origin.addSimpleChange(0, "first commit\n\nExtended text").setAuthor(FOO_BAR).addSimpleChange(1, "second commit\n\nExtended text").setAuthor(FOO_BAZ).addSimpleChange(2, "third commit\n\nExtended text");
options.setLastRevision("0");
// We don't care about already migrated code
options.setForce(true);
testingConsole = new TestingConsole();
options.setConsole(testingConsole);
}
Aggregations