PostNewBookingItem

2

tests

0

failures

0

ignored

0.090s

duration

100%

successful

Tests

Test Duration Result
globalAdmin_canAddValidBookingItem() 0.066s passed
globalAdmin_canNotAddInvalidBookingItem() 0.024s passed

Standard output

2026-08-10T14:41:05.172Z  INFO 233 --- [    Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [net.hostsharing.hsadminng.hs.booking.item.HsBookingItemControllerRestTest$PostNewBookingItem]: PostNewBookingItem does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-08-10T14:41:05.177Z  INFO 233 --- [    Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration net.hostsharing.hsadminng.HsadminNgApplication for test class net.hostsharing.hsadminng.hs.booking.item.HsBookingItemControllerRestTest$PostNewBookingItem

MockHttpServletRequest:
      HTTP Method = POST
      Request URI = /api/hs/booking/items
       Parameters = {}
          Headers = [Content-Type:"application/json;charset=UTF-8", Authorization:"Bearer eyJraWQiOiJ0ZXN0LWtleSIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJodHRwOi8vdGVzdC1pc3N1ZXIiLCJzdWIiOiJoc2gtYWxleF9zdXBlcnVzZXIiLCJhdWQiOiJhcGkiLCJncm91cHMiOltdLCJleHAiOjE3ODYzNzY0NjUsImp0aSI6ImRmNTE1MjU1LWNiZmMtNGFiNy1hZWQxLTZmNjIxMmNjOTZjYSJ9.j49N26cYB6r5TvQflsXgd2UOs4DKymPoQjEZR1ZVgjZItnV4s_hVrW69CcvVm6vdVb-FsAVGBHiZi_hAU2M44uqjHvFRuRTyjjkPjIFF1sbjp4JVJ6lb8kOoJoO1bOp0WdRVzubJBKd9h1DucLICblJ2Cq-1sYhgLPZ50e4UF-tKWXcxBru8idMxIyAPbBn2jHUI6-6Vh1WiXQ9pjVDIdJElixptyS9K464HPQgXe3vfNw0_xd4zSzX1mDjhFkbPBsQGwH9bh1jgqLK2KbkPxTWb7l2wp6fR7LUcnye-svXEswjxfTJ0occdL41MqkQoa50vIYIQ9Z9cnsrjVzQoZw", Accept:"application/json", Content-Length:"227"]
             Body = {
    "project.uuid": "5bc0fe75-891c-4a56-999d-861e9c2c728d",
    "type": "MANAGED_SERVER",
    "caption": "some new booking",
    "validTo": "2026-09-10",
    "resources": { "CPU": 12, "RAM": 4, "SSD": 100, "Traffic": 250 }
}

    Session Attrs = {}

Handler:
             Type = net.hostsharing.hsadminng.hs.booking.item.HsBookingItemController
           Method = net.hostsharing.hsadminng.hs.booking.item.HsBookingItemController#postNewBookingItem(String, HsBookingItemInsertResource)

Async:
    Async started = false
     Async result = null

Resolved Exception:
             Type = null

ModelAndView:
        View name = null
             View = null
            Model = null

FlashMap:
       Attributes = null

MockHttpServletResponse:
           Status = 201
    Error message = null
          Headers = [Vary:"Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers", Location:"http://localhost/api/hs/booking/items/19522de3-6334-49b1-a67d-301cf5b83be1", 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", X-Frame-Options:"DENY"]
     Content type = application/json
             Body = {"uuid":"19522de3-6334-49b1-a67d-301cf5b83be1","type":"MANAGED_SERVER","caption":"some new booking","validFrom":"2026-08-10","validTo":"2026-09-10","resources":{"CPU":12,"SSD":100,"RAM":4,"Traffic":250}}
    Forwarded URL = null
   Redirected URL = http://localhost/api/hs/booking/items/19522de3-6334-49b1-a67d-301cf5b83be1
          Cookies = []

MockHttpServletRequest:
      HTTP Method = POST
      Request URI = /api/hs/booking/items
       Parameters = {}
          Headers = [Content-Type:"application/json;charset=UTF-8", Authorization:"Bearer eyJraWQiOiJ0ZXN0LWtleSIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJodHRwOi8vdGVzdC1pc3N1ZXIiLCJzdWIiOiJoc2gtYWxleF9zdXBlcnVzZXIiLCJhdWQiOiJhcGkiLCJncm91cHMiOltdLCJleHAiOjE3ODYzNzY0NjUsImp0aSI6ImE5YmYxZDE0LTYwZTctNGQyZS04YjZmLWM1MGExY2U1YWVkMyJ9.Yu7yDG-GOHyKccti9GR70ZyHVeo8m7I3EZ0LkAnxCOhnNdRkCoFoLaGUz8ZEFZeYkJBNhS3JSj5SmI_MtLTJsFHD2-WXM2n7W6nQr6m5oHZDumzDZc6NRa3WUm7PB5BEZglJGQjRhtyJgvmF5l2AcFaEDMstacTC8KFVDtjZd9B8R8yzRIZZxZfgEeoug9buMZIXctd8y8xrHYfdrMR9FUppHVBezvBbDXNCkE7FZevH-yyUJI_yfVbQVQwqd9QcyTAvDPezTEROG4n96j7Z3sbQVgZYDDvMDLJ92djN1WXahzeSrx_kjIwXwS9c-AVY5GSRqzGkaP6NM1D8R7rVaA", Accept:"application/json", Content-Length:"262"]
             Body = {
    "project.uuid": "b9f12fcf-edfb-45d6-8a2e-86c433b6c3f4",
    "type": "MANAGED_SERVER",
    "caption": "some new booking",
    "validFrom": "2026-09-10", // not specified => not accepted
    "resources": { "CPU": 12, "RAM": 4, "SSD": 100, "Traffic": 250 }
}

    Session Attrs = {}

Handler:
             Type = net.hostsharing.hsadminng.hs.booking.item.HsBookingItemController
           Method = net.hostsharing.hsadminng.hs.booking.item.HsBookingItemController#postNewBookingItem(String, HsBookingItemInsertResource)

Async:
    Async started = false
     Async result = null

Resolved Exception:
             Type = org.springframework.http.converter.HttpMessageNotReadableException

ModelAndView:
        View name = null
             View = null
            Model = null

FlashMap:
       Attributes = null

MockHttpServletResponse:
           Status = 400
    Error message = null
          Headers = [Vary:"Origin", "Access-Control-Request-Method", "Access-Control-Request-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", X-Frame-Options:"DENY"]
     Content type = application/json
             Body = {"timestamp":"2026-08-10 02:41:05","path":"","statusCode":400,"statusPhrase":"Bad Request","message":"ERROR: [400] property \"validFrom\": JSON parse error: Unrecognized field \"validFrom\" (class net.hostsharing.hsadminng.hs.booking.generated.api.v1.model.HsBookingItemInsertResource), not marked as ignorable"}
    Forwarded URL = null
   Redirected URL = null
          Cookies = []