"spring war" should copy resources to WEB-INF/classes
Closes gh-6351
This commit is contained in:
committed by
Stephane Nicoll
parent
07690bab25
commit
d07f689446
@@ -16,24 +16,23 @@
|
||||
|
||||
package org.springframework.boot.cli;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.boot.cli.command.archive.WarCommand;
|
||||
import org.springframework.boot.cli.infrastructure.CommandLineInvoker;
|
||||
import org.springframework.boot.cli.infrastructure.CommandLineInvoker.Invocation;
|
||||
import org.springframework.boot.loader.tools.JavaExecutable;
|
||||
import org.springframework.util.SocketUtils;
|
||||
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import java.io.File;
|
||||
import java.util.zip.ZipFile;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Integration test for {@link WarCommand}.
|
||||
*
|
||||
* @author Andrey Stolyarov
|
||||
* @author Henri Kerola
|
||||
*/
|
||||
public class WarCommandIT {
|
||||
|
||||
@@ -47,19 +46,38 @@ public class WarCommandIT {
|
||||
Invocation invocation = this.cli.invoke("war", war.getAbsolutePath(),
|
||||
"war.groovy");
|
||||
invocation.await();
|
||||
assertTrue(war.exists());
|
||||
assertThat(war.exists()).isTrue();
|
||||
Process process = new JavaExecutable()
|
||||
.processBuilder("-jar", war.getAbsolutePath(), "--server.port=" + port)
|
||||
.start();
|
||||
invocation = new Invocation(process);
|
||||
invocation.await();
|
||||
assertThat(invocation.getOutput(), containsString("onStart error"));
|
||||
assertThat(invocation.getOutput(), containsString("Tomcat started"));
|
||||
assertThat(invocation.getOutput(),
|
||||
containsString("/WEB-INF/lib-provided/tomcat-embed-core"));
|
||||
assertThat(invocation.getOutput(),
|
||||
containsString("/WEB-INF/lib-provided/tomcat-embed-core"));
|
||||
assertThat(invocation.getOutput()).contains("onStart error");
|
||||
assertThat(invocation.getOutput()).contains("Tomcat started");
|
||||
assertThat(invocation.getOutput())
|
||||
.contains("/WEB-INF/lib-provided/tomcat-embed-core");
|
||||
assertThat(invocation.getOutput())
|
||||
.contains("/WEB-INF/lib-provided/tomcat-embed-core");
|
||||
process.destroy();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void resourcesAreCopiedToWebInfClasses() throws Exception {
|
||||
File war = new File("target/test-app.war");
|
||||
Invocation invocation = this.cli.invoke("war", war.getAbsolutePath(),
|
||||
"war.groovy");
|
||||
invocation.await();
|
||||
assertThat(war.exists()).isTrue();
|
||||
|
||||
ZipFile warFile = new ZipFile(war.getAbsolutePath());
|
||||
try {
|
||||
assertThat(warFile.getEntry("application.properties")).isNull();
|
||||
assertThat(warFile.getEntry("WEB-INF/classes/application.properties")).isNotNull();
|
||||
}
|
||||
finally {
|
||||
warFile.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user