getappmap / getappmap/appmap-java
Test failures in a Kotlin spring project
Open
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 88
- Forks
- 17
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 1
Description
Project: https://github.com/spring-guides/tut-spring-boot-kotlin.git
appmap.yml:
# appmap.yml
name: MyFirstKotlin/AppMap
packages:
# List the packages you'd like to record here.
- path: com.example.blog
Shell output:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.2.RELEASE)
2021-03-23 16:55:21.332 WARN 76617 --- [ main] o.s.boot.StartupInfoLogger : InetAddress.getLocalHost().getHostName() took 5006 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts).
2021-03-23 16:55:26.340 INFO 76617 --- [ main] com.example.blog.HttpControllersTests : Starting HttpControllersTests on Ubehebe.local with PID 76617 (started by ptrdvrk in /Users/ptrdvrk/work/github/java/tut-spring-boot-kotlin)
2021-03-23 16:55:26.341 INFO 76617 --- [ main] com.example.blog.HttpControllersTests : No active profile set, falling back to default profiles: default
2021-03-23 16:55:32.245 INFO 76617 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2021-03-23 16:55:32.373 INFO 76617 --- [ main] o.s.b.t.m.w.SpringBootMockServletContext : Initializing Spring TestDispatcherServlet ''
2021-03-23 16:55:32.373 INFO 76617 --- [ main] o.s.t.web.servlet.TestDispatcherServlet : Initializing Servlet ''
2021-03-23 16:55:32.377 INFO 76617 --- [ main] o.s.t.web.servlet.TestDispatcherServlet : Completed initialization in 4 ms
2021-03-23 16:55:32.393 INFO 76617 --- [ main] com.example.blog.HttpControllersTests : Started HttpControllersTests in 21.094 seconds (JVM running for 72.569)
2021-03-23 16:55:32.829 WARN 76617 --- [ main] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: no answer found for: Iterable(child of com.example.blog.ArticleRepository#0 bean#2#3).iterator(); nested exception is com.fasterxml.jackson.databind.JsonMappingException: no answer found for: Iterable(child of com.example.blog.ArticleRepository#0 bean#2#3).iterator()]
MockHttpServletRequest:
HTTP Method = GET
Request URI = /api/article/
Parameters = {}
Headers = [Accept:"application/json"]
Body = <no character encoding set>
Session Attrs = {}
Handler:
Type = com.example.blog.ArticleController
Method = com.example.blog.ArticleController#findAll()
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.http.converter.HttpMessageNotWritableException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 500
Error message = null
Headers = [Content-Type:"application/json"]
Content type = application/json
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
2021-03-23 16:55:32.882 WARN 76617 --- [ main] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: no answer found for: Iterable(child of com.example.blog.UserRepository#0 bean#1#4).iterator(); nested exception is com.fasterxml.jackson.databind.JsonMappingException: no answer found for: Iterable(child of com.example.blog.UserRepository#0 bean#1#4).iterator()]
MockHttpServletRequest:
HTTP Method = GET
Request URI = /api/user/
Parameters = {}
Headers = [Accept:"application/json"]
Body = <no character encoding set>
Session Attrs = {}
Handler:
Type = com.example.blog.UserController
Method = com.example.blog.UserController#findAll()
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.http.converter.HttpMessageNotWritableException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 500
Error message = null
Headers = [Content-Type:"application/json"]
Content type = application/json
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
[ERROR] Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 21.598 s <<< FAILURE! - in com.example.blog.HttpControllersTests
[ERROR] List articles Time elapsed: 0.446 s <<< FAILURE!
java.lang.AssertionError: Status expected:<200> but was:<500>
at com.example.blog.HttpControllersTests.List articles(HttpControllersTests.kt:30)
[ERROR] List users Time elapsed: 0.029 s <<< FAILURE!
java.lang.AssertionError: Status expected:<200> but was:<500>
at com.example.blog.HttpControllersTests.List users(HttpControllersTests.kt:44)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked tut-spring-boot-kotlin project and run HttpControllersTests.kt, especially the assertions at lines 30 and 44. Review the attached agent.log alongside the failures for GET /api/article/ and GET /api/user/; done means both tests pass with the expected 200 status and no reported serialization error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kotlin, spring-boot
- Domain
- api, backend, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100