mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Merge branch '2.0.x'
This commit is contained in:
commit
65295e0e14
@ -130,7 +130,7 @@ final class ClassLoaderFilesResourcePatternResolver implements ResourcePatternRe
|
|||||||
for (Entry<String, ClassLoaderFile> entry : sourceFolder.getFilesEntrySet()) {
|
for (Entry<String, ClassLoaderFile> entry : sourceFolder.getFilesEntrySet()) {
|
||||||
String name = entry.getKey();
|
String name = entry.getKey();
|
||||||
ClassLoaderFile file = entry.getValue();
|
ClassLoaderFile file = entry.getValue();
|
||||||
if (file.getKind() == Kind.ADDED
|
if (entry.getValue().getKind() != Kind.DELETED
|
||||||
&& this.antPathMatcher.match(trimmedLocationPattern, name)) {
|
&& this.antPathMatcher.match(trimmedLocationPattern, name)) {
|
||||||
URL url = new URL("reloaded", null, -1, "/" + name,
|
URL url = new URL("reloaded", null, -1, "/" + name,
|
||||||
new ClassLoaderFileURLStreamHandler(file));
|
new ClassLoaderFileURLStreamHandler(file));
|
||||||
|
@ -125,6 +125,53 @@ public class DevToolsIntegrationTests {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createAControllerAndThenAddARequestMapping() throws Exception {
|
||||||
|
TestRestTemplate template = new TestRestTemplate();
|
||||||
|
String urlBase = "http://localhost:" + awaitServerPort();
|
||||||
|
assertThat(template.getForObject(urlBase + "/one", String.class))
|
||||||
|
.isEqualTo("one");
|
||||||
|
assertThat(template.getForEntity(urlBase + "/two", String.class).getStatusCode())
|
||||||
|
.isEqualTo(HttpStatus.NOT_FOUND);
|
||||||
|
controller("com.example.ControllerTwo").withRequestMapping("two").build();
|
||||||
|
assertThat(template.getForObject(urlBase + "/one", String.class))
|
||||||
|
.isEqualTo("one");
|
||||||
|
assertThat(template.getForObject("http://localhost:" + awaitServerPort() + "/two",
|
||||||
|
String.class)).isEqualTo("two");
|
||||||
|
controller("com.example.ControllerTwo").withRequestMapping("two")
|
||||||
|
.withRequestMapping("three").build();
|
||||||
|
assertThat(template.getForObject(
|
||||||
|
"http://localhost:" + awaitServerPort() + "/three", String.class))
|
||||||
|
.isEqualTo("three");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createAControllerAndThenAddARequestMappingToAnExistingController()
|
||||||
|
throws Exception {
|
||||||
|
TestRestTemplate template = new TestRestTemplate();
|
||||||
|
String urlBase = "http://localhost:" + awaitServerPort();
|
||||||
|
assertThat(template.getForObject(urlBase + "/one", String.class))
|
||||||
|
.isEqualTo("one");
|
||||||
|
assertThat(template.getForEntity(urlBase + "/two", String.class).getStatusCode())
|
||||||
|
.isEqualTo(HttpStatus.NOT_FOUND);
|
||||||
|
controller("com.example.ControllerTwo").withRequestMapping("two").build();
|
||||||
|
assertThat(template.getForObject(urlBase + "/one", String.class))
|
||||||
|
.isEqualTo("one");
|
||||||
|
assertThat(template.getForObject("http://localhost:" + awaitServerPort() + "/two",
|
||||||
|
String.class)).isEqualTo("two");
|
||||||
|
controller("com.example.ControllerOne").withRequestMapping("one")
|
||||||
|
.withRequestMapping("three").build();
|
||||||
|
int port = awaitServerPort();
|
||||||
|
assertThat(
|
||||||
|
template.getForObject("http://localhost:" + port + "/one", String.class))
|
||||||
|
.isEqualTo("one");
|
||||||
|
assertThat(
|
||||||
|
template.getForObject("http://localhost:" + port + "/two", String.class))
|
||||||
|
.isEqualTo("two");
|
||||||
|
assertThat(template.getForObject("http://localhost:" + port + "/three",
|
||||||
|
String.class)).isEqualTo("three");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void deleteAController() throws Exception {
|
public void deleteAController() throws Exception {
|
||||||
TestRestTemplate template = new TestRestTemplate();
|
TestRestTemplate template = new TestRestTemplate();
|
||||||
@ -137,6 +184,25 @@ public class DevToolsIntegrationTests {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createAControllerAndThenDeleteIt() throws Exception {
|
||||||
|
TestRestTemplate template = new TestRestTemplate();
|
||||||
|
String urlBase = "http://localhost:" + awaitServerPort();
|
||||||
|
assertThat(template.getForObject(urlBase + "/one", String.class))
|
||||||
|
.isEqualTo("one");
|
||||||
|
assertThat(template.getForEntity(urlBase + "/two", String.class).getStatusCode())
|
||||||
|
.isEqualTo(HttpStatus.NOT_FOUND);
|
||||||
|
controller("com.example.ControllerTwo").withRequestMapping("two").build();
|
||||||
|
assertThat(template.getForObject(urlBase + "/one", String.class))
|
||||||
|
.isEqualTo("one");
|
||||||
|
assertThat(template.getForObject("http://localhost:" + awaitServerPort() + "/two",
|
||||||
|
String.class)).isEqualTo("two");
|
||||||
|
assertThat(new File(this.launchedApplication.getClassesDirectory(),
|
||||||
|
"com/example/ControllerTwo.class").delete()).isTrue();
|
||||||
|
assertThat(template.getForEntity("http://localhost:" + awaitServerPort() + "/two",
|
||||||
|
String.class).getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
private int awaitServerPort() throws Exception {
|
private int awaitServerPort() throws Exception {
|
||||||
long end = System.currentTimeMillis() + 30000;
|
long end = System.currentTimeMillis() + 30000;
|
||||||
while (this.serverPortFile.length() == 0) {
|
while (this.serverPortFile.length() == 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user