2025-05-07T01:51:02.921Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:02.921Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6efd989a, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@6b6b6c4e]
2025-05-07T01:51:02.922Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo
2025-05-07T01:51:02.922Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:02.922Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6efd989a, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:02.922Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6efd989a, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:02.922Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo
2025-05-07T01:51:02.923Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.User com.seebie.server.controller.UserController.updateUser(com.seebie.server.dto.PersonalInfo,java.util.UUID); target is of class [com.seebie.server.controller.UserController]
2025-05-07T01:51:02.923Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.User com.seebie.server.controller.UserController.updateUser(com.seebie.server.dto.PersonalInfo,java.util.UUID); target is of class [com.seebie.server.controller.UserController]
MockHttpServletRequest:
HTTP Method = PUT
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"59"]
Body = {"displayName":"Bradly Smith","notificationsEnabled":false}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6efd989a, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.UserController
Method = com.seebie.server.controller.UserController#updateUser(PersonalInfo, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:02.934Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:02.934Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@445a609, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@2982711c]
2025-05-07T01:51:02.935Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo
2025-05-07T01:51:02.935Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:02.935Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@445a609, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:02.935Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@445a609, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:02.935Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo
MockHttpServletRequest:
HTTP Method = PUT
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"49"]
Body = {"displayName":null,"notificationsEnabled":false}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@445a609, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.UserController
Method = com.seebie.server.controller.UserController#updateUser(PersonalInfo, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.bind.MethodArgumentNotValidException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Invalid request content.","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/personalInfo"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:02.971Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:02.971Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@36ccaced, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@dad1c6a]
2025-05-07T01:51:02.972Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update
2025-05-07T01:51:02.972Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:02.972Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@36ccaced, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:02.972Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@36ccaced, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:02.973Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update
2025-05-07T01:51:02.974Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public java.lang.String com.seebie.server.controller.UserController.updatePassword(com.seebie.server.dto.PasswordResetRequest,java.util.UUID); target is of class [com.seebie.server.controller.UserController]
2025-05-07T01:51:02.974Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public java.lang.String com.seebie.server.controller.UserController.updatePassword(com.seebie.server.dto.PasswordResetRequest,java.util.UUID); target is of class [com.seebie.server.controller.UserController]
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"36"]
Body = {"plainTextPassword":"new_password"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@36ccaced, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.UserController
Method = com.seebie.server.controller.UserController#updatePassword(PasswordResetRequest, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [Content-Type:"application/json", Content-Length:"20", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/json
Body = Password was updated
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:02.985Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:02.985Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@33963763, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@551cd756]
2025-05-07T01:51:02.986Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update
2025-05-07T01:51:02.986Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:02.986Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@33963763, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:02.986Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@33963763, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:02.986Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"24"]
Body = {"plainTextPassword":""}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@33963763, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.UserController
Method = com.seebie.server.controller.UserController#updatePassword(PasswordResetRequest, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.bind.MethodArgumentNotValidException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Invalid request content.","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/password/update"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.004Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.007Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@69d25fba, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@471e934c]
2025-05-07T01:51:03.010Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
2025-05-07T01:51:03.010Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.010Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@69d25fba, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.010Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@69d25fba, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.010Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
2025-05-07T01:51:03.012Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public void com.seebie.server.controller.SleepController.saveSleepSession(com.seebie.server.dto.SleepData,java.util.UUID); target is of class [com.seebie.server.controller.SleepController]
2025-05-07T01:51:03.012Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public void com.seebie.server.controller.SleepController.saveSleepSession(com.seebie.server.dto.SleepData,java.util.UUID); target is of class [com.seebie.server.controller.SleepController]
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"348"]
Body = {"notes":"Libero praesentium architecto officia sunt odit. Omnis et blanditiis occaecati magni. Quos voluptas temporibus ullam perferendis harum numquam odio. Ea totam itaque sapiente illum. Corrupti officia ipsam itaque laborum quod.","minutesAwake":0,"startTime":"2025-05-06T21:52:00","stopTime":"2025-05-07T01:12:00","zoneId":"America/New_York"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@69d25fba, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#saveSleepSession(SleepData, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.029Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.030Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6206ac1, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@a333e85]
2025-05-07T01:51:03.031Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
2025-05-07T01:51:03.031Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.031Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6206ac1, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.031Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6206ac1, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.032Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"90"]
Body = {"notes":"","minutesAwake":0,"startTime":null,"stopTime":null,"zoneId":"America/New_York"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6206ac1, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#saveSleepSession(SleepData, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.method.annotation.HandlerMethodValidationException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Validation failure","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.071Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.074Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@110d080d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@14a1df01]
2025-05-07T01:51:03.074Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
2025-05-07T01:51:03.074Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.074Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@110d080d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.075Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@110d080d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.075Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"126"]
Body = {"notes":"","minutesAwake":481,"startTime":"2025-05-06T17:51:00","stopTime":"2025-05-07T01:51:00","zoneId":"America/New_York"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@110d080d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#saveSleepSession(SleepData, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.method.annotation.HandlerMethodValidationException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Validation failure","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.095Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.098Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@22bfab35, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@59f871c3]
2025-05-07T01:51:03.099Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
2025-05-07T01:51:03.101Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.101Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@22bfab35, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.101Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@22bfab35, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.101Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
2025-05-07T01:51:03.103Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public void com.seebie.server.controller.SleepController.updateSleepSession(com.seebie.server.dto.SleepData,java.util.UUID,java.lang.Long); target is of class [com.seebie.server.controller.SleepController]
2025-05-07T01:51:03.106Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public void com.seebie.server.controller.SleepController.updateSleepSession(com.seebie.server.dto.SleepData,java.util.UUID,java.lang.Long); target is of class [com.seebie.server.controller.SleepController]
MockHttpServletRequest:
HTTP Method = PUT
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"348"]
Body = {"notes":"Libero praesentium architecto officia sunt odit. Omnis et blanditiis occaecati magni. Quos voluptas temporibus ullam perferendis harum numquam odio. Ea totam itaque sapiente illum. Corrupti officia ipsam itaque laborum quod.","minutesAwake":0,"startTime":"2025-05-06T21:52:00","stopTime":"2025-05-07T01:12:00","zoneId":"America/New_York"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@22bfab35, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#updateSleepSession(SleepData, UUID, Long)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.126Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.126Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@4837de3d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@21e485b9]
2025-05-07T01:51:03.127Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
2025-05-07T01:51:03.127Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.127Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@4837de3d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.127Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@4837de3d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.127Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
MockHttpServletRequest:
HTTP Method = PUT
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"90"]
Body = {"notes":"","minutesAwake":0,"startTime":null,"stopTime":null,"zoneId":"America/New_York"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@4837de3d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#updateSleepSession(SleepData, UUID, Long)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.method.annotation.HandlerMethodValidationException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Validation failure","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.151Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.154Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@20a7628a, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@5b863654]
2025-05-07T01:51:03.154Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
2025-05-07T01:51:03.154Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.154Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@20a7628a, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.154Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@20a7628a, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.155Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
MockHttpServletRequest:
HTTP Method = PUT
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"126"]
Body = {"notes":"","minutesAwake":481,"startTime":"2025-05-06T17:51:00","stopTime":"2025-05-07T01:51:00","zoneId":"America/New_York"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@20a7628a, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#updateSleepSession(SleepData, UUID, Long)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.method.annotation.HandlerMethodValidationException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Validation failure","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/1"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.175Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.176Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@73324408, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@7753a004]
2025-05-07T01:51:03.176Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
2025-05-07T01:51:03.177Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.177Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@73324408, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.177Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@73324408, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.177Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
2025-05-07T01:51:03.178Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public java.util.List com.seebie.server.controller.SleepController.getChartData(java.util.UUID,java.time.LocalDate,java.time.LocalDate); target is of class [com.seebie.server.controller.SleepController]
2025-05-07T01:51:03.179Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public java.util.List com.seebie.server.controller.SleepController.getChartData(java.util.UUID,java.time.LocalDate,java.time.LocalDate); target is of class [com.seebie.server.controller.SleepController]
2025-05-07T01:51:03.179Z INFO 2427 --- [Pool-1-worker-1] c.s.server.controller.SleepController : Requesting chart data with range 2025-05-06 2025-05-07
MockHttpServletRequest:
HTTP Method = GET
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
Parameters = {from=[2025-05-06], to=[2025-05-07]}
Headers = [Content-Type:"application/json;charset=UTF-8"]
Body =
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@73324408, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#getChartData(UUID, LocalDate, LocalDate)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [Content-Type:"application/json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/json
Body = []
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.189Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.189Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@52ad7277, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@78d42d2e]
2025-05-07T01:51:03.191Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
2025-05-07T01:51:03.191Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.192Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@52ad7277, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.192Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@52ad7277, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.192Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
MockHttpServletRequest:
HTTP Method = GET
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
Parameters = {from=[], to=[]}
Headers = [Content-Type:"application/json;charset=UTF-8"]
Body =
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@52ad7277, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#getChartData(UUID, LocalDate, LocalDate)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.bind.MissingServletRequestParameterException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Required parameter 'from' is not present.","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.203Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.203Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@23b27514, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@235b9d39]
2025-05-07T01:51:03.203Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
2025-05-07T01:51:03.203Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.203Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@23b27514, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.203Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@23b27514, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.203Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured GET /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
2025-05-07T01:51:03.204Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public java.util.List com.seebie.server.controller.SleepController.getChartData(java.util.UUID,java.time.LocalDate,java.time.LocalDate); target is of class [com.seebie.server.controller.SleepController]
2025-05-07T01:51:03.205Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public java.util.List com.seebie.server.controller.SleepController.getChartData(java.util.UUID,java.time.LocalDate,java.time.LocalDate); target is of class [com.seebie.server.controller.SleepController]
2025-05-07T01:51:03.205Z ERROR 2427 --- [Pool-1-worker-1] com.seebie.server.AppExceptionHandler : Request parameter "from" must be before "to"
java.lang.IllegalArgumentException: Request parameter "from" must be before "to"
at com.seebie.server.controller.SleepController.getChartData(SleepController.java:58) ~[main/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.proceed(AuthorizationManagerBeforeMethodInterceptor.java:268) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.attemptAuthorization(AuthorizationManagerBeforeMethodInterceptor.java:263) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.invoke(AuthorizationManagerBeforeMethodInterceptor.java:196) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.config.annotation.method.configuration.DeferringMethodInterceptor.invoke(DeferringMethodInterceptor.java:44) ~[spring-security-config-6.4.2.jar:6.4.2]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:727) ~[spring-aop-6.2.1.jar:6.2.1]
at com.seebie.server.controller.SleepController$$SpringCGLIB$$0.getChartData(<generated>) ~[main/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.1.jar:6.2.1]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.34.jar:6.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) ~[spring-test-6.2.1.jar:6.2.1]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.34.jar:6.0]
at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:165) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:114) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:105) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:151) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:129) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.2.jar:6.4.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:201) ~[spring-test-6.2.1.jar:6.2.1]
at com.seebie.server.controller.ControllerValidationTest.test(ControllerValidationTest.java:238) ~[test/:na]
at com.seebie.server.controller.ControllerValidationTest.testUserValidation(ControllerValidationTest.java:234) ~[test/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:767) ~[junit-platform-commons-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$8(TestMethodTestDescriptor.java:217) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.submit(ForkJoinPoolHierarchicalTestExecutorService.java:148) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:231) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:209) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:141) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$3(TestTemplateTestDescriptor.java:109) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:109) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:43) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeSync(ForkJoinPoolHierarchicalTestExecutorService.java:194) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:166) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeSync(ForkJoinPoolHierarchicalTestExecutorService.java:194) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:168) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1460) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2036) ~[na:na]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:189) ~[na:na]
MockHttpServletRequest:
HTTP Method = GET
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/chart
Parameters = {from=[2025-05-07], to=[2025-05-06]}
Headers = [Content-Type:"application/json;charset=UTF-8"]
Body =
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@23b27514, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#getChartData(UUID, LocalDate, LocalDate)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = java.lang.IllegalArgumentException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/json
Body = {"exception":"java.lang.IllegalArgumentException: Request parameter \"from\" must be before \"to\"","reason":"Bad Request","message":"Request parameter \"from\" must be before \"to\"","timestamp":"2025-05-07T01:51:03.207333527Z","status":"400"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.218Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.218Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@65058c5e, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@6b009ff]
2025-05-07T01:51:03.218Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram
2025-05-07T01:51:03.218Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.219Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@65058c5e, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.219Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@65058c5e, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.219Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram
2025-05-07T01:51:03.220Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.StackedHistograms com.seebie.server.controller.SleepController.getHistogramData(com.seebie.server.dto.HistogramRequest,java.util.UUID); target is of class [com.seebie.server.controller.SleepController]
2025-05-07T01:51:03.221Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.StackedHistograms com.seebie.server.controller.SleepController.getHistogramData(com.seebie.server.dto.HistogramRequest,java.util.UUID); target is of class [com.seebie.server.controller.SleepController]
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"82"]
Body = {"binSize":60,"filters":{"dataFilters":[{"from":"2025-05-06","to":"2025-05-07"}]}}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@65058c5e, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#getHistogramData(HistogramRequest, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [Content-Type:"application/json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/json
Body = {"bins":[],"histogramValues":[]}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.231Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.231Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@31c2db69, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@34ba648e]
2025-05-07T01:51:03.232Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram
2025-05-07T01:51:03.232Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.232Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@31c2db69, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.232Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@31c2db69, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.232Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"82"]
Body = {"binSize":60,"filters":{"dataFilters":[{"from":"2025-05-07","to":"2025-05-06"}]}}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@31c2db69, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.SleepController
Method = com.seebie.server.controller.SleepController#getHistogramData(HistogramRequest, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.bind.MethodArgumentNotValidException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Invalid request content.","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/sleep/histogram"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.241Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.241Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@38e6759, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@54bdb5e5]
2025-05-07T01:51:03.242Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/json
2025-05-07T01:51:03.242Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/json]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.242Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@38e6759, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.242Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@38e6759, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.242Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/json
2025-05-07T01:51:03.242Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.RecordCount com.seebie.server.controller.ImportExportController.importUserData(java.util.UUID,org.springframework.web.multipart.MultipartFile) throws java.io.IOException; target is of class [com.seebie.server.controller.ImportExportController]
2025-05-07T01:51:03.243Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.RecordCount com.seebie.server.controller.ImportExportController.importUserData(java.util.UUID,org.springframework.web.multipart.MultipartFile) throws java.io.IOException; target is of class [com.seebie.server.controller.ImportExportController]
2025-05-07T01:51:03.243Z INFO 2427 --- [Pool-1-worker-1] c.s.s.controller.ImportExportController : Import started for user 0c40d394-c856-49b1-bc78-a86121157288
2025-05-07T01:51:03.244Z ERROR 2427 --- [Pool-1-worker-1] com.seebie.server.AppExceptionHandler : com.fasterxml.jackson.core.JsonParseException: Unexpected character ('[' (code 91)): was expecting double-quote to start field name
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]
java.lang.IllegalArgumentException: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('[' (code 91)): was expecting double-quote to start field name
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]
at com.seebie.server.controller.ImportExportController.parseJson(ImportExportController.java:123) ~[main/:na]
at com.seebie.server.controller.ImportExportController.importUserData(ImportExportController.java:69) ~[main/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.proceed(AuthorizationManagerBeforeMethodInterceptor.java:268) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.attemptAuthorization(AuthorizationManagerBeforeMethodInterceptor.java:263) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.invoke(AuthorizationManagerBeforeMethodInterceptor.java:196) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.config.annotation.method.configuration.DeferringMethodInterceptor.invoke(DeferringMethodInterceptor.java:44) ~[spring-security-config-6.4.2.jar:6.4.2]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:727) ~[spring-aop-6.2.1.jar:6.2.1]
at com.seebie.server.controller.ImportExportController$$SpringCGLIB$$0.importUserData(<generated>) ~[main/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.2.1.jar:6.2.1]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[tomcat-embed-core-10.1.34.jar:6.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) ~[spring-test-6.2.1.jar:6.2.1]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.34.jar:6.0]
at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:165) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:114) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:105) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:151) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:129) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.2.jar:6.4.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:201) ~[spring-test-6.2.1.jar:6.2.1]
at com.seebie.server.controller.ControllerValidationTest.test(ControllerValidationTest.java:238) ~[test/:na]
at com.seebie.server.controller.ControllerValidationTest.testUserValidation(ControllerValidationTest.java:234) ~[test/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:767) ~[junit-platform-commons-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$8(TestMethodTestDescriptor.java:217) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.submit(ForkJoinPoolHierarchicalTestExecutorService.java:148) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:231) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:209) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:141) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$3(TestTemplateTestDescriptor.java:109) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:109) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:43) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeSync(ForkJoinPoolHierarchicalTestExecutorService.java:194) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:166) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeSync(ForkJoinPoolHierarchicalTestExecutorService.java:194) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:168) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1460) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2036) ~[na:na]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:189) ~[na:na]
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('[' (code 91)): was expecting double-quote to start field name
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]
at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2660) ~[jackson-core-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:741) ~[jackson-core-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddName(ReaderBasedJsonParser.java:1909) ~[jackson-core-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:709) ~[jackson-core-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:181) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4917) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3860) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3828) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.seebie.server.controller.ImportExportController.parseJson(ImportExportController.java:120) ~[main/:na]
... 225 common frames omitted
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/json
Parameters = {}
Headers = [Content-Type:"multipart/form-data;charset=UTF-8"]
Body = null
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@38e6759, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.ImportExportController
Method = com.seebie.server.controller.ImportExportController#importUserData(UUID, MultipartFile)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = java.lang.IllegalArgumentException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/json
Body = {"exception":"java.lang.IllegalArgumentException: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('[' (code 91)): was expecting double-quote to start field name\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]","reason":"Bad Request","message":"com.fasterxml.jackson.core.JsonParseException: Unexpected character ('[' (code 91)): was expecting double-quote to start field name\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2]","timestamp":"2025-05-07T01:51:03.246899128Z","status":"400"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.255Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.255Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@255dcdb3, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@19d29a85]
2025-05-07T01:51:03.256Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/json
2025-05-07T01:51:03.256Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/json]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.256Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@255dcdb3, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.256Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@255dcdb3, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.256Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/json
2025-05-07T01:51:03.257Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.RecordCount com.seebie.server.controller.ImportExportController.importUserData(java.util.UUID,org.springframework.web.multipart.MultipartFile) throws java.io.IOException; target is of class [com.seebie.server.controller.ImportExportController]
2025-05-07T01:51:03.257Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.RecordCount com.seebie.server.controller.ImportExportController.importUserData(java.util.UUID,org.springframework.web.multipart.MultipartFile) throws java.io.IOException; target is of class [com.seebie.server.controller.ImportExportController]
2025-05-07T01:51:03.257Z INFO 2427 --- [Pool-1-worker-1] c.s.s.controller.ImportExportController : Import started for user 0c40d394-c856-49b1-bc78-a86121157288
2025-05-07T01:51:03.259Z INFO 2427 --- [Pool-1-worker-1] c.s.s.controller.ImportExportController : Imported 0 records for 0c40d394-c856-49b1-bc78-a86121157288
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/json
Parameters = {}
Headers = [Content-Type:"multipart/form-data;charset=UTF-8"]
Body = null
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@255dcdb3, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.ImportExportController
Method = com.seebie.server.controller.ImportExportController#importUserData(UUID, MultipartFile)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [Content-Type:"application/json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/json
Body = {"numRecords":0}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.270Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.270Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@23b04272, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@4d462d52]
2025-05-07T01:51:03.270Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/csv
2025-05-07T01:51:03.270Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/csv]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.270Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@23b04272, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.270Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@23b04272, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.270Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/csv
2025-05-07T01:51:03.271Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.RecordCount com.seebie.server.controller.ImportExportController.uploadSleepData(java.util.UUID,org.springframework.web.multipart.MultipartFile) throws java.io.IOException; target is of class [com.seebie.server.controller.ImportExportController]
2025-05-07T01:51:03.272Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.RecordCount com.seebie.server.controller.ImportExportController.uploadSleepData(java.util.UUID,org.springframework.web.multipart.MultipartFile) throws java.io.IOException; target is of class [com.seebie.server.controller.ImportExportController]
2025-05-07T01:51:03.272Z INFO 2427 --- [Pool-1-worker-1] c.s.s.controller.ImportExportController : Upload started...
2025-05-07T01:51:03.273Z ERROR 2427 --- [Pool-1-worker-1] com.seebie.server.AppExceptionHandler : CSV input does not contain all required columns
java.lang.IllegalArgumentException: CSV input does not contain all required columns
at com.seebie.server.mapper.dtotoentity.CsvToSleepData.apply(CsvToSleepData.java:34) ~[main/:na]
at com.seebie.server.controller.ImportExportController.uploadSleepData(ImportExportController.java:101) ~[main/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.proceed(AuthorizationManagerBeforeMethodInterceptor.java:268) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.attemptAuthorization(AuthorizationManagerBeforeMethodInterceptor.java:263) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor.invoke(AuthorizationManagerBeforeMethodInterceptor.java:196) ~[spring-security-core-6.4.2.jar:6.4.2]
at org.springframework.security.config.annotation.method.configuration.DeferringMethodInterceptor.invoke(DeferringMethodInterceptor.java:44) ~[spring-security-config-6.4.2.jar:6.4.2]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) ~[spring-aop-6.2.1.jar:6.2.1]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:727) ~[spring-aop-6.2.1.jar:6.2.1]
at com.seebie.server.controller.ImportExportController$$SpringCGLIB$$0.uploadSleepData(<generated>) ~[main/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.2.1.jar:6.2.1]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[tomcat-embed-core-10.1.34.jar:6.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:72) ~[spring-test-6.2.1.jar:6.2.1]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.34.jar:6.0]
at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:165) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:114) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:105) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:181) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:151) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:129) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:133) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.2.jar:6.4.2]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.2.jar:6.4.2]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.setup.MockMvcFilterDecorator.doFilter(MockMvcFilterDecorator.java:162) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:132) ~[spring-test-6.2.1.jar:6.2.1]
at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:201) ~[spring-test-6.2.1.jar:6.2.1]
at com.seebie.server.controller.ControllerValidationTest.test(ControllerValidationTest.java:238) ~[test/:na]
at com.seebie.server.controller.ControllerValidationTest.testUserValidation(ControllerValidationTest.java:234) ~[test/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:767) ~[junit-platform-commons-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$8(TestMethodTestDescriptor.java:217) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.submit(ForkJoinPoolHierarchicalTestExecutorService.java:148) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:231) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:209) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:141) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$3(TestTemplateTestDescriptor.java:109) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:197) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$7$1FlatMap.accept(ReferencePipeline.java:294) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:109) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:43) ~[junit-jupiter-engine-5.11.4.jar:5.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeSync(ForkJoinPoolHierarchicalTestExecutorService.java:194) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:166) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.execSync(ForkJoinPoolHierarchicalTestExecutorService.java:247) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.executeSync(ForkJoinPoolHierarchicalTestExecutorService.java:194) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:168) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.exec(ForkJoinPoolHierarchicalTestExecutorService.java:274) ~[junit-platform-engine-1.11.4.jar:1.11.4]
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1460) ~[na:na]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2036) ~[na:na]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:189) ~[na:na]
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/csv
Parameters = {}
Headers = [Content-Type:"multipart/form-data;charset=UTF-8"]
Body = null
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@23b04272, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.ImportExportController
Method = com.seebie.server.controller.ImportExportController#uploadSleepData(UUID, MultipartFile)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = java.lang.IllegalArgumentException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/json
Body = {"exception":"java.lang.IllegalArgumentException: CSV input does not contain all required columns","reason":"Bad Request","message":"CSV input does not contain all required columns","timestamp":"2025-05-07T01:51:03.276077832Z","status":"400"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.286Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.286Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@4e27717e, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@1172d91b]
2025-05-07T01:51:03.286Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/csv
2025-05-07T01:51:03.286Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/csv]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.286Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@4e27717e, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.286Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@4e27717e, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.287Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/csv
2025-05-07T01:51:03.287Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.RecordCount com.seebie.server.controller.ImportExportController.uploadSleepData(java.util.UUID,org.springframework.web.multipart.MultipartFile) throws java.io.IOException; target is of class [com.seebie.server.controller.ImportExportController]
2025-05-07T01:51:03.288Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.RecordCount com.seebie.server.controller.ImportExportController.uploadSleepData(java.util.UUID,org.springframework.web.multipart.MultipartFile) throws java.io.IOException; target is of class [com.seebie.server.controller.ImportExportController]
2025-05-07T01:51:03.288Z INFO 2427 --- [Pool-1-worker-1] c.s.s.controller.ImportExportController : Upload started...
2025-05-07T01:51:03.288Z INFO 2427 --- [Pool-1-worker-1] c.s.s.controller.ImportExportController : Imported 0 records for 0c40d394-c856-49b1-bc78-a86121157288
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/import/csv
Parameters = {}
Headers = [Content-Type:"multipart/form-data;charset=UTF-8"]
Body = null
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@4e27717e, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.ImportExportController
Method = com.seebie.server.controller.ImportExportController#uploadSleepData(UUID, MultipartFile)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [Content-Type:"application/json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/json
Body = {"numRecords":0}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.299Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.299Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@7ecf33a1, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@52be709c]
2025-05-07T01:51:03.301Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge
2025-05-07T01:51:03.301Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.301Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@7ecf33a1, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.301Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@7ecf33a1, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.301Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"55"]
Body = {"name":"","description":"","start":null,"finish":null}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@7ecf33a1, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.ChallengeController
Method = com.seebie.server.controller.ChallengeController#createChallenge(UUID, ChallengeDto)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.bind.MethodArgumentNotValidException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Invalid request content.","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.317Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.317Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@308af21c, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@7993cdd]
2025-05-07T01:51:03.317Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge
2025-05-07T01:51:03.317Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.317Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@308af21c, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.317Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@308af21c, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.317Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge
2025-05-07T01:51:03.318Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.ChallengeDetailDto com.seebie.server.controller.ChallengeController.createChallenge(java.util.UUID,com.seebie.server.dto.ChallengeDto); target is of class [com.seebie.server.controller.ChallengeController]
2025-05-07T01:51:03.319Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.ChallengeDetailDto com.seebie.server.controller.ChallengeController.createChallenge(java.util.UUID,com.seebie.server.dto.ChallengeDto); target is of class [com.seebie.server.controller.ChallengeController]
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"235"]
Body = {"name":"The Briar Patch 2636b8b5-950d-493e-9a26-ed516bba297e","description":"Dolorum nam in dolore. Voluptatibus distinctio ex dolores neque itaque dolor quae. Soluta ullam mollitia beatae.","start":"2025-05-07","finish":"2025-05-21"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@308af21c, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.ChallengeController
Method = com.seebie.server.controller.ChallengeController#createChallenge(UUID, ChallengeDto)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.327Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.327Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@5a1b8ad2, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@6141006b]
2025-05-07T01:51:03.327Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1
2025-05-07T01:51:03.327Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.327Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@5a1b8ad2, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.327Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@5a1b8ad2, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.327Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1
MockHttpServletRequest:
HTTP Method = PUT
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"55"]
Body = {"name":"","description":"","start":null,"finish":null}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@5a1b8ad2, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.ChallengeController
Method = com.seebie.server.controller.ChallengeController#updateChallenge(ChallengeDto, UUID, Long)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.bind.MethodArgumentNotValidException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Invalid request content.","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.337Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.337Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@75cfca92, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@1c1ee11b]
2025-05-07T01:51:03.337Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1
2025-05-07T01:51:03.337Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.337Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@75cfca92, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.337Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@75cfca92, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.337Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured PUT /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1
2025-05-07T01:51:03.340Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.ChallengeDetailDto com.seebie.server.controller.ChallengeController.updateChallenge(com.seebie.server.dto.ChallengeDto,java.util.UUID,java.lang.Long); target is of class [com.seebie.server.controller.ChallengeController]
2025-05-07T01:51:03.341Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.ChallengeDetailDto com.seebie.server.controller.ChallengeController.updateChallenge(com.seebie.server.dto.ChallengeDto,java.util.UUID,java.lang.Long); target is of class [com.seebie.server.controller.ChallengeController]
MockHttpServletRequest:
HTTP Method = PUT
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/challenge/1
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"235"]
Body = {"name":"The Briar Patch 2636b8b5-950d-493e-9a26-ed516bba297e","description":"Dolorum nam in dolore. Voluptatibus distinctio ex dolores neque itaque dolor quae. Soluta ullam mollitia beatae.","start":"2025-05-07","finish":"2025-05-21"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@75cfca92, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.ChallengeController
Method = com.seebie.server.controller.ChallengeController#updateChallenge(ChallengeDto, UUID, Long)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.350Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.350Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6240efce, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@1b43ebbd]
2025-05-07T01:51:03.351Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/chat
2025-05-07T01:51:03.351Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/chat]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.351Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6240efce, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.351Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6240efce, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.351Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/chat
2025-05-07T01:51:03.352Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.MessageDto com.seebie.server.controller.MessageController.submitPrompt(com.seebie.server.dto.MessageDto,java.util.UUID); target is of class [com.seebie.server.controller.MessageController]
2025-05-07T01:51:03.353Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public com.seebie.server.dto.MessageDto com.seebie.server.controller.MessageController.submitPrompt(com.seebie.server.dto.MessageDto,java.util.UUID); target is of class [com.seebie.server.controller.MessageController]
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/chat
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"72"]
Body = {"content":"message 1dbecfc5-407d-42eb-a162-0c636ba14858","type":"USER"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@6240efce, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.MessageController
Method = com.seebie.server.controller.MessageController#submitPrompt(MessageDto, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.361Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.361Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@51fa54e9, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]] to HttpSession [org.springframework.mock.web.MockHttpSession@db085f4]
2025-05-07T01:51:03.361Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/chat
2025-05-07T01:51:03.361Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/chat]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.361Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@51fa54e9, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]
2025-05-07T01:51:03.361Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@51fa54e9, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]'
2025-05-07T01:51:03.361Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/user/0c40d394-c856-49b1-bc78-a86121157288/chat
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/user/0c40d394-c856-49b1-bc78-a86121157288/chat
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"30"]
Body = {"content":null,"type":"USER"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@51fa54e9, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]]]}
Handler:
Type = com.seebie.server.controller.MessageController
Method = com.seebie.server.controller.MessageController#submitPrompt(MessageDto, UUID)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.bind.MethodArgumentNotValidException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Invalid request content.","instance":"/api/user/0c40d394-c856-49b1-bc78-a86121157288/chat"}
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.372Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.372Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@5ef3f630, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ADMIN]]] to HttpSession [org.springframework.mock.web.MockHttpSession@573b55ee]
2025-05-07T01:51:03.372Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/registration
2025-05-07T01:51:03.372Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/registration]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.372Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@5ef3f630, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ADMIN]]]
2025-05-07T01:51:03.373Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@5ef3f630, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ADMIN]]'
2025-05-07T01:51:03.373Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/registration
2025-05-07T01:51:03.373Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorizing method invocation ReflectiveMethodInvocation: public void com.seebie.server.controller.UserController.createUser(com.seebie.server.dto.RegistrationRequest); target is of class [com.seebie.server.controller.UserController]
2025-05-07T01:51:03.374Z DEBUG 2427 --- [Pool-1-worker-1] horizationManagerBeforeMethodInterceptor : Authorized method invocation ReflectiveMethodInvocation: public void com.seebie.server.controller.UserController.createUser(com.seebie.server.dto.RegistrationRequest); target is of class [com.seebie.server.controller.UserController]
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/registration
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"98"]
Body = {"displayName":"user-Quentin","plainTextPassword":"password","email":"annamaria.rogahn@gmail.com"}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@5ef3f630, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ADMIN]]]}
Handler:
Type = com.seebie.server.controller.UserController
Method = com.seebie.server.controller.UserController#createUser(RegistrationRequest)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = [X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
2025-05-07T01:51:03.381Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Created HttpSession as SecurityContext is non-default
2025-05-07T01:51:03.381Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Stored SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@1ae78d7d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ADMIN]]] to HttpSession [org.springframework.mock.web.MockHttpSession@5c535b9d]
2025-05-07T01:51:03.381Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Securing POST /api/registration
2025-05-07T01:51:03.381Z DEBUG 2427 --- [Pool-1-worker-1] o.s.s.w.a.c.ChannelProcessingFilter : Request: filter invocation [POST /api/registration]; ConfigAttributes: [REQUIRES_SECURE_CHANNEL]
2025-05-07T01:51:03.381Z DEBUG 2427 --- [Pool-1-worker-1] w.c.HttpSessionSecurityContextRepository : Retrieved SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@1ae78d7d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ADMIN]]]
2025-05-07T01:51:03.381Z DEBUG 2427 --- [Pool-1-worker-1] s.s.w.a.r.RememberMeAuthenticationFilter : SecurityContextHolder not populated with remember-me token, as it already contained: 'UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@1ae78d7d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ADMIN]]'
2025-05-07T01:51:03.381Z DEBUG 2427 --- [Pool-1-worker-1] o.s.security.web.FilterChainProxy : Secured POST /api/registration
MockHttpServletRequest:
HTTP Method = POST
Request URI = /api/registration
Parameters = {}
Headers = [Content-Type:"application/json;charset=UTF-8", Content-Length:"56"]
Body = {"displayName":"","plainTextPassword":null,"email":null}
Session Attrs = {SPRING_SECURITY_CONTEXT=SecurityContextImpl [Authentication=UsernamePasswordAuthenticationToken [Principal=com.seebie.server.security.AppUserDetails@1ae78d7d, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_ADMIN]]]}
Handler:
Type = com.seebie.server.controller.UserController
Method = com.seebie.server.controller.UserController#createUser(RegistrationRequest)
Async:
Async started = false
Async result = null
Resolved Exception:
Type = org.springframework.web.bind.MethodArgumentNotValidException
ModelAndView:
View name = null
View = null
Model = null
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 400
Error message = null
Headers = [Content-Type:"application/problem+json", X-Content-Type-Options:"nosniff", X-XSS-Protection:"0", Cache-Control:"no-cache, no-store, max-age=0, must-revalidate", Pragma:"no-cache", Expires:"0", Strict-Transport-Security:"max-age=31536000 ; includeSubDomains", X-Frame-Options:"DENY"]
Content type = application/problem+json
Body = {"type":"about:blank","title":"Bad Request","status":400,"detail":"Invalid request content.","instance":"/api/registration"}
Forwarded URL = null
Redirected URL = null
Cookies = []