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