38
38
import org .springframework .restdocs .payload .JsonFieldType ;
39
39
import org .springframework .restdocs .payload .ResponseFieldsSnippet ;
40
40
41
+ import static org .assertj .core .api .Assertions .assertThat ;
41
42
import static org .springframework .restdocs .payload .PayloadDocumentation .beneathPath ;
42
43
import static org .springframework .restdocs .payload .PayloadDocumentation .fieldWithPath ;
43
44
import static org .springframework .restdocs .payload .PayloadDocumentation .responseFields ;
44
- import static org .springframework .test .web .servlet .request .MockMvcRequestBuilders .get ;
45
- import static org .springframework .test .web .servlet .result .MockMvcResultMatchers .status ;
46
45
47
46
/**
48
47
* Tests for generating documentation describing the {@link InfoEndpoint}.
52
51
class InfoEndpointDocumentationTests extends MockMvcEndpointDocumentationTests {
53
52
54
53
@ Test
55
- void info () throws Exception {
56
- this .mockMvc .perform (get ("/actuator/info" ))
57
- .andExpect (status ().isOk ())
58
- .andDo (MockMvcRestDocumentation .document ("info" , gitInfo (), buildInfo (), osInfo (), processInfo ()));
54
+ void info () {
55
+ assertThat (this .mvc .get ().uri ("/actuator/info" )).hasStatusOk ()
56
+ .apply (MockMvcRestDocumentation .document ("info" , gitInfo (), buildInfo (), osInfo (), processInfo ()));
59
57
}
60
58
61
59
private ResponseFieldsSnippet gitInfo () {
@@ -80,13 +78,13 @@ private ResponseFieldsSnippet buildInfo() {
80
78
}
81
79
82
80
private ResponseFieldsSnippet osInfo () {
83
- return responseFields (beneathPath ("os" ), osInfoField ("name" , "Name" ), osInfoField ("version" , "Version" ),
84
- osInfoField ("arch" , "Architecture" ));
81
+ return responseFields (beneathPath ("os" ), osInfoField ("name" , "Name of the operating system" ),
82
+ osInfoField ("version" , "Version of the operating system" ),
83
+ osInfoField ("arch" , "Architecture of the operating system" ));
85
84
}
86
85
87
86
private FieldDescriptor osInfoField (String field , String desc ) {
88
- return fieldWithPath (field )
89
- .description ("Operating System " + desc + " (as obtained from the 'os." + field + "' system property)." )
87
+ return fieldWithPath (field ).description (desc + " (as obtained from the 'os." + field + "' system property)." )
90
88
.type (JsonFieldType .STRING )
91
89
.optional ();
92
90
}
@@ -97,7 +95,20 @@ private ResponseFieldsSnippet processInfo() {
97
95
fieldWithPath ("parentPid" ).description ("Parent Process ID (or -1)." ).type (JsonFieldType .NUMBER ),
98
96
fieldWithPath ("owner" ).description ("Process owner." ).type (JsonFieldType .STRING ),
99
97
fieldWithPath ("cpus" ).description ("Number of CPUs available to the process." )
100
- .type (JsonFieldType .NUMBER ));
98
+ .type (JsonFieldType .NUMBER ),
99
+ fieldWithPath ("memory" ).description ("Memory information." ),
100
+ fieldWithPath ("memory.heap" ).description ("Heap memory." ),
101
+ fieldWithPath ("memory.heap.init" ).description ("The number of bytes initially requested by the JVM." ),
102
+ fieldWithPath ("memory.heap.used" ).description ("The number of bytes currently being used." ),
103
+ fieldWithPath ("memory.heap.committed" ).description ("The number of bytes committed for JVM use." ),
104
+ fieldWithPath ("memory.heap.max" )
105
+ .description ("The maximum number of bytes that can be used by the JVM (or -1)." ),
106
+ fieldWithPath ("memory.nonHeap" ).description ("Non-heap memory." ),
107
+ fieldWithPath ("memory.nonHeap.init" ).description ("The number of bytes initially requested by the JVM." ),
108
+ fieldWithPath ("memory.nonHeap.used" ).description ("The number of bytes currently being used." ),
109
+ fieldWithPath ("memory.nonHeap.committed" ).description ("The number of bytes committed for JVM use." ),
110
+ fieldWithPath ("memory.nonHeap.max" )
111
+ .description ("The maximum number of bytes that can be used by the JVM (or -1)." ));
101
112
}
102
113
103
114
@ Configuration (proxyBeanMethods = false )
0 commit comments