Skip to content

Commit 5734e89

Browse files
authored
Merge pull request #11863 from grails/updateToJunit5
Update tests to JUnit 5
2 parents 6e52f17 + 4686a41 commit 5734e89

28 files changed

+355
-143
lines changed

grails-core/src/main/groovy/org/grails/compiler/injection/GlobalGrailsClassInjectorTransformation.groovy

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,14 +165,14 @@ class GlobalGrailsClassInjectorTransformation implements ASTTransformation, Comp
165165
if(Modifier.isAbstract(classNode.getModifiers())) return false
166166

167167
def classNodeName = classNode.name
168-
// generate META-INF/grails.factories
169-
def factoriesFile = new File(compilationTargetDirectory, "META-INF/grails.factories")
170-
factoriesFile.parentFile.mkdirs()
168+
169+
File sourceDirectory = findSourceDirectory(compilationTargetDirectory)
170+
def sourceFactoriesFile = new File(sourceDirectory, "src/main/resources/META-INF/grails.factories")
171171
def props = new Properties()
172172
def superTypeName = superType.getName()
173-
if (factoriesFile.exists()) {
173+
if (sourceFactoriesFile.exists()) {
174174
// update
175-
factoriesFile.withInputStream { InputStream input ->
175+
sourceFactoriesFile.withInputStream { InputStream input ->
176176
props.load(input)
177177
}
178178

@@ -186,6 +186,9 @@ class GlobalGrailsClassInjectorTransformation implements ASTTransformation, Comp
186186
} else {
187187
props.put(superTypeName, classNodeName)
188188
}
189+
// generate META-INF/grails.factories
190+
def factoriesFile = new File(compilationTargetDirectory, "META-INF/grails.factories")
191+
factoriesFile.parentFile.mkdirs()
189192
factoriesFile.withWriter { Writer writer ->
190193
props.store(writer, "Grails Factories File")
191194
}
@@ -194,6 +197,14 @@ class GlobalGrailsClassInjectorTransformation implements ASTTransformation, Comp
194197
return false
195198
}
196199

200+
private static File findSourceDirectory(File compilationTargetDirectory) {
201+
File sourceDirectory = compilationTargetDirectory
202+
while (sourceDirectory != null && !(sourceDirectory.name in ["build", "target"])) {
203+
sourceDirectory = sourceDirectory.parentFile
204+
}
205+
sourceDirectory.parentFile
206+
}
207+
197208
static Set<String> pendingPluginClasses = []
198209
static Collection<String> pluginExcludes = []
199210

grails-test-suite-persistence/src/test/groovy/org/grails/orm/support/TransactionManagerPostProcessorTests.groovy

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,20 @@ package org.grails.orm.support
33
import grails.spring.BeanBuilder
44
import grails.transaction.TransactionManagerAware
55
import org.grails.transaction.TransactionManagerPostProcessor
6+
import org.junit.jupiter.api.Test
67
import org.springframework.jdbc.datasource.DataSourceTransactionManager
78
import org.springframework.jdbc.datasource.DriverManagerDataSource
89
import org.springframework.transaction.PlatformTransactionManager
910

11+
import static org.junit.jupiter.api.Assertions.assertNotNull
12+
1013
/**
1114
* @author Graeme Rocher
1215
* @since 1.0
1316
*/
14-
class TransactionManagerPostProcessorTests extends GroovyTestCase{
17+
class TransactionManagerPostProcessorTests {
1518

19+
@Test
1620
void testTransactionManagerPostProccessor() {
1721
def bb = new BeanBuilder()
1822

@@ -35,8 +39,8 @@ class TransactionManagerPostProcessorTests extends GroovyTestCase{
3539
def ctx = bb.createApplicationContext()
3640

3741
MyBean bean = ctx.getBean("myBean")
38-
assert bean
39-
assert bean.tm
42+
assertNotNull bean
43+
assertNotNull bean.tm
4044
}
4145
}
4246

grails-test-suite-uber/src/test/groovy/grails/util/ClosureToMapPopulatorTests.groovy

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package grails.util
22

3+
import org.junit.jupiter.api.Test
4+
5+
import static org.junit.jupiter.api.Assertions.assertEquals
6+
37
/**
48
* @author Graeme Rocher
59
* @since 1.1
610
*/
7-
class ClosureToMapPopulatorTests extends GroovyTestCase {
11+
class ClosureToMapPopulatorTests {
812

13+
@Test
914
void testPopulate() {
1015
def populator = new ClosureToMapPopulator()
1116

@@ -17,6 +22,6 @@ class ClosureToMapPopulatorTests extends GroovyTestCase {
1722

1823
assertEquals "bar", result.foo
1924
assertEquals "two", result.one
20-
assertEquals "should have returned a list", ["four", "five"], result.three
25+
assertEquals(["four", "five"], result.three, "should have returned a list")
2126
}
2227
}

grails-test-suite-uber/src/test/groovy/grails/util/CollectionUtilsTests.groovy

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515
*/
1616
package grails.util
1717

18-
class CollectionUtilsTests extends GroovyTestCase {
18+
import org.junit.jupiter.api.Test
1919

20+
import static org.junit.jupiter.api.Assertions.*
21+
22+
class CollectionUtilsTests {
23+
24+
@Test
2025
void testNewMapEvenArgs() {
2126
def map = CollectionUtils.newMap("foo", 1, "bar", 2, "baz", 42)
2227
assertNotNull map
@@ -26,24 +31,28 @@ class CollectionUtilsTests extends GroovyTestCase {
2631
assertEquals 42, map.baz
2732
}
2833

34+
@Test
2935
void testNewMapOddArgs() {
30-
shouldFail(IllegalArgumentException) {
36+
assertThrows(IllegalArgumentException) {
3137
CollectionUtils.newMap "foo", 1, "bar"
3238
}
3339
}
3440

41+
@Test
3542
void testNewMapNull() {
3643
def map = CollectionUtils.newMap(null)
3744
assertTrue map instanceof Map
3845
assertEquals 0, map.size()
3946
}
4047

48+
@Test
4149
void testNewSetNull() {
4250
def set = CollectionUtils.newSet(null)
4351
assertTrue set instanceof Set
4452
assertEquals 0, set.size()
4553
}
4654

55+
@Test
4756
void testNewSet() {
4857
def set = CollectionUtils.newSet(1, 2, 42)
4958
assertTrue set instanceof Set
@@ -53,12 +62,14 @@ class CollectionUtilsTests extends GroovyTestCase {
5362
assertTrue set.contains(42)
5463
}
5564

65+
@Test
5666
void testNewListNull() {
5767
def list = CollectionUtils.newList(null)
5868
assertTrue list instanceof List
5969
assertEquals 0, list.size()
6070
}
6171

72+
@Test
6273
void testNewList() {
6374
def list = CollectionUtils.newList(1, 2, 42)
6475
assertTrue list instanceof List

grails-test-suite-uber/src/test/groovy/grails/web/JSONBuilderTests.groovy

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
package grails.web
22

3-
import org.grails.web.converters.configuration.ConvertersConfigurationInitializer
43
import grails.core.DefaultGrailsApplication
4+
import org.grails.web.converters.configuration.ConvertersConfigurationInitializer
5+
import org.junit.jupiter.api.BeforeEach
6+
import org.junit.jupiter.api.Test
7+
8+
import static org.junit.jupiter.api.Assertions.assertEquals
59

610
/**
711
* @author Graeme Rocher
812
* @since 1.2
913
*/
10-
class JSONBuilderTests extends GroovyTestCase {
14+
class JSONBuilderTests {
1115

16+
@BeforeEach
1217
void setUp() {
1318
def initializer = new ConvertersConfigurationInitializer(grailsApplication: new DefaultGrailsApplication())
1419
initializer.initialize()
1520
}
16-
21+
22+
@Test
1723
void testSimple() {
1824
def builder = new JSONBuilder()
1925

@@ -24,6 +30,7 @@ class JSONBuilderTests extends GroovyTestCase {
2430
assertEquals '{"rootprop":"something"}', result.toString()
2531
}
2632

33+
@Test
2734
void testArrays() {
2835
def builder = new JSONBuilder()
2936

@@ -35,6 +42,7 @@ class JSONBuilderTests extends GroovyTestCase {
3542
assertEquals '{"categories":["a","b","c"],"rootprop":"something"}', result.toString()
3643
}
3744

45+
@Test
3846
void testSubObjects() {
3947
def builder = new JSONBuilder()
4048

@@ -49,6 +57,7 @@ class JSONBuilderTests extends GroovyTestCase {
4957
assertEquals '{"categories":["a","b","c"],"rootprop":"something","test":{"subprop":10}}', result.toString()
5058
}
5159

60+
@Test
5261
void testAssignedObjects() {
5362

5463
def builder = new JSONBuilder()
@@ -64,6 +73,7 @@ class JSONBuilderTests extends GroovyTestCase {
6473
assertEquals '{"categories":["a","b","c"],"rootprop":"something","test":{"subprop":10}}', result.toString()
6574
}
6675

76+
@Test
6777
void testNamedArgumentHandling() {
6878
def builder = new JSONBuilder()
6979

@@ -76,6 +86,7 @@ class JSONBuilderTests extends GroovyTestCase {
7686
assertEquals '{"categories":["a","b","c"],"rootprop":"something","test":{"subprop":10,"three":[1,2,3]}}', result.toString()
7787
}
7888

89+
@Test
7990
void testArrayOfClosures() {
8091
def builder = new JSONBuilder()
8192

@@ -86,6 +97,7 @@ class JSONBuilderTests extends GroovyTestCase {
8697
assertEquals '{"foo":[{"bar":"hello"}]}', result.toString()
8798
}
8899

100+
@Test
89101
void testRootElementList() {
90102
def builder = new JSONBuilder()
91103

@@ -106,6 +118,7 @@ class JSONBuilderTests extends GroovyTestCase {
106118
assertEquals '["one","two","three"]', result.toString()
107119
}
108120

121+
@Test
109122
void testExampleFromReferenceGuide() {
110123
def builder = new JSONBuilder()
111124

@@ -138,6 +151,7 @@ class JSONBuilderTests extends GroovyTestCase {
138151
assertEquals '{"books":[{"title":"one"},{"title":"two"},{"title":"three"}]}', result.toString()
139152
}
140153

154+
@Test
141155
void testAppendToArray() {
142156
def builder = new JSONBuilder()
143157

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
11
package org.grails.cli
22

3-
import org.grails.build.parsing.ScriptNameResolver;
3+
import org.grails.build.parsing.ScriptNameResolver
4+
import org.junit.jupiter.api.Test
45

5-
class ScriptNameResolverTests extends GroovyTestCase {
6+
import static org.junit.jupiter.api.Assertions.assertTrue
7+
8+
class ScriptNameResolverTests {
9+
10+
@Test
611
void testFoo() {
7-
assert ScriptNameResolver.resolvesTo('F', 'Foo')
8-
assert ScriptNameResolver.resolvesTo('FB', 'FooBar')
9-
assert ScriptNameResolver.resolvesTo('FoB', 'FooBar')
10-
assert ScriptNameResolver.resolvesTo('FBa', 'FooBar')
11-
assert ScriptNameResolver.resolvesTo('FoBa', 'FooBar')
12-
assert ScriptNameResolver.resolvesTo('FooBar', 'FooBar')
13-
assert !ScriptNameResolver.resolvesTo('FB', 'FooBarZoo')
14-
assert !ScriptNameResolver.resolvesTo('FBaz', 'FooBar')
15-
assert !ScriptNameResolver.resolvesTo('FBr', 'FooBar')
16-
assert !ScriptNameResolver.resolvesTo('F', 'FooBar')
17-
assert !ScriptNameResolver.resolvesTo('Fo', 'FooBar')
18-
assert !ScriptNameResolver.resolvesTo('Foo', 'FooBar')
12+
assertTrue ScriptNameResolver.resolvesTo('F', 'Foo')
13+
assertTrue ScriptNameResolver.resolvesTo('FB', 'FooBar')
14+
assertTrue ScriptNameResolver.resolvesTo('FoB', 'FooBar')
15+
assertTrue ScriptNameResolver.resolvesTo('FBa', 'FooBar')
16+
assertTrue ScriptNameResolver.resolvesTo('FoBa', 'FooBar')
17+
assertTrue ScriptNameResolver.resolvesTo('FooBar', 'FooBar')
18+
assertTrue !ScriptNameResolver.resolvesTo('FB', 'FooBarZoo')
19+
assertTrue !ScriptNameResolver.resolvesTo('FBaz', 'FooBar')
20+
assertTrue !ScriptNameResolver.resolvesTo('FBr', 'FooBar')
21+
assertTrue !ScriptNameResolver.resolvesTo('F', 'FooBar')
22+
assertTrue !ScriptNameResolver.resolvesTo('Fo', 'FooBar')
23+
assertTrue !ScriptNameResolver.resolvesTo('Foo', 'FooBar')
1924
}
2025
}

grails-test-suite-uber/src/test/groovy/org/grails/commons/DefaultArtefactInfoTests.groovy

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@ package org.grails.commons
22

33
import grails.core.DefaultArtefactInfo
44
import org.grails.core.DefaultGrailsControllerClass
5+
import org.junit.jupiter.api.Test
6+
7+
import static org.junit.jupiter.api.Assertions.assertEquals
58

69
/**
710
* @author Graeme Rocher
811
* @since 1.0
912
*/
10-
class DefaultArtefactInfoTests extends GroovyTestCase {
13+
class DefaultArtefactInfoTests {
1114

15+
@Test
1216
void testAddGrailsClass() {
1317
def info = new DefaultArtefactInfo()
1418

grails-test-suite-uber/src/test/groovy/org/grails/commons/DefaultGrailsCodecClassTests.groovy

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,36 @@
11
package org.grails.commons
2+
3+
import org.junit.jupiter.api.AfterEach
4+
import org.junit.jupiter.api.BeforeEach
5+
import org.junit.jupiter.api.Test
6+
7+
import static org.junit.jupiter.api.Assertions.assertEquals
8+
29
/**
310
* @author Graeme Rocher
411
* @since 1.1
512
*/
6-
class DefaultGrailsCodecClassTests extends GroovyTestCase {
13+
class DefaultGrailsCodecClassTests {
714

15+
@BeforeEach
816
protected void setUp() {
917
ExpandoMetaClass.enableGlobally()
1018
}
1119

20+
@AfterEach
1221
protected void tearDown() {
1322
ExpandoMetaClass.disableGlobally()
1423
}
1524

25+
@Test
1626
void testCodecWithClosures() {
1727
def codecClass = new DefaultGrailsCodecClass(CodecWithClosuresCodec)
1828
codecClass.afterPropertiesSet();
1929
assertEquals "encoded", codecClass.encoder.encode("stuff")
2030
assertEquals "decoded", codecClass.decoder.decode("stuff")
2131
}
2232

33+
@Test
2334
void testCodecWithMethods() {
2435
def codecClass = new DefaultGrailsCodecClass(CodecWithMethodsCodec)
2536
codecClass.afterPropertiesSet();

grails-test-suite-uber/src/test/groovy/org/grails/commons/GrailsMetaClassUtilsTests.groovy

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,32 @@
11
package org.grails.commons
22

33
import grails.util.GrailsMetaClassUtils
4+
import org.junit.jupiter.api.Test
45
import org.springframework.beans.BeanUtils
56

7+
import static org.junit.jupiter.api.Assertions.assertEquals
8+
import static org.junit.jupiter.api.Assertions.assertNotNull
9+
610
/**
711
* Tests for the GrailsMetaClassUtils class.
812
*
913
* @author Graeme Rocher
1014
*/
11-
class GrailsMetaClassUtilsTests extends GroovyTestCase {
15+
class GrailsMetaClassUtilsTests {
1216

17+
@Test
1318
void testGetMetaRegistry() {
1419
assertNotNull(GrailsMetaClassUtils.getRegistry())
1520
}
1621

22+
@Test
1723
void testCopyExpandoMetaClass() {
1824
def metaClass = new ExpandoMetaClass(Dummy, true)
1925

2026
// add property
2127
metaClass.getFoo = {-> "bar" }
2228
// add instance method
23-
metaClass.foo = { String txt -> "bar:$txt" }
29+
metaClass.foo = { String txt -> "bar:$txt".toString() }
2430
// add static method
2531
metaClass.'static'.bar = {-> "foo" }
2632
// add constructor

0 commit comments

Comments
 (0)