View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.maven.plugin.surefire.report;
20  
21  import junit.framework.TestCase;
22  import org.apache.maven.surefire.api.report.ReportEntry;
23  import org.apache.maven.surefire.api.report.SimpleReportEntry;
24  
25  import static org.apache.maven.plugin.surefire.report.ReportEntryType.ERROR;
26  import static org.apache.maven.plugin.surefire.report.ReportEntryType.FAILURE;
27  import static org.apache.maven.plugin.surefire.report.ReportEntryType.SKIPPED;
28  import static org.apache.maven.plugin.surefire.report.ReportEntryType.SUCCESS;
29  import static org.apache.maven.surefire.api.report.RunMode.NORMAL_RUN;
30  
31  /**
32   * @author Kristian Rosenvold
33   */
34  public class WrappedReportEntryTest extends TestCase {
35      public void testClassNameOnly() {
36          String className = "surefire.testcase.JunitParamsTest";
37          WrappedReportEntry wr = new WrappedReportEntry(
38                  new SimpleReportEntry(NORMAL_RUN, 1L, className, null, null, null), SUCCESS, 12, null, null);
39          final String reportName = wr.getReportSourceName();
40          assertEquals("surefire.testcase.JunitParamsTest.null", wr.getClassMethodName());
41          assertEquals("surefire.testcase.JunitParamsTest", reportName);
42          assertTrue(wr.isSucceeded());
43          assertFalse(wr.isErrorOrFailure());
44          assertFalse(wr.isSkipped());
45      }
46  
47      public void testRegular() {
48          ReportEntry reportEntry =
49                  new SimpleReportEntry(NORMAL_RUN, 1L, "surefire.testcase.JunitParamsTest", null, "testSum", null);
50          WrappedReportEntry wr = new WrappedReportEntry(reportEntry, null, 12, null, null);
51          assertEquals("surefire.testcase.JunitParamsTest.testSum", wr.getClassMethodName());
52          assertEquals("surefire.testcase.JunitParamsTest", wr.getReportSourceName());
53          assertEquals("surefire.testcase.JunitParamsTest", wr.getReportSourceName(""));
54          assertEquals("surefire.testcase.JunitParamsTest(BDD)", wr.getReportSourceName("BDD"));
55          assertEquals("surefire.testcase.JunitParamsTest", wr.getSourceName(""));
56          assertEquals("surefire.testcase.JunitParamsTest(BDD)", wr.getSourceName("BDD"));
57          assertEquals("testSum", wr.getReportName());
58          assertFalse(wr.isSucceeded());
59          assertFalse(wr.isErrorOrFailure());
60          assertFalse(wr.isSkipped());
61          assertTrue(wr.getSystemProperties().isEmpty());
62          assertNull(wr.getGroup());
63          assertEquals("surefire.testcase.JunitParamsTest", wr.getNameWithGroup());
64      }
65  
66      public void testDisplayNames() {
67          ReportEntry reportEntry = new SimpleReportEntry(
68                  NORMAL_RUN, 0L, "surefire.testcase.JunitParamsTest", "dn1", "testSum", "dn2", "exception");
69          WrappedReportEntry wr = new WrappedReportEntry(reportEntry, ERROR, 12, null, null);
70          assertEquals("surefire.testcase.JunitParamsTest.testSum", wr.getClassMethodName());
71          assertEquals("dn1", wr.getReportSourceName());
72          assertEquals("dn1(BDD)", wr.getReportSourceName("BDD"));
73          assertEquals("surefire.testcase.JunitParamsTest(BDD)", wr.getSourceName("BDD"));
74          assertEquals("dn2", wr.getReportName());
75          assertFalse(wr.isSucceeded());
76          assertTrue(wr.isErrorOrFailure());
77          assertFalse(wr.isSkipped());
78          assertNull(wr.getStackTraceWriter());
79          assertEquals("surefire.testcase.JunitParamsTest.testSum -- Time elapsed: 0.012 s", wr.getElapsedTimeSummary());
80          assertEquals(
81                  "surefire.testcase.JunitParamsTest.testSum -- Time elapsed: 0.012 s <<< ERROR!", wr.getOutput(false));
82          assertEquals("exception", wr.getMessage());
83      }
84  
85      public void testEqualDisplayNames() {
86          ReportEntry reportEntry = new SimpleReportEntry(
87                  NORMAL_RUN,
88                  1L,
89                  "surefire.testcase.JunitParamsTest",
90                  "surefire.testcase.JunitParamsTest",
91                  "testSum",
92                  "testSum");
93          WrappedReportEntry wr = new WrappedReportEntry(reportEntry, FAILURE, 12, null, null);
94          assertEquals("surefire.testcase.JunitParamsTest", wr.getReportSourceName());
95          assertEquals("surefire.testcase.JunitParamsTest(BDD)", wr.getReportSourceName("BDD"));
96          assertEquals("testSum", wr.getReportName());
97          assertFalse(wr.isSucceeded());
98          assertTrue(wr.isErrorOrFailure());
99          assertFalse(wr.isSkipped());
100     }
101 
102     public void testGetReportNameWithParams() {
103         String className = "[0] 1\u002C 2\u002C 3 (testSum)";
104         ReportEntry reportEntry = new SimpleReportEntry(NORMAL_RUN, 1L, className, null, null, null);
105         WrappedReportEntry wr = new WrappedReportEntry(reportEntry, SKIPPED, 12, null, null);
106         final String reportName = wr.getReportSourceName();
107         assertEquals("[0] 1, 2, 3 (testSum)", reportName);
108         assertFalse(wr.isSucceeded());
109         assertFalse(wr.isErrorOrFailure());
110         assertTrue(wr.isSkipped());
111     }
112 
113     public void testGetReportNameWithGroupWhenSourceTextIsNull() {
114         String className = "ClassName";
115         String classText = null;
116         ReportEntry reportEntry = new SimpleReportEntry(NORMAL_RUN, 1L, className, classText, null, null);
117         WrappedReportEntry wr = new WrappedReportEntry(reportEntry, SKIPPED, 12, null, null);
118         assertEquals(className, wr.getReportNameWithGroup());
119     }
120 
121     public void testGetReportNameWithGroupWhenSourceTextIsEmpty() {
122         String className = "ClassName";
123         String classText = "";
124         ReportEntry reportEntry = new SimpleReportEntry(NORMAL_RUN, 1L, className, classText, null, null);
125         WrappedReportEntry wr = new WrappedReportEntry(reportEntry, SKIPPED, 12, null, null);
126         assertEquals(className, wr.getReportNameWithGroup());
127     }
128 
129     public void testGetReportNameWithGroupWhenSourceTextIsBlank() {
130         String className = "ClassName";
131         String classText = "  ";
132         ReportEntry reportEntry = new SimpleReportEntry(NORMAL_RUN, 1L, className, classText, null, null);
133         WrappedReportEntry wr = new WrappedReportEntry(reportEntry, SKIPPED, 12, null, null);
134         assertEquals(className, wr.getReportNameWithGroup());
135     }
136 
137     public void testGetReportNameWithGroupWhenSourceTextIsProvided() {
138         String className = "ClassName";
139         String classText = "The Class Name";
140         ReportEntry reportEntry = new SimpleReportEntry(NORMAL_RUN, 1L, className, classText, null, null);
141         WrappedReportEntry wr = new WrappedReportEntry(reportEntry, SKIPPED, 12, null, null);
142         assertEquals(classText, wr.getReportNameWithGroup());
143     }
144 
145     public void testElapsed() {
146         String className = "[0] 1\u002C 2\u002C 3 (testSum)";
147         ReportEntry reportEntry = new SimpleReportEntry(NORMAL_RUN, 1L, className, null, null, null);
148         WrappedReportEntry wr = new WrappedReportEntry(reportEntry, null, 12, null, null);
149         String elapsedTimeSummary = wr.getElapsedTimeSummary();
150         assertEquals("[0] 1, 2, 3 (testSum) -- Time elapsed: 0.012 s", elapsedTimeSummary);
151     }
152 }