Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

switch from Junit3 to JUnit5 #1284

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 36 additions & 5 deletions mondrian/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<guava.version>17.0</guava.version>
<driver.version.major>${project.version.major}</driver.version.major>
<maven-failsafe-plugin.argLine>-Duser.language=en -Duser.country=US</maven-failsafe-plugin.argLine>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
</properties>
<dependencies>
<dependency>
Expand Down Expand Up @@ -132,9 +133,21 @@
<version>${jsp-api.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit5.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit5.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit5.version}</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -145,8 +158,20 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${mockito-all.version}</version>
<artifactId>mockito-core</artifactId>
<version>4.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>1.16.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>1.16.2</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -165,6 +190,12 @@
<version>${mysql-connector-java.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.univocity</groupId>
<artifactId>univocity-parsers</artifactId>
<version>2.9.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
4 changes: 0 additions & 4 deletions mondrian/src/it/java/mondrian/test/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,6 @@ public static Test suite() throws Exception {
addTest( suite, PartialCacheVCTest.class, "suite" );
addTest( suite, QueryAllTest.class, "suite" );
addTest( suite, QueryAllVCTest.class, "suite" );
addTest( suite, Base64Test.class );
addTest( suite, CodeComplianceTest.class );
return suite;
}
Expand Down Expand Up @@ -330,7 +329,6 @@ public static Test suite() throws Exception {
addTest( suite, HierarchyBugTest.class );
addTest( suite, ScheduleTest.class );
addTest( suite, UtilTestCase.class );
addTest( suite, CancellationCheckerTest.class );
addTest( suite, PartiallyOrderedSetTest.class );
addTest( suite, ConcatenableListTest.class );
addTest( suite, ExpiringReferenceTest.class );
Expand Down Expand Up @@ -377,7 +375,6 @@ public static Test suite() throws Exception {
addTest( suite, PropertiesTest.class );
addTest( suite, MultipleHierarchyTest.class );
addTest( suite, I18nTest.class );
addTest( suite, FormatTest.class );
addTest( suite, ParallelTest.class );
addTest( suite, SchemaVersionTest.class );
addTest( suite, SchemaTest.class );
Expand All @@ -396,7 +393,6 @@ public static Test suite() throws Exception {
if ( Bug.BugMondrian503Fixed ) {
addTest( suite, RolapResultTest.class );
}
addTest( suite, ConstantCalcTest.class );
addTest( suite, SharedDimensionTest.class );
addTest( suite, CellPropertyTest.class );
addTest( suite, QueryTest.class );
Expand Down
14 changes: 7 additions & 7 deletions mondrian/src/it/java/mondrian/test/MondrianTestRunner.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,13 @@ public MondrianTestRunner(MondrianResultPrinter printer) {
fPrinter = printer;
}

/**
* Always use the StandardTestSuiteLoader. Overridden from
* BaseTestRunner.
*/
public TestSuiteLoader getLoader() {
return new StandardTestSuiteLoader();
}
// /**
// * Always use the StandardTestSuiteLoader. Overridden from
// * BaseTestRunner.
// */
// public TestSuiteLoader getLoader() {
// return new StandardTestSuiteLoader();
// }

public void testFailed(int status, Test test, Throwable t) {
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,36 @@

package mondrian.calc.impl;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import static org.mockito.Mockito.mock;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;

import mondrian.olap.Member;
import mondrian.olap.MondrianProperties;
import mondrian.olap.ResourceLimitExceededException;
import mondrian.test.FoodMartTestCase;
import mondrian.test.PropertySaver5;

import static org.mockito.Mockito.mock;

@SuppressWarnings( "java:S2187" ) // suppressing "no-tests" warning. Mondrian still uses junit 3
public class ArrayTupleListTest extends FoodMartTestCase {
public class ArrayTupleListTest {

/**
* Access properties via this object and their values will be reset.
*/
protected final PropertySaver5 propSaver = new PropertySaver5();

@AfterEach
public void afterEach() {
propSaver.reset();
}
private Member member1 = mock( Member.class );
private Member member2 = mock( Member.class );
private ArrayTupleList list;

@Test
public void testGrowListBeyondInitialCapacity() {
propSaver.set( MondrianProperties.instance().ResultLimit, 0 );
list = new ArrayTupleList( 2, 10 );
Expand All @@ -35,15 +51,16 @@ public void testGrowListBeyondInitialCapacity() {
}
}

@Test
public void testAttemptToGrowBeyondResultLimit() {
propSaver.set( MondrianProperties.instance().ResultLimit, 30 );
list = new ArrayTupleList( 2, 10 );
try {
addMockTuplesToList( list, 32 );
fail( "Expected exception." );
} catch ( ResourceLimitExceededException e ) {
assertTrue( "Actual message: " + e.getMessage() + " \ndid not match expected",
e.getMessage().contains( "result (31) exceeded limit (30)" ) );
assertTrue( e.getMessage().contains( "result (31) exceeded limit (30)" ),
"Actual message: " + e.getMessage() + " \ndid not match expected");
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,27 @@

package mondrian.calc.impl;

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.Test;

import mondrian.olap.fun.FunUtil;
import mondrian.olap.type.NullType;

import junit.framework.TestCase;

/**
* Test for <code>ConstantCalc</code>
* @author Matt
* @author stbischof
*/
public class ConstantCalcTest extends TestCase {
public class ConstantCalcTest{

@Test
public void testNullEvaluatesToConstantDoubleNull() {
ConstantCalc constantCalc = new ConstantCalc(new NullType(), null);
assertEquals(FunUtil.DoubleNull, constantCalc.evaluateDouble(null));
}


@Test
public void testNullEvaluatesToConstantIntegerNull() {
ConstantCalc constantCalc = new ConstantCalc(new NullType(), null);
assertEquals(FunUtil.IntegerNull, constantCalc.evaluateInteger(null));
Expand Down
15 changes: 15 additions & 0 deletions mondrian/src/test/java/mondrian/example/MyTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package mondrian.example;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import mondrian.junit5.MondrianRuntimeExtension;

@ExtendWith(MondrianRuntimeExtension.class)
public class MyTest {

@Test
void testName() throws Exception {
System.out.println(1);
}
}
15 changes: 15 additions & 0 deletions mondrian/src/test/java/mondrian/example/MyTest2.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package mondrian.example;

import org.junit.jupiter.api.Test;

import mondrian.junit5.FastFoodmardDataLoader;
import mondrian.junit5.MondrianRuntimeSupport;

@MondrianRuntimeSupport(dataLoader = FastFoodmardDataLoader.class)
public class MyTest2 {

@Test
void testName() throws Exception {
System.out.println(1);
}
}
11 changes: 11 additions & 0 deletions mondrian/src/test/java/mondrian/junit5/DataLoader.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package mondrian.junit5;

public interface DataLoader {
/**
* @param jdbcConnectionUrl - jdbcConnectionUrl
* @return jdbc connection String
* @throws Exception
*/
boolean loadData(String jdbcConnectionUrl) throws Exception;

}
Loading