From 78768f07309629c4ade43ba5124cb5e076438add Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 23 Apr 2014 15:17:18 +0200 Subject: [PATCH] Remove XMLUnit from sonar-testing-harness --- sonar-server/pom.xml | 5 ++ .../server/debt/DebtModelXMLExporterTest.java | 13 ++++- sonar-testing-harness/pom.xml | 4 -- .../main/java/org/sonar/test/TestUtils.java | 52 ------------------- .../java/org/sonar/test/TestUtilsTest.java | 45 ++-------------- 5 files changed, 20 insertions(+), 99 deletions(-) diff --git a/sonar-server/pom.xml b/sonar-server/pom.xml index 9b798cee8d8..36162c19afe 100644 --- a/sonar-server/pom.xml +++ b/sonar-server/pom.xml @@ -195,6 +195,11 @@ elasticsearch-test test + + xmlunit + xmlunit + test + diff --git a/sonar-server/src/test/java/org/sonar/server/debt/DebtModelXMLExporterTest.java b/sonar-server/src/test/java/org/sonar/server/debt/DebtModelXMLExporterTest.java index ff7cf091625..5629a09dbcb 100644 --- a/sonar-server/src/test/java/org/sonar/server/debt/DebtModelXMLExporterTest.java +++ b/sonar-server/src/test/java/org/sonar/server/debt/DebtModelXMLExporterTest.java @@ -20,7 +20,10 @@ package org.sonar.server.debt; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang.CharUtils; import org.apache.commons.lang.SystemUtils; +import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.XMLUnit; import org.junit.Before; import org.junit.Test; import org.sonar.api.rule.RuleKey; @@ -34,6 +37,7 @@ import java.util.regex.Pattern; import static com.google.common.collect.Lists.newArrayList; import static org.fest.assertions.Assertions.assertThat; +import static org.junit.Assert.assertTrue; import static org.sonar.server.debt.DebtModelXMLExporter.DebtModel; import static org.sonar.server.debt.DebtModelXMLExporter.RuleDebt; @@ -63,7 +67,14 @@ public class DebtModelXMLExporterTest { .setSubCharacteristicKey("MEMORY_USE").setFunction(DebtRemediationFunction.Type.LINEAR_OFFSET.name()).setCoefficient("3d").setOffset("15min") ); - TestUtils.assertSimilarXml(getFileContent("export_xml.xml"), xmlExporter.export(debtModel, rules)); + assertSimilarXml(getFileContent("export_xml.xml"), xmlExporter.export(debtModel, rules)); + } + + public static void assertSimilarXml(String expectedXml, String xml) throws Exception { + XMLUnit.setIgnoreWhitespace(true); + Diff diff = XMLUnit.compareXML(xml, expectedXml); + String message = "Diff: " + diff.toString() + CharUtils.LF + "XML: " + xml; + assertTrue(message, diff.similar()); } @Test diff --git a/sonar-testing-harness/pom.xml b/sonar-testing-harness/pom.xml index ebab6e6459e..65d7a16745a 100644 --- a/sonar-testing-harness/pom.xml +++ b/sonar-testing-harness/pom.xml @@ -49,9 +49,5 @@ ${project.version} test-jar - - xmlunit - xmlunit - diff --git a/sonar-testing-harness/src/main/java/org/sonar/test/TestUtils.java b/sonar-testing-harness/src/main/java/org/sonar/test/TestUtils.java index 3b4d68448ca..eedcee75337 100644 --- a/sonar-testing-harness/src/main/java/org/sonar/test/TestUtils.java +++ b/sonar-testing-harness/src/main/java/org/sonar/test/TestUtils.java @@ -19,22 +19,16 @@ */ package org.sonar.test; -import com.google.common.base.Throwables; import org.apache.commons.io.Charsets; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.CharUtils; import org.apache.commons.lang.StringUtils; -import org.custommonkey.xmlunit.Diff; -import org.custommonkey.xmlunit.XMLUnit; import org.sonar.api.utils.SonarException; import java.io.File; import java.io.IOException; import java.net.URL; -import static org.junit.Assert.assertTrue; - /** * Utilities for unit tests * @@ -90,50 +84,4 @@ public final class TestUtils { resourcePath += path; return getResource(resourcePath); } - - /** - * Shortcut for getTestTempDir(baseClass, testName, true) : cleans the unit test directory - */ - public static File getTestTempDir(Class baseClass, String testName) { - return getTestTempDir(baseClass, testName, true); - } - - /** - * Create a temporary directory for unit tests. - * - * @param baseClass the unit test class - * @param testName the test name - * @param clean remove all the sub-directories and files ? - */ - public static File getTestTempDir(Class baseClass, String testName, boolean clean) { - File dir = new File("target/test-tmp/" + baseClass.getCanonicalName() + "/" + testName); - if (clean && dir.exists()) { - try { - FileUtils.deleteDirectory(dir); - } catch (IOException e) { - throw new SonarException("Can not delete the directory " + dir, e); - } - } - try { - FileUtils.forceMkdir(dir); - } catch (IOException e) { - throw new SonarException("Can not create the directory " + dir, e); - } - return dir; - } - - public static void assertSimilarXml(String expectedXml, String xml) { - Diff diff = isSimilarXml(expectedXml, xml); - String message = "Diff: " + diff.toString() + CharUtils.LF + "XML: " + xml; - assertTrue(message, diff.similar()); - } - - static Diff isSimilarXml(String expectedXml, String xml) { - XMLUnit.setIgnoreWhitespace(true); - try { - return XMLUnit.compareXML(xml, expectedXml); - } catch (Exception e) { - throw Throwables.propagate(e); - } - } } diff --git a/sonar-testing-harness/src/test/java/org/sonar/test/TestUtilsTest.java b/sonar-testing-harness/src/test/java/org/sonar/test/TestUtilsTest.java index 0f44c7443f7..54a0d903357 100644 --- a/sonar-testing-harness/src/test/java/org/sonar/test/TestUtilsTest.java +++ b/sonar-testing-harness/src/test/java/org/sonar/test/TestUtilsTest.java @@ -19,16 +19,12 @@ */ package org.sonar.test; -import static org.fest.assertions.Assertions.assertThat; -import static org.sonar.test.TestUtils.assertSimilarXml; -import static org.sonar.test.TestUtils.getResource; -import static org.sonar.test.TestUtils.getTestTempDir; -import static org.sonar.test.TestUtils.isSimilarXml; +import org.junit.Test; import java.io.File; -import org.apache.commons.io.FileUtils; -import org.junit.Test; +import static org.fest.assertions.Assertions.assertThat; +import static org.sonar.test.TestUtils.getResource; public class TestUtilsTest { @@ -49,39 +45,4 @@ public class TestUtilsTest { File file = getResource("org/sonar/test/TestUtilsTest/unknown.txt"); assertThat(file).isNull(); } - - @Test - public void testTempDir() throws Exception { - File dir = getTestTempDir(getClass(), "testTempDir"); - assertThat(dir).exists().isDirectory(); - assertThat(dir.listFiles()).isEmpty(); - - FileUtils.writeStringToFile(new File(dir, "bar.txt"), "some text"); - assertThat(dir.listFiles()).hasSize(1); - - // the directory is cleaned - dir = getTestTempDir(getClass(), "testTempDir"); - assertThat(dir).exists().isDirectory(); - assertThat(dir.listFiles()).isEmpty(); - } - - @Test - public void testAssertSimilarXml() throws Exception { - assertSimilarXml("", ""); - - // order of attributes - assertSimilarXml("", ""); - - // whitespaces are ignored - assertSimilarXml(" ", ""); - - // attribute values are checked - assertThat(isSimilarXml("", "").similar()).isFalse(); - - // different xml - assertThat(isSimilarXml("", "").similar()).isFalse(); - - // order of nodes is important - assertThat(isSimilarXml("", "").similar()).isFalse(); - } } -- 2.39.5