package com.constellio.model.services.appManagement; import static org.assertj.core.api.Assertions.assertThat; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.junit.Before; import org.junit.Test; import com.constellio.sdk.tests.ConstellioTest; public class WrapperUpdateGroovyScriptRealTest extends ConstellioTest { String windowsWebappWrapperConf = "...before...\n" + "wrapper.java.classpath.1 = ..\\\\webapp\\\\WEB-INF\\\\lib\\\\*.jar\n" + "wrapper.java.classpath.2 = ..\\\\webapp\\\\WEB-INF\\\\classes\n" + "...after...\n"; String windowsWebapp2WrapperConf = "...before...\n" + "wrapper.java.classpath.1 = ..\\\\webapp-2\\\\WEB-INF\\\\lib\\\\*.jar\n" + "wrapper.java.classpath.2 = ..\\\\webapp-2\\\\WEB-INF\\\\classes\n" + "...after...\n"; String windowsWebapp3WrapperConf = "...before...\n" + "wrapper.java.classpath.1 = ..\\\\webapp-3\\\\WEB-INF\\\\lib\\\\*.jar\n" + "wrapper.java.classpath.2 = ..\\\\webapp-3\\\\WEB-INF\\\\classes\n" + "...after...\n"; String linuxWebappWrapperConf = "...before...\n" + "wrapper.java.classpath.1 = ..\\/webapp\\/WEB-INF\\/lib\\/*.jar\n" + "wrapper.java.classpath.2 = ..\\/webapp\\/WEB-INF\\/classes\n" + "...after...\n"; String linuxWebapp2WrapperConf = "...before...\n" + "wrapper.java.classpath.1 = ..\\/webapp-2\\/WEB-INF\\/lib\\/*.jar\n" + "wrapper.java.classpath.2 = ..\\/webapp-2\\/WEB-INF\\/classes\n" + "...after...\n"; String linuxWebapp3WrapperConf = "...before...\n" + "wrapper.java.classpath.1 = ..\\/webapp-3\\/WEB-INF\\/lib\\/*.jar\n" + "wrapper.java.classpath.2 = ..\\/webapp-3\\/WEB-INF\\/classes\n" + "...after...\n"; File wrapperConf; File previousWrapperConf; WrapperUpdateGroovyScript script; @Before public void setUp() { File tempDir = newTempFolder(); wrapperConf = new File(tempDir, "wrapper.conf"); previousWrapperConf = new File(tempDir, "wrapper.conf.bck"); script = new WrapperUpdateGroovyScript(); } @Test public void givenLinuxWebappThenSetToWebapp2() throws Exception { FileUtils.write(wrapperConf, linuxWebappWrapperConf); callScript(); assertThat(wrapperConf).hasContent(linuxWebapp2WrapperConf); assertThat(previousWrapperConf).hasContent(linuxWebappWrapperConf); } @Test public void givenLinuxWebapp2ThenSetToWebapp3() throws Exception { FileUtils.write(wrapperConf, linuxWebapp2WrapperConf); callScript(); assertThat(wrapperConf).hasContent(linuxWebapp3WrapperConf); assertThat(previousWrapperConf).hasContent(linuxWebapp2WrapperConf); } @Test public void givenWindowsWebappThenSetToWebapp2() throws Exception { FileUtils.write(wrapperConf, windowsWebappWrapperConf); callScript(); assertThat(wrapperConf).hasContent(windowsWebapp2WrapperConf); assertThat(previousWrapperConf).hasContent(windowsWebappWrapperConf); } @Test public void givenWindowsWebapp2ThenSetToWebapp3() throws Exception { FileUtils.write(wrapperConf, windowsWebapp2WrapperConf); callScript(); assertThat(wrapperConf).hasContent(windowsWebapp3WrapperConf); assertThat(previousWrapperConf).hasContent(windowsWebapp2WrapperConf); } private void callScript() throws IOException { script.callGroovyScript(wrapperConf, previousWrapperConf); } }