LogFlames commented on code in PR #391: URL: https://github.com/apache/maven-dependency-plugin/pull/391#discussion_r1610513186
########## src/test/java/org/apache/maven/plugins/dependency/tree/TestTreeMojo.java: ########## @@ -137,6 +146,93 @@ public void testTreeTGFSerializing() throws Exception { assertTrue(findString(contents, "testGroupId:release:jar:1.0:compile")); } + /** + * Test the JSON format serialization + */ + public void testTreeJsonSerializing() throws Exception { + List<String> contents = runTreeMojo("tree1.json", "json"); + assertTrue(findString(contents, "\"groupId\": \"testGroupId\"")); + + assertTrue(findString(contents, "\"artifactId\": \"project\"")); + assertTrue(findString(contents, "\"artifactId\": \"release\"")); + assertTrue(findString(contents, "\"artifactId\": \"snapshot\"")); + + assertTrue(findString(contents, "\"version\": \"1.0\"")); + assertTrue(findString(contents, "\"version\": \"2.0-SNAPSHOT\"")); + + assertTrue(findString(contents, "\"type\": \"jar\"")); + + assertTrue(findString(contents, "\"scope\": \"compile\"")); + } + + /** + * Test the JSON format serialization on DependencyNodes with circular dependence + */ + public void testTreeJsonCircularDependency() throws Exception { + String outputFileName = testDir.getAbsolutePath() + "tree2.json"; + File outputFile = new File(outputFileName); + Files.createDirectories(outputFile.getParentFile().toPath()); + outputFile.createNewFile(); + + Artifact artifact1 = this.stubFactory.createArtifact("testGroupId", "project1", "1.0"); + Artifact artifact2 = this.stubFactory.createArtifact("testGroupId", "project2", "1.0"); + DefaultDependencyNode node1 = new DefaultDependencyNode(artifact1); + DefaultDependencyNode node2 = new DefaultDependencyNode(artifact2); + + node1.setChildren(new ArrayList<DependencyNode>()); + node2.setChildren(new ArrayList<DependencyNode>()); + + node1.getChildren().add(node2); + node2.getChildren().add(node1); + + JsonDependencyNodeVisitor jsonDependencyNodeVisitor = + new JsonDependencyNodeVisitor(new PrintWriter(outputFile)); Review Comment: It now uses an OutputStreamWriter instead. ########## src/test/java/org/apache/maven/plugins/dependency/tree/TestTreeMojo.java: ########## @@ -137,6 +146,93 @@ public void testTreeTGFSerializing() throws Exception { assertTrue(findString(contents, "testGroupId:release:jar:1.0:compile")); } + /** + * Test the JSON format serialization + */ + public void testTreeJsonSerializing() throws Exception { + List<String> contents = runTreeMojo("tree1.json", "json"); + assertTrue(findString(contents, "\"groupId\": \"testGroupId\"")); + + assertTrue(findString(contents, "\"artifactId\": \"project\"")); + assertTrue(findString(contents, "\"artifactId\": \"release\"")); + assertTrue(findString(contents, "\"artifactId\": \"snapshot\"")); + + assertTrue(findString(contents, "\"version\": \"1.0\"")); + assertTrue(findString(contents, "\"version\": \"2.0-SNAPSHOT\"")); + + assertTrue(findString(contents, "\"type\": \"jar\"")); + + assertTrue(findString(contents, "\"scope\": \"compile\"")); + } + + /** + * Test the JSON format serialization on DependencyNodes with circular dependence + */ + public void testTreeJsonCircularDependency() throws Exception { + String outputFileName = testDir.getAbsolutePath() + "tree2.json"; + File outputFile = new File(outputFileName); + Files.createDirectories(outputFile.getParentFile().toPath()); + outputFile.createNewFile(); + + Artifact artifact1 = this.stubFactory.createArtifact("testGroupId", "project1", "1.0"); + Artifact artifact2 = this.stubFactory.createArtifact("testGroupId", "project2", "1.0"); + DefaultDependencyNode node1 = new DefaultDependencyNode(artifact1); + DefaultDependencyNode node2 = new DefaultDependencyNode(artifact2); + + node1.setChildren(new ArrayList<DependencyNode>()); + node2.setChildren(new ArrayList<DependencyNode>()); + + node1.getChildren().add(node2); + node2.getChildren().add(node1); + + JsonDependencyNodeVisitor jsonDependencyNodeVisitor = + new JsonDependencyNodeVisitor(new PrintWriter(outputFile)); Review Comment: :+1: It now uses an OutputStreamWriter instead. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org