Skip to content

Commit 08b15d9

Browse files
committed
Fixed GrailsExceptionResolverTests
1 parent dca3b58 commit 08b15d9

File tree

2 files changed

+48
-21
lines changed

2 files changed

+48
-21
lines changed

grace-test-suite-uber/src/test/groovy/org/grails/web/errors/GrailsExceptionResolverTests.groovy

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -179,14 +179,21 @@ grails.exceptionresolver.params.exclude = ['jennysPhoneNumber']
179179
request.addParameter "jennysPhoneNumber", "8675309"
180180

181181
System.setProperty(Environment.KEY, Environment.DEVELOPMENT.name)
182-
def msg = new GrailsExceptionResolver(grailsApplication:new DefaultGrailsApplication(config:new PropertySourcesConfig().merge(config))).getRequestLogMessage(new RuntimeException("bad things happened"), request)
183-
184-
assertEquals '''RuntimeException occurred when processing request: [GET] /execute/me - parameters:
185-
foo: bar
186-
one: two
187-
jennysPhoneNumber: ***
188-
bad things happened. Stacktrace follows:'''.replaceAll('[\n\r]', ''), msg.replaceAll('[\n\r]', '')
189-
182+
def resolver = new GrailsExceptionResolver(grailsApplication:new DefaultGrailsApplication(config:new PropertySourcesConfig().merge(config)))
183+
resolver.stackFilterer = new DefaultStackTraceFilterer()
184+
def msg = resolver.getRequestLogMessage(new RuntimeException("bad things happened"), request)
185+
186+
assertEquals '''RuntimeException occurred when processing request:
187+
URI: /execute/me
188+
Method: GET
189+
Message: bad things happened
190+
Parameters:
191+
- foo: bar
192+
- one: two
193+
- jennysPhoneNumber: [FILTERED]
194+
195+
Filtered stacktrace:
196+
'''.replaceAll('[\n\r]', ''), msg.replaceAll('[\n\r]', '')
190197
}
191198

192199
@Test
@@ -207,16 +214,20 @@ grails.exceptionresolver.params.exclude = ['jennysPhoneNumber']
207214
resolver.stackFilterer = new DefaultStackTraceFilterer()
208215
def msg = resolver.getRequestLogMessage(request)
209216

210-
assertEquals '''Exception occurred when processing request: [GET] /execute/me - parameters:
211-
foo: bar
212-
one: two
213-
jennysPhoneNumber: ***
214-
Stacktrace follows:'''.replaceAll('[\n\r]', ''), msg.replaceAll('[\n\r]', '')
217+
assertEquals '''Exception occurred when processing request:
218+
URI: /execute/me
219+
Method: GET
220+
Parameters:
221+
- foo: bar
222+
- one: two
223+
- jennysPhoneNumber: [FILTERED]
224+
225+
Filtered stacktrace:
226+
'''.replaceAll('[\n\r]', ''), msg.replaceAll('[\n\r]', '')
215227
}
216228

217229
@Test
218230
void testDisablingRequestParameterLogging() {
219-
220231
def oldEnvName = Environment.current.name
221232
try {
222233
def request = new MockHttpServletRequest()
@@ -225,25 +236,35 @@ Stacktrace follows:'''.replaceAll('[\n\r]', ''), msg.replaceAll('[\n\r]', '')
225236
request.addParameter "foo", "bar"
226237
request.addParameter "one", "two"
227238

228-
def msgWithParameters = '''Exception occurred when processing request: [GET] /execute/me - parameters:
229-
foo: bar
230-
one: two
231-
Stacktrace follows:'''.replaceAll('[\n\r]', '')
232-
def msgWithoutParameters = '''Exception occurred when processing request: [GET] /execute/me
233-
Stacktrace follows:'''.replaceAll('[\n\r]', '')
239+
def msgWithParameters = '''Exception occurred when processing request:
240+
URI: /execute/me
241+
Method: GET
242+
Parameters:
243+
- foo: bar
244+
- one: two
245+
246+
Filtered stacktrace:'''.replaceAll('[\n\r]', '')
247+
def msgWithoutParameters = '''Exception occurred when processing request:
248+
URI: /execute/me
249+
Method: GET
250+
251+
Filtered stacktrace:'''.replaceAll('[\n\r]', '')
234252

235253
System.setProperty(Environment.KEY, Environment.DEVELOPMENT.name)
236254
def resolver = new GrailsExceptionResolver(grailsApplication:application)
255+
resolver.stackFilterer = new DefaultStackTraceFilterer()
237256
def msg = resolver.getRequestLogMessage(request)
238257
assertEquals msgWithParameters, msg.replaceAll('[\n\r]', '')
239258

240259
System.setProperty(Environment.KEY, Environment.PRODUCTION.name)
241260
resolver = new GrailsExceptionResolver(grailsApplication:application)
261+
resolver.stackFilterer = new DefaultStackTraceFilterer()
242262
msg = resolver.getRequestLogMessage(request)
243263
assertEquals msgWithoutParameters, msg.replaceAll('[\n\r]', '')
244264

245265
System.setProperty(Environment.KEY, Environment.TEST.name)
246266
resolver = new GrailsExceptionResolver(grailsApplication:application)
267+
resolver.stackFilterer = new DefaultStackTraceFilterer()
247268
msg = resolver.getRequestLogMessage(request)
248269
assertEquals msgWithoutParameters, msg.replaceAll('[\n\r]', '')
249270

@@ -253,16 +274,19 @@ grails.exceptionresolver.logRequestParameters = false
253274

254275
System.setProperty(Environment.KEY, Environment.DEVELOPMENT.name)
255276
resolver = new GrailsExceptionResolver(grailsApplication:new DefaultGrailsApplication(config:new PropertySourcesConfig().merge(config)))
277+
resolver.stackFilterer = new DefaultStackTraceFilterer()
256278
msg = resolver.getRequestLogMessage(request)
257279
assertEquals msgWithoutParameters, msg.replaceAll('[\n\r]', '')
258280

259281
System.setProperty(Environment.KEY, Environment.PRODUCTION.name)
260282
resolver = new GrailsExceptionResolver(grailsApplication:new DefaultGrailsApplication(config:new PropertySourcesConfig().merge(config)))
283+
resolver.stackFilterer = new DefaultStackTraceFilterer()
261284
msg = resolver.getRequestLogMessage(request)
262285
assertEquals msgWithoutParameters, msg.replaceAll('[\n\r]', '')
263286

264287
System.setProperty(Environment.KEY, Environment.TEST.name)
265288
resolver = new GrailsExceptionResolver(grailsApplication:new DefaultGrailsApplication(config:new PropertySourcesConfig().merge(config)))
289+
resolver.stackFilterer = new DefaultStackTraceFilterer()
266290
msg = resolver.getRequestLogMessage(request)
267291
assertEquals msgWithoutParameters, msg.replaceAll('[\n\r]', '')
268292

@@ -272,16 +296,19 @@ grails.exceptionresolver.logRequestParameters = true
272296

273297
System.setProperty(Environment.KEY, Environment.DEVELOPMENT.name)
274298
resolver = new GrailsExceptionResolver(grailsApplication:new DefaultGrailsApplication(config:new PropertySourcesConfig().merge(config)))
299+
resolver.stackFilterer = new DefaultStackTraceFilterer()
275300
msg = resolver.getRequestLogMessage(request)
276301
assertEquals msgWithParameters, msg.replaceAll('[\n\r]', '')
277302

278303
System.setProperty(Environment.KEY, Environment.PRODUCTION.name)
279304
resolver = new GrailsExceptionResolver(grailsApplication:new DefaultGrailsApplication(config:new PropertySourcesConfig().merge(config)))
305+
resolver.stackFilterer = new DefaultStackTraceFilterer()
280306
msg = resolver.getRequestLogMessage(request)
281307
assertEquals msgWithParameters, msg.replaceAll('[\n\r]', '')
282308

283309
System.setProperty(Environment.KEY, Environment.TEST.name)
284310
resolver = new GrailsExceptionResolver(grailsApplication:new DefaultGrailsApplication(config:new PropertySourcesConfig().merge(config)))
311+
resolver.stackFilterer = new DefaultStackTraceFilterer()
285312
msg = resolver.getRequestLogMessage(request)
286313
assertEquals msgWithParameters, msg.replaceAll('[\n\r]', '')
287314
} finally {

grace-web-mvc/src/main/groovy/org/grails/web/errors/GrailsExceptionResolver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ protected String getRequestLogMessage(String exceptionName, HttpServletRequest r
263263
StringBuilder sb = new StringBuilder();
264264

265265
sb.append(exceptionName)
266-
.append(" occurred when processing request: ")
266+
.append(" occurred when processing request:")
267267
.append(LINE_SEPARATOR);
268268
sb.append("URI: ");
269269

0 commit comments

Comments
 (0)