parent
ff7717932a
commit
6d2af95d59
|
@ -53,7 +53,7 @@ public class JolokiaMvcEndpoint implements MvcEndpoint, InitializingBean,
|
||||||
* Endpoint URL path.
|
* Endpoint URL path.
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
@Pattern(regexp = "/[^/]*", message = "Path must start with /")
|
@Pattern(regexp = "/[^?#]*", message = "Path must start with /")
|
||||||
private String path;
|
private String path;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -16,9 +16,14 @@
|
||||||
|
|
||||||
package org.springframework.boot.actuate.autoconfigure;
|
package org.springframework.boot.actuate.autoconfigure;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import org.hamcrest.Matchers;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping;
|
||||||
import org.springframework.boot.actuate.endpoint.mvc.JolokiaMvcEndpoint;
|
import org.springframework.boot.actuate.endpoint.mvc.JolokiaMvcEndpoint;
|
||||||
|
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
|
||||||
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
|
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration;
|
import org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
|
import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
|
||||||
|
@ -30,6 +35,10 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
|
||||||
import org.springframework.boot.test.EnvironmentTestUtils;
|
import org.springframework.boot.test.EnvironmentTestUtils;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.test.web.servlet.MockMvc;
|
||||||
|
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||||
|
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
|
||||||
|
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
@ -67,6 +76,24 @@ public class JolokiaAutoConfigurationTests {
|
||||||
assertEquals(1, this.context.getBeanNamesForType(JolokiaMvcEndpoint.class).length);
|
assertEquals(1, this.context.getBeanNamesForType(JolokiaMvcEndpoint.class).length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void agentServletWithCustomPath() throws Exception {
|
||||||
|
this.context = new AnnotationConfigEmbeddedWebApplicationContext();
|
||||||
|
EnvironmentTestUtils.addEnvironment(this.context,
|
||||||
|
"endpoints.jolokia.path=/foo/bar");
|
||||||
|
this.context.register(EndpointsConfig.class, WebMvcAutoConfiguration.class,
|
||||||
|
PropertyPlaceholderAutoConfiguration.class,
|
||||||
|
ManagementServerPropertiesAutoConfiguration.class,
|
||||||
|
HttpMessageConvertersAutoConfiguration.class,
|
||||||
|
JolokiaAutoConfiguration.class);
|
||||||
|
this.context.refresh();
|
||||||
|
assertEquals(1, this.context.getBeanNamesForType(JolokiaMvcEndpoint.class).length);
|
||||||
|
MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(this.context).build();
|
||||||
|
mockMvc.perform(MockMvcRequestBuilders.get("/foo/bar")).andExpect(
|
||||||
|
MockMvcResultMatchers.content().string(
|
||||||
|
Matchers.containsString("\"request\":{\"type\"")));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void endpointDisabled() throws Exception {
|
public void endpointDisabled() throws Exception {
|
||||||
assertEndpointDisabled("endpoints.jolokia.enabled:false");
|
assertEndpointDisabled("endpoints.jolokia.enabled:false");
|
||||||
|
@ -106,6 +133,15 @@ public class JolokiaAutoConfigurationTests {
|
||||||
assertEquals(1, this.context.getBeanNamesForType(JolokiaMvcEndpoint.class).length);
|
assertEquals(1, this.context.getBeanNamesForType(JolokiaMvcEndpoint.class).length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
protected static class EndpointsConfig extends Config {
|
||||||
|
@Bean
|
||||||
|
public EndpointHandlerMapping endpointHandlerMapping(
|
||||||
|
Collection<? extends MvcEndpoint> endpoints) {
|
||||||
|
return new EndpointHandlerMapping(endpoints);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableConfigurationProperties
|
@EnableConfigurationProperties
|
||||||
protected static class Config {
|
protected static class Config {
|
||||||
|
|
Loading…
Reference in New Issue