org.junit.jupiter.params.provider.EnumSource Java Examples

The following examples show how to use org.junit.jupiter.params.provider.EnumSource. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testMergeBase(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, readme!"));

        r.add(readme);
        var hash1 = r.commit("Add README", "duke", "duke@openjdk.java.net");

        Files.write(readme, List.of("Another line"), WRITE, APPEND);
        r.add(readme);
        var hash2 = r.commit("Modify README", "duke", "duke@openjdk.java.net");

        r.checkout(hash1, false);
        Files.write(readme, List.of("A conflicting line"), WRITE, APPEND);
        r.add(readme);
        var hash3 = r.commit("Branching README modification", "duke", "duke@openjdk.java.net");

        assertEquals(hash1, r.mergeBase(hash2, hash3));
    }
}
 
Example #2
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testFetchRemote(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var upstream = Repository.init(dir.path(), vcs);
        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, readme!"));

        upstream.add(readme);
        upstream.commit("Add README", "duke", "duke@openjdk.java.net");

        try (var dir2 = new TemporaryDirectory()) {
            var downstream = Repository.init(dir2.path(), vcs);

             // note: forcing unix path separators for URI
            var upstreamURI = URI.create("file:///" + dir.toString().replace('\\', '/'));
            downstream.addRemote("upstream", upstreamURI.toString());
            downstream.addRemote("foobar", "file:///this/path/does/not/exist");
            downstream.fetchRemote("upstream");
        }
    }
}
 
Example #3
Source File: JCheckTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void checksForCommit(VCS vcs) throws Exception {
    try (var dir = new TemporaryDirectory()) {
        var repoPath = dir.path().resolve("repo");
        var repo = CheckableRepository.create(repoPath, vcs);

        var readme = repoPath.resolve("README");
        Files.write(readme, List.of("Hello, readme!"));
        repo.add(readme);
        var first = repo.commit("Add README", "duke", "duke@openjdk.java.net");

        var censusPath = dir.path().resolve("census");
        Files.createDirectories(censusPath);
        CensusCreator.populateCensusDirectory(censusPath);
        var census = Census.parse(censusPath);

        var checks = JCheck.checksFor(repo, census, first);
        var checkNames = checks.stream()
                               .map(Check::name)
                               .collect(Collectors.toSet());
        assertEquals(Set.of("whitespace", "reviewers"), checkNames);
    }
}
 
Example #4
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testTag(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, world!"));
        r.add(readme);
        var first = r.commit("Added README", "duke", "duke@openjdk.java.net");

        r.tag(first, "test", "Tagging test", "duke", "duke@openjdk.java.net");
        var defaultTag = r.defaultTag().orElse(null);
        var nonDefaultTags = r.tags().stream()
                              .filter(tag -> !tag.equals(defaultTag))
                              .map(Tag::toString)
                              .collect(Collectors.toList());
        assertEquals(List.of("test"), nonDefaultTags);
    }
}
 
Example #5
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testCommitMetadataWithReverse(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, world!"));
        r.add(readme);
        var first = r.commit("Added README", "duke", "duke@openjdk.java.net");

        Files.write(readme, List.of("One more line"), WRITE, APPEND);
        r.add(readme);
        var second = r.commit("Modified README", "duke", "duke@openjdk.java.net");

        var metadata = r.commitMetadata();
        assertEquals(2, metadata.size());
        assertEquals(second, metadata.get(0).hash());
        assertEquals(first, metadata.get(1).hash());

        metadata = r.commitMetadata(true);
        assertEquals(2, metadata.size());
        assertEquals(first, metadata.get(0).hash());
        assertEquals(second, metadata.get(1).hash());
    }
}
 
Example #6
Source File: WebhookTest.java    From camel-k-runtime with Apache License 2.0 6 votes vote down vote up
@ParameterizedTest()
@EnumSource(WebhookAction.class)
public void testRegistrationFailure(WebhookAction action) throws Exception {
    ApplicationRuntime runtime = new ApplicationRuntime();
    runtime.setProperties(
        "camel.component.webhook.configuration.webhook-auto-register", "false",
        "camel.k.customizer.webhook.enabled", "true",
        "camel.k.customizer.webhook.action", action.name());

    runtime.getCamelContext().addComponent(
        "dummy",
        new DummyWebhookComponent(
        () -> {
            throw new RuntimeException("dummy error");
        },
        () -> {
            throw new RuntimeException("dummy error");
        })
    );

    runtime.addListener(new ContextConfigurer());
    runtime.addListener(RoutesConfigurer.forRoutes("classpath:webhook.js"));

    Assertions.assertThrows(FailedToCreateRouteException.class, runtime::run);
}
 
Example #7
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testCommitMetadata(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, world!"));
        r.add(readme);
        var first = r.commit("Added README", "duke", "duke@openjdk.java.net");

        Files.write(readme, List.of("One more line"), WRITE, APPEND);
        r.add(readme);
        var second = r.commit("Modified README", "duke", "duke@openjdk.java.net");

        var metadata = r.commitMetadata();
        assertEquals(2, metadata.size());

        assertEquals(second, metadata.get(0).hash());
        assertEquals(List.of("Modified README"), metadata.get(0).message());

        assertEquals(first, metadata.get(1).hash());
        assertEquals(List.of("Added README"), metadata.get(1).message());
    }
}
 
Example #8
Source File: WebrevTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void simple(VCS vcs) throws IOException {
    try (var repoFolder = new TemporaryDirectory();
         var webrevFolder = new TemporaryDirectory()) {
        var repo = Repository.init(repoFolder.path(), vcs);
        var file = repoFolder.path().resolve("x.txt");
        Files.writeString(file, "1\n2\n3\n", StandardCharsets.UTF_8);
        repo.add(file);
        var hash1 = repo.commit("Commit", "a", "a@a.a");
        Files.writeString(file, "1\n2\n3\n4\n", StandardCharsets.UTF_8);
        repo.add(file);
        var hash2 = repo.commit("Commit 2", "a", "a@a.a");

        new Webrev.Builder(repo, webrevFolder.path()).generate(hash1, hash2);
        assertContains(webrevFolder.path().resolve("x.txt"), "1\n2\n3\n4\n");
        assertContains(webrevFolder.path().resolve("index.html"), "<td>1 lines changed; 1 ins; 0 del; 0 mod; 3 unchg</td>");
    }
}
 
Example #9
Source File: WebrevTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void middle(VCS vcs) throws IOException {
    try (var repoFolder = new TemporaryDirectory();
         var webrevFolder = new TemporaryDirectory()) {
        var repo = Repository.init(repoFolder.path(), vcs);
        var file = repoFolder.path().resolve("x.txt");
        Files.writeString(file, "1\n2\n3\n4\n5\n6\n7\n8\n9\n", StandardCharsets.UTF_8);
        repo.add(file);
        var hash1 = repo.commit("Commit", "a", "a@a.a");
        Files.writeString(file, "1\n2\n3\n4\n5\n5.1\n5.2\n6\n7\n8\n9\n", StandardCharsets.UTF_8);
        repo.add(file);
        var hash2 = repo.commit("Commit 2", "a", "a@a.a");

        new Webrev.Builder(repo, webrevFolder.path()).generate(hash1, hash2);
        assertContains(webrevFolder.path().resolve("index.html"), "<td>2 lines changed; 2 ins; 0 del; 0 mod; 9 unchg</td>");
    }
}
 
Example #10
Source File: WebrevTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void emptySourceHunk(VCS vcs) throws IOException {
    try (var repoFolder = new TemporaryDirectory();
    var webrevFolder = new TemporaryDirectory()) {
        var repo = Repository.init(repoFolder.path(), vcs);
        var file = repoFolder.path().resolve("x.txt");
        Files.writeString(file, "1\n2\n3\n", StandardCharsets.UTF_8);
        repo.add(file);
        var hash1 = repo.commit("Commit", "a", "a@a.a");
        Files.writeString(file, "0\n1\n2\n3\n", StandardCharsets.UTF_8);
        repo.add(file);
        var hash2 = repo.commit("Commit 2", "a", "a@a.a");

        new Webrev.Builder(repo, webrevFolder.path()).generate(hash1, hash2);
        assertContains(webrevFolder.path().resolve("index.html"), "<td>1 lines changed; 1 ins; 0 del; 0 mod; 3 unchg</td>");
    }
}
 
Example #11
Source File: WebrevTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void removeBinaryFile(VCS vcs) throws IOException {
    try (var tmp = new TemporaryDirectory()) {
        var repo = Repository.init(tmp.path().resolve("repo"), vcs);
        var binaryFile = repo.root().resolve("x.jpg");
        byte[] contents = {0x1, 0x2, 0x3, 0x4, 0x5, 0x0, 0x2, 0x3, 0x4, 0x5};
        Files.write(binaryFile, contents);
        repo.add(binaryFile);
        var hash1 = repo.commit("Added binary file", "a", "a@a.a");
        repo.remove(binaryFile);
        var hash2 = repo.commit("Removed binary file", "a", "a@a.a");

        new Webrev.Builder(repo, tmp.path().resolve("webrev")).generate(hash1, hash2);
    }
}
 
Example #12
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testIsClean(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);
        assertTrue(r.isClean());

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, world!"));
        assertFalse(r.isClean());

        r.add(readme);
        assertFalse(r.isClean());

        r.commit("Added README", "duke", "duke@openjdk.java.net");
        assertTrue(r.isClean());

        Files.delete(readme);
        assertFalse(r.isClean());

        Files.write(readme, List.of("Hello, world!"));
        assertTrue(r.isClean());
    }
}
 
Example #13
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testNonCheckedOutRepositoryIsHealthy(VCS vcs) throws IOException {
    try (var dir1 = new TemporaryDirectory();
         var dir2 = new TemporaryDirectory()) {
        var r1 = Repository.init(dir1.path(), vcs);

        var readme = dir1.path().resolve("README");
        Files.write(readme, List.of("Hello, readme!"));

        r1.add(readme);
        var hash = r1.commit("Add README", "duke", "duke@openjdk.java.net");
        r1.tag(hash, "tag", "tagging", "duke", "duke@openjdk.java.net");

        var r2 = Repository.init(dir2.path(), vcs);
        r2.fetch(r1.root().toUri(), r1.defaultBranch().name());

        assertTrue(r2.isHealthy());
    }
}
 
Example #14
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testRemoteBranches(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var upstream = Repository.init(dir.path().resolve("upstream"), vcs);
        var readme = upstream.root().resolve("README");
        Files.writeString(readme, "Hello\n");
        upstream.add(readme);
        var head = upstream.commit("Added README", "duke", "duke@openjdk.org");

        var fork = Repository.init(dir.path().resolve("fork"), vcs);
        fork.addRemote("upstream", upstream.root().toUri().toString());
        var refs = fork.remoteBranches("upstream");
        assertEquals(1, refs.size());
        var ref = refs.get(0);
        assertEquals(head, ref.hash());
        assertEquals(upstream.defaultBranch().name(), ref.name());
    }
}
 
Example #15
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testCheckout(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, readme!"));
        r.add(readme);

        var head1 = r.commit("Add README", "duke", "duke@openjdk.java.net");
        assertEquals(head1, r.head());

        Files.write(readme, List.of("Another line"), WRITE, APPEND);
        r.add(readme);

        var head2 = r.commit("Add one more line", "duke", "duke@openjdk.java.net");
        assertEquals(head2, r.head());

        r.checkout(head1, false);
        assertEquals(head1, r.head());

        r.checkout(head2, false);
        assertEquals(head2, r.head());
    }
}
 
Example #16
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testCleanIgnored(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);
        r.clean();

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, readme!"));
        Files.write(dir.path().resolve(".gitignore"), List.of("*.txt"));
        Files.write(dir.path().resolve(".hgignore"), List.of(".*txt"));

        r.add(readme);
        var hash1 = r.commit("Add README", "duke", "duke@openjdk.java.net");

        var ignored = dir.path().resolve("ignored.txt");
        Files.write(ignored, List.of("Random text"));

        r.clean();

        assertFalse(Files.exists(ignored));
    }
}
 
Example #17
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testContains(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);
        assertTrue(r.isClean());

        var f = dir.path().resolve("README");
        Files.writeString(f, "Hello\n");
        r.add(f);
        var initial = r.commit("Initial commit", "duke", "duke@openjdk.org");

        assertTrue(r.contains(r.defaultBranch(), initial));

        Files.writeString(f, "Hello again\n");
        r.add(f);
        var second = r.commit("Second commit", "duke", "duke@openjdk.org");

        assertTrue(r.contains(r.defaultBranch(), initial));
    }
}
 
Example #18
Source File: WebrevTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void addBinaryFile(VCS vcs) throws IOException {
    try (var tmp = new TemporaryDirectory()) {
        var repo = Repository.init(tmp.path().resolve("repo"), vcs);
        var readme = repo.root().resolve("README");
        Files.writeString(readme, "Hello\n");
        repo.add(readme);
        var hash1 = repo.commit("Added readme", "a", "a@a");

        var binaryFile = repo.root().resolve("x.jpg");
        byte[] contents = {0x1, 0x2, 0x3, 0x4, 0x5, 0x0, 0x2, 0x3, 0x4, 0x5};
        Files.write(binaryFile, contents);
        repo.add(binaryFile);
        var hash2 = repo.commit("Added binary file", "a", "a@a.a");

        new Webrev.Builder(repo, tmp.path().resolve("webrev")).generate(hash1, hash2);
    }
}
 
Example #19
Source File: WebrevTests.java    From skara with GNU General Public License v2.0 6 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void removedHeader(VCS vcs) throws IOException {
    try (var repoFolder = new TemporaryDirectory();
         var webrevFolder = new TemporaryDirectory()) {
        var repo = Repository.init(repoFolder.path(), vcs);
        var file = repoFolder.path().resolve("x.txt");
        Files.writeString(file, "1\n2\n3\n4\n5\n6\n7\n8\n9\n", StandardCharsets.UTF_8);
        repo.add(file);
        var hash1 = repo.commit("Commit", "a", "a@a.a");
        Files.writeString(file, "5\n6\n7\n8\n9\n", StandardCharsets.UTF_8);
        repo.add(file);
        var hash2 = repo.commit("Commit 2", "a", "a@a.a");

        new Webrev.Builder(repo, webrevFolder.path()).generate(hash1, hash2);
        assertContains(webrevFolder.path().resolve("index.html"), "<td>4 lines changed; 0 ins; 4 del; 0 mod; 1 unchg</td>");
    }
}
 
Example #20
Source File: JCheckTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void checkRemoval(VCS vcs) throws Exception {
    try (var dir = new TemporaryDirectory()) {
        var repoPath = dir.path().resolve("repo");
        var repo = CheckableRepository.create(repoPath, vcs);

        var file = repoPath.resolve("file.txt");
        Files.write(file, List.of("Hello, file!"));
        repo.add(file);
        var first = repo.commit("Add file", "duke", "duke@openjdk.java.net");

        Files.delete(file);
        repo.remove(file);
        var second = repo.commit("Remove file", "duke", "duke@openjdk.java.net");

        var censusPath = dir.path().resolve("census");
        Files.createDirectories(censusPath);
        CensusCreator.populateCensusDirectory(censusPath);
        var census = Census.parse(censusPath);

        var visitor = new TestVisitor();
        try (var issues = JCheck.check(repo, census, CommitMessageParsers.v1, first.hex() + ".." + second.hex(), Map.of(), Set.of())) {
            for (var issue : issues) {
                issue.accept(visitor);
            }
        }
        assertEquals(Set.of("org.openjdk.skara.jcheck.TooFewReviewersIssue"), visitor.issueNames());
    }
}
 
Example #21
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testNonEmptyRepositoryIsHealthy(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, readme!"));

        r.add(readme);
        r.commit("Add README", "duke", "duke@openjdk.java.net");

        assertTrue(r.isHealthy());
    }
}
 
Example #22
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testSubmodulesOnEmptyRepo(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var repo = Repository.init(dir.path(), vcs);
        assertEquals(List.of(), repo.submodules());
    }
}
 
Example #23
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testBranchesOnNonEmptyRepository(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);

        var readme = dir.path().resolve("README");
        Files.write(readme, List.of("Hello, readme!"));

        r.add(readme);
        r.commit("Add README", "duke", "duke@openjdk.java.net");

        assertEquals(List.of(r.defaultBranch()), r.branches());
    }
}
 
Example #24
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testRangeExclusive(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var repo = Repository.init(dir.path(), vcs);
        var range = repo.rangeExclusive(new Hash("01234"), new Hash("56789"));
        if (vcs == VCS.GIT) {
            assertEquals("01234..56789", range);
        } else if (vcs == VCS.HG) {
            assertEquals("01234:56789-01234", range);
        } else {
            fail("Unexpected vcs: " + vcs);
        }
    }
}
 
Example #25
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testRangeSingle(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var repo = Repository.init(dir.path(), vcs);
        var range = repo.range(new Hash("0123456789"));
        if (vcs == VCS.GIT) {
            assertEquals("0123456789^!", range);
        } else if (vcs == VCS.HG) {
            assertEquals("0123456789", range);
        } else {
            fail("Unexpected vcs: " + vcs);
        }
    }
}
 
Example #26
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testReset(VCS vcs) throws IOException {
    assumeTrue(vcs == VCS.GIT); // FIXME reset is not yet implemented for HG

    try (var dir = new TemporaryDirectory()) {
        var repo = Repository.init(dir.path(), vcs);
        assertTrue(repo.isClean());

        var f = dir.path().resolve("README");
        Files.writeString(f, "Hello\n");
        repo.add(f);
        var initial = repo.commit("Initial commit", "duke", "duke@openjdk.org");

        Files.writeString(f, "Hello again\n");
        repo.add(f);
        var second = repo.commit("Second commit", "duke", "duke@openjdk.org");

        assertEquals(second, repo.head());
        assertEquals(2, repo.commits().asList().size());

        repo.reset(initial, true);

        assertEquals(initial, repo.head());
        assertEquals(1, repo.commits().asList().size());
    }
}
 
Example #27
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testDefaultBranch(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);
        var expected = vcs == VCS.GIT ? "master" : "default";
        assertEquals(expected, r.defaultBranch().name());
    }
}
 
Example #28
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testFiles(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);
        assertTrue(r.isClean());

        var f = dir.path().resolve("README");
        Files.writeString(f, "Hello\n");
        r.add(f);
        var initial = r.commit("Initial commit", "duke", "duke@openjdk.org");

        var entries = r.files(initial);
        assertEquals(1, entries.size());
        var entry = entries.get(0);
        assertEquals(Path.of("README"), entry.path());
        assertTrue(entry.type().isRegularNonExecutable());

        var f2 = dir.path().resolve("CONTRIBUTING");
        Files.writeString(f2, "Hello\n");
        r.add(f2);
        var second = r.commit("Second commit", "duke", "duke@openjdk.org");

        entries = r.files(second);
        assertEquals(2, entries.size());
        assertTrue(entries.stream().allMatch(e -> e.type().isRegularNonExecutable()));
        var paths = entries.stream().map(FileEntry::path).collect(Collectors.toSet());
        assertTrue(paths.contains(Path.of("README")));
        assertTrue(paths.contains(Path.of("CONTRIBUTING")));

        entries = r.files(second, Path.of("README"));
        assertEquals(1, entries.size());
        entry = entries.get(0);
        assertEquals(Path.of("README"), entry.path());
        assertTrue(entry.type().isRegularNonExecutable());
    }
}
 
Example #29
Source File: RepositoryTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void testPaths(VCS vcs) throws IOException {
    try (var dir = new TemporaryDirectory()) {
        var r = Repository.init(dir.path(), vcs);
        var remote = vcs == VCS.GIT ? "origin" : "default";
        r.setPaths(remote, "http://pull", "http://push");
        assertEquals("http://pull", r.pullPath(remote));
        assertEquals("http://push", r.pushPath(remote));
    }
}
 
Example #30
Source File: RepositoryStorageTests.java    From skara with GNU General Public License v2.0 5 votes vote down vote up
@ParameterizedTest
@EnumSource(VCS.class)
void multiple(VCS vcs) throws IOException {
    var tmpDir = Files.createTempDirectory("repositorystorage");
    var repository = Repository.init(tmpDir, vcs);
    var storage = stringStorage(repository);

    assertEquals(Set.of(), storage.current());
    storage.put(Set.of("hello", "there"));
    assertEquals(Set.of("hello", "there"), storage.current());
}