use of com.google.copybara.testing.DummyOrigin in project copybara by google.
the class ReadConfigFromChangeWorkflowTest method setup.
@Before
public void setup() {
options = new OptionsBuilder();
origin = new DummyOrigin();
destination = new RecordsProcessCallDestination();
options.testingOptions.origin = origin;
options.testingOptions.destination = destination;
options.general.starlarkMode = StarlarkMode.STRICT.name();
skylark = new SkylarkTestExecutor(options);
}
use of com.google.copybara.testing.DummyOrigin in project copybara by google.
the class GitDestinationIntegrateTest method testGerritFakeMergeNoChangeId.
@Test
public void testGerritFakeMergeNoChangeId() throws ValidationException, IOException, RepoException {
Path workTree = Files.createTempDirectory("test");
GitRepository repo = gitUtil.mockRemoteRepo("example.com/gerrit").withWorkTree(workTree);
String label = new GerritIntegrateLabel(repo, options.general, "https://example.com/gerrit", 1020, 1, /*changeId=*/
null).toString();
assertThat(label).isEqualTo("gerrit https://example.com/gerrit 1020 Patch Set 1");
GitRevision firstChange = singleChange(workTree, repo, "ignore_me", "Feature1 change");
repo.simpleCommand("update-ref", "refs/changes/20/1020/1", firstChange.getSha1());
GitTestUtil.createFakeGerritNodeDbMeta(repo, 1020, CHANGE_ID);
GitDestination destination = destination(FAKE_MERGE);
GitLogEntry previous = createBaseDestinationChange(destination);
migrateOriginChange(destination, "Test change\n" + "\n" + GitModule.DEFAULT_INTEGRATE_LABEL + "=" + label + "\n", "some content");
// Make sure commit adds new text
String showResult = git("--git-dir", repoGitDir.toString(), "show", primaryBranch);
assertThat(showResult).contains("some content");
GitTesting.assertThatCheckout(repo(), primaryBranch).containsFile("test.txt", "some content").containsNoMoreFiles();
GitLogEntry merge = getLastMigratedChange(primaryBranch);
assertThat(merge.getBody()).isEqualTo("Merge Gerrit change 1020 Patch Set 1\n" + "\n" + "DummyOrigin-RevId: test\n");
assertThat(Lists.transform(merge.getParents(), GitRevision::getSha1)).isEqualTo(Lists.newArrayList(previous.getCommit().getSha1(), firstChange.getSha1()));
assertThat(console.getMessages().stream().filter(e -> e.getType() == MessageType.WARNING).findAny()).isEqualTo(Optional.empty());
}
use of com.google.copybara.testing.DummyOrigin in project copybara by google.
the class GitDestinationIntegrateTest method testGitHubSemiFakeMerge.
@Test
public void testGitHubSemiFakeMerge() throws ValidationException, IOException, RepoException {
Path workTree = Files.createTempDirectory("test");
GitRepository repo = gitUtil.mockRemoteRepo("github.com/example/test_repo").withWorkTree(workTree);
GitRevision firstChange = singleChange(workTree, repo, "ignore_me", "Feature1 change");
GitRevision secondChange = singleChange(workTree, repo, "ignore_me2", "Feature2 change");
repo.simpleCommand("update-ref", "refs/pull/20/head", secondChange.getSha1());
GitDestination destination = destinationWithDefaultIntegrates();
GitLogEntry previous = createBaseDestinationChange(destination);
GitHubPrIntegrateLabel labelObj = new GitHubPrIntegrateLabel(repo, options.general, "example/test_repo", 20, "some_user:1234-foo.bar.baz%3", secondChange.getSha1());
assertThat(labelObj.getProjectId()).isEqualTo("example/test_repo");
assertThat(labelObj.getPrNumber()).isEqualTo(20L);
assertThat(labelObj.getOriginBranch()).isEqualTo("some_user:1234-foo.bar.baz%3");
assertThat(labelObj.mergeMessage(ImmutableList.of())).isEqualTo("Merge pull request #20 from some_user:1234-foo.bar.baz%3\n");
String label = labelObj.toString();
assertThat(label).isEqualTo("https://github.com/example/test_repo/pull/20" + " from some_user:1234-foo.bar.baz%3 " + secondChange.getSha1());
migrateOriginChange(destination, "Test change\n" + "\n" + GitModule.DEFAULT_INTEGRATE_LABEL + "=" + label + "\n", "some content");
// Make sure commit adds new text
String showResult = git("--git-dir", repoGitDir.toString(), "show", primaryBranch);
assertThat(showResult).contains("some content");
GitTesting.assertThatCheckout(repo(), primaryBranch).containsFile("test.txt", "some content").containsFile("ignore_me", "").containsFile("ignore_me2", "").containsNoMoreFiles();
GitLogEntry merge = getLastMigratedChange(primaryBranch);
assertThat(merge.getBody()).isEqualTo("Merge pull request #20 from some_user:1234-foo.bar.baz%3\n" + "\n" + "DummyOrigin-RevId: test\n");
assertThat(Lists.transform(merge.getParents(), GitRevision::getSha1)).isEqualTo(Lists.newArrayList(previous.getCommit().getSha1(), secondChange.getSha1()));
assertThat(console.getMessages().stream().filter(e -> e.getType() == MessageType.WARNING).collect(Collectors.toList())).isEmpty();
label = new GitHubPrIntegrateLabel(repo, options.general, "example/test_repo", 20, "some_user:branch", firstChange.getSha1()).toString();
assertThat(label).isEqualTo("https://github.com/example/test_repo/pull/20" + " from some_user:branch " + firstChange.getSha1());
repo().withWorkTree(workTree).simpleCommand("reset", "--hard", "HEAD~1");
migrateOriginChange(destination, "Test change\n" + "\n" + GitModule.DEFAULT_INTEGRATE_LABEL + "=" + label + "\n", "some content");
assertThat(console.getMessages().stream().filter(e -> e.getType() == MessageType.WARNING).findAny().get().getText()).contains("has more changes after " + firstChange.getSha1());
}
use of com.google.copybara.testing.DummyOrigin in project copybara by google.
the class TransformDebugTest method setup.
@Before
public void setup() throws Exception {
options = new OptionsBuilder();
origin = new DummyOrigin();
destination = new RecordsProcessCallDestination();
options.testingOptions.origin = origin;
options.testingOptions.destination = destination;
skylark = new SkylarkTestExecutor(options);
workdir = Files.createTempDirectory("workdir");
options.setHomeDir(Files.createTempDirectory("home").toString());
options.setWorkdirToRealTempDir();
console = Mockito.mock(Console.class);
when(console.colorize(any(), anyString())).thenAnswer((Answer<String>) invocationOnMock -> (String) invocationOnMock.getArguments()[1]);
}
use of com.google.copybara.testing.DummyOrigin in project copybara by google.
the class RevisionMigratorTest method setUp.
@Before
public void setUp() throws Exception {
FileSystem fs = Jimfs.newFileSystem();
checkoutDir = fs.getPath("/test-checkoutDir");
origin = new DummyOrigin();
destinationReader = new MockReader();
location = Location.fromFileLineColumn("file", 1, 2);
referenceMigrator = ReferenceMigrator.create("http://internalReviews.com/${reference}", "http://externalreviews.com/view?${reference}", Pattern.compile("[0-9]+"), Pattern.compile("[0-9a-f]+"), ImmutableList.of(), location);
OptionsBuilder options = new OptionsBuilder();
console = new TestingConsole();
options.setConsole(console);
skylark = new SkylarkTestExecutor(options);
}
Aggregations