From a8ac117d5eb9188a657f60314d6d930cd925bc25 Mon Sep 17 00:00:00 2001 From: speedythesnail Date: Mon, 21 Nov 2022 20:56:20 -0500 Subject: [PATCH 1/3] Added .yml as file extension for yaml --- testng-core/src/main/java/org/testng/Converter.java | 2 +- testng-core/src/main/java/org/testng/internal/YamlParser.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/testng-core/src/main/java/org/testng/Converter.java b/testng-core/src/main/java/org/testng/Converter.java index cf0b250ceb..333be9eee9 100644 --- a/testng-core/src/main/java/org/testng/Converter.java +++ b/testng-core/src/main/java/org/testng/Converter.java @@ -65,7 +65,7 @@ private void run(String[] args) throws IOException { if (file.endsWith(".xml")) { File newFile = new File(m_outputDirectory, baseName + ".yaml"); writeFile(newFile, Yaml.toYaml(suite).toString()); - } else if (file.endsWith(".yaml")) { + } else if (file.endsWith(".yaml") || file.endsWith(".yml")) { File newFile = new File(m_outputDirectory, baseName + ".xml"); writeFile(newFile, suite.toXml()); } else { diff --git a/testng-core/src/main/java/org/testng/internal/YamlParser.java b/testng-core/src/main/java/org/testng/internal/YamlParser.java index a044978c26..af061b43b9 100644 --- a/testng-core/src/main/java/org/testng/internal/YamlParser.java +++ b/testng-core/src/main/java/org/testng/internal/YamlParser.java @@ -21,6 +21,7 @@ public XmlSuite parse(String filePath, InputStream is, boolean loadClasses) @Override public boolean accept(String fileName) { - return Parser.hasFileScheme(fileName) && fileName.endsWith(".yaml"); + return Parser.hasFileScheme(fileName) && fileName.endsWith(".yaml") + || fileName.endsWith(".yml"); } } From d7e905887c85fa2d61233244ae138cceac28663f Mon Sep 17 00:00:00 2001 From: speedythesnail Date: Mon, 21 Nov 2022 21:01:48 -0500 Subject: [PATCH 2/3] Modified CHANGES.txt --- CHANGES.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.txt b/CHANGES.txt index da09ecd38e..6302c9196b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ Current +New: Added .yml file extension for yaml suite files, previously only .yaml was allowed for yaml (Steven Jubb) Fixed: GITHUB-2770: FileAlreadyExistsException when report is generated (melloware) Fixed: GITHUB-2825: Programically Loading TestNG Suite from JAR File Fails to Delete Temporary Copy of Suite File (Steven Jubb) Fixed: GITHUB-2818: Add configuration key for callback discrepancy behavior (Krishnan Mahadevan) From 21a52ff15d21643e46510fd1abacbbee75ed2700 Mon Sep 17 00:00:00 2001 From: speedythesnail Date: Tue, 22 Nov 2022 20:12:05 -0500 Subject: [PATCH 3/3] Added tests and changes as requested --- .../main/java/org/testng/internal/YamlParser.java | 4 ++-- testng-core/src/test/java/test/yaml/YamlTest.java | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/testng-core/src/main/java/org/testng/internal/YamlParser.java b/testng-core/src/main/java/org/testng/internal/YamlParser.java index af061b43b9..cb66294860 100644 --- a/testng-core/src/main/java/org/testng/internal/YamlParser.java +++ b/testng-core/src/main/java/org/testng/internal/YamlParser.java @@ -21,7 +21,7 @@ public XmlSuite parse(String filePath, InputStream is, boolean loadClasses) @Override public boolean accept(String fileName) { - return Parser.hasFileScheme(fileName) && fileName.endsWith(".yaml") - || fileName.endsWith(".yml"); + return Parser.hasFileScheme(fileName) + && (fileName.endsWith(".yaml") || fileName.endsWith(".yml")); } } diff --git a/testng-core/src/test/java/test/yaml/YamlTest.java b/testng-core/src/test/java/test/yaml/YamlTest.java index 3d5f6fc33f..701111e3c5 100644 --- a/testng-core/src/test/java/test/yaml/YamlTest.java +++ b/testng-core/src/test/java/test/yaml/YamlTest.java @@ -1,6 +1,8 @@ package test.yaml; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.io.FileInputStream; @@ -31,6 +33,17 @@ public Object[][] dp() { }; } + @Test( + description = + "Validate that the YamlParser accepts yaml files with a .yaml or a .yml file extension, but not other file types.") + public void accept() { + YamlParser yamlParser = new YamlParser(); + + assertTrue(yamlParser.accept("TestSuite.yml")); + assertTrue(yamlParser.accept("TestSuite.yaml")); + assertFalse(yamlParser.accept("TestSuite.xml")); + } + @Test(dataProvider = "dp") public void compareFiles(String name) throws IOException { Collection s1 =