Files
springboot-demo/target/test-classes/com/example/demo/controller/UserControllerTest.class

48 lines
5.9 KiB
Plaintext
Raw Normal View History

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=<00>
2026-03-18 15:18:30 +08:00
 java/lang/Object<init>()V  
.com/example/demo/controller/UserControllerTestmockMvc.Lorg/springframework/test/web/servlet/MockMvc;
/api/users
 Corg/springframework/test/web/servlet/request/MockMvcRequestBuildersgets(Ljava/lang/String;[Ljava/lang/Object;)Lorg/springframework/test/web/servlet/request/MockHttpServletRequestBuilder; Authorization
  bearerToken()Ljava/lang/String;
 Jorg/springframework/test/web/servlet/request/MockHttpServletRequestBuilderheader
!"# $%,org/springframework/test/web/servlet/MockMvcperformk(Lorg/springframework/test/web/servlet/RequestBuilder;)Lorg/springframework/test/web/servlet/ResultActions;
'() *+Aorg/springframework/test/web/servlet/result/MockMvcResultMatchersstatusD()Lorg/springframework/test/web/servlet/result/StatusResultMatchers;
-./ 01@org/springframework/test/web/servlet/result/StatusResultMatchersisOk6()Lorg/springframework/test/web/servlet/ResultMatcher; 345 672org/springframework/test/web/servlet/ResultActions andExpectj(Lorg/springframework/test/web/servlet/ResultMatcher;)Lorg/springframework/test/web/servlet/ResultActions;9$.code
'; <=jsonPathk(Ljava/lang/String;[Ljava/lang/Object;)Lorg/springframework/test/web/servlet/result/JsonPathResultMatchers;
?@A BCjava/lang/IntegervalueOf(I)Ljava/lang/Integer;
EFG HIBorg/springframework/test/web/servlet/result/JsonPathResultMatchersvalueH(Ljava/lang/Object;)Lorg/springframework/test/web/servlet/ResultMatcher;K$.data
EM N1isArrayPK{
"name": "Demo User",
"email": "demo-user@example.com",
2026-03-18 15:18:30 +08:00
"age": 22
}
R Spost UVW XY"org/springframework/http/MediaTypeAPPLICATION_JSON$Lorg/springframework/http/MediaType;
[ \] contentTyper(Lorg/springframework/http/MediaType;)Lorg/springframework/test/web/servlet/request/MockHttpServletRequestBuilder;
_ `acontent`(Ljava/lang/String;)Lorg/springframework/test/web/servlet/request/MockHttpServletRequestBuilder;c $.data.namee Demo Userg6{
2026-03-18 15:18:30 +08:00
"name": "",
"email": "bad-mail",
"age": 222
}
-i j1 isBadRequestlJ{
"name": "Another User",
"email": "alice@example.com",
"age": 29
}
-n o1
isConflictq/api/users/statss$.data.totalUsers
Eu v1isNumberx $.data.adultsz$.data.averageAge
-| }1isUnauthorized  <00><00> objectMapper-Lcom/fasterxml/jackson/databind/ObjectMapper;<00>username<00>admin<00>password<00>admin123 <00><00><00> <00><00> java/util/MapofY(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
<00><00><00> <00><00>+com/fasterxml/jackson/databind/ObjectMapperwriteValueAsString&(Ljava/lang/Object;)Ljava/lang/String;<00>/api/auth/login 3<00> <00><00> andReturn2()Lorg/springframework/test/web/servlet/MvcResult; <00><00><00> <00><00>.org/springframework/test/web/servlet/MvcResult getResponse8()Lorg/springframework/mock/web/MockHttpServletResponse;
<00><00><00> <00>4org/springframework/mock/web/MockHttpServletResponsegetContentAsString
<00><00> <00><00>readTree=(Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JsonNode;<00>data
<00><00><00> <00><00>'com/fasterxml/jackson/databind/JsonNodepath<00>token
<00><00> <00>asText<00> <00><00>makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String;RuntimeVisibleAnnotations8Lorg/springframework/beans/factory/annotation/Autowired;CodeLineNumberTableLocalVariableTablethis0Lcom/example/demo/controller/UserControllerTest;%shouldListUsersWithApiResponseWrapper
Exceptions<00>java/lang/ExceptionLorg/junit/jupiter/api/Test;shouldCreateUserjsonLjava/lang/String;shouldRejectInvalidUsershouldRejectDuplicateEmailshouldExposeUserStats%shouldRejectUserEndpointsWithoutTokenloginReq loginResp
SourceFileUserControllerTest.java6Lorg/springframework/boot/test/context/SpringBootTest;NLorg/springframework/boot/test/autoconfigure/web/servlet/AutoConfigureMockMvc;BootstrapMethods<00>
<00><00><00> <00><00>$java/lang/invoke/StringConcatFactory<00>(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;<00>Bearer  InnerClasses<00>%java/lang/invoke/MethodHandles$Lookup<00>java/lang/invoke/MethodHandlesLookup  <00><00><00><00><00><00><00>/*<2A><01><00><00> <00><00><00><00><00>S*<2A> <03><02><04>Y*<2A>S<><1B> <20>&<26>,<2C>28<03><02>:<03>><3E>D<>2J<03><02>:<3A>L<>2W<><00> 1F R!<00> S<00><00><00><00><00><00><00><00><00>bOL*<2A> <03><02>Q<04>Y*<2A>S<><1B>T<>Z+<2B>^<5E> <20>&<26>,<2C>28<03><02>:<03>><3E>D<>2b<03><02>:d<>D<>2W<><00>*
%-.#/'0*--1>2S3a4<00>b<00><00>_<00><00><00><00><00><00><00><00><00>QfL*<2A> <03><02>Q<04>Y*<2A>S<><1B>T<>Z+<2B>^<5E> <20>&<26>h<>28<03><02>:<01><>><3E>D<>2W<><00>& 8@A#B'C*@-D>EPF<00>Q<00><00>N<00><00><00><00><00><00><00><00><00>QkL*<2A> <03><02>Q<04>Y*<2A>S<><1B>T<>Z+<2B>^<5E> <20>&<26>m<>28<03><02>:<01><>><3E>D<>2W<><00>& JRS#T'U*R-V>WPX<00>Q<00><00>N<00><00><00><00><00><00><00><00><00>u*<2A>p<03><02><04>Y*<2A>S<><1B> <20>&<26>,<2C>28<03><02>:<03>><3E>D<>2r<03><02>:<3A>t<>2w<03><02>:<3A>t<>2y<03><02>:<3A>t<>2W<><00>& \]\ ^1_F`Wahbtc<00> u<00><00><00><00><00><00><00><00>j4*<2A> <03><02><0F> <20>&<26>{<7B>28<03><02>:<01><>><3E>D<>2W<><00>gh!i3j<00> 4<00><00><00><00><00><00><00><00>x*<2A>~<12><12><12><12><><00><><00>L*<2A><12><03><02>Q<>T<>Z+<2B>^<5E> <20>&<26>,<2C>28<03><02>:<03>><3E>D<>2<00><00><00><00><00><00>M*<2A>~,<2C><00><12><><00><12><><00><><00>N-<2D><00><00><00>2 mr#s't*r-u>vMwRxWy[{q|<00>*x<00><00>e<00><00>[<00><00>q<00><00><00><00><00><00><00>
<00><00><00><00><00><00>
<00><00><00>