diff --git a/src/integration-test/resources/examples/simple-alfresco-project/build.gradle b/src/integration-test/resources/examples/simple-alfresco-project/build.gradle index a375979..ef8eb05 100644 --- a/src/integration-test/resources/examples/simple-alfresco-project/build.gradle +++ b/src/integration-test/resources/examples/simple-alfresco-project/build.gradle @@ -1,4 +1,21 @@ plugins { id 'eu.xenit.alfresco' id 'eu.xenit.amp' +} + +description = "HelloWorld Webscript, very useful" +version = "0.0.1" + +ext.alfrescoVersion = "5.2.g" + +repositories { + mavenCentral() + jcenter() + maven { + url "https://artifacts.alfresco.com/nexus/content/groups/public/" + } +} + +dependencies { + alfrescoProvided "org.alfresco:alfresco-repository:${alfrescoVersion}" } \ No newline at end of file diff --git a/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/config/alfresco/extension/templates/webscripts/eu/xenit/alfresco/gradle/sample/helloworld.get.desc.xml b/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/config/alfresco/extension/templates/webscripts/eu/xenit/alfresco/gradle/sample/helloworld.get.desc.xml new file mode 100644 index 0000000..25943c6 --- /dev/null +++ b/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/config/alfresco/extension/templates/webscripts/eu/xenit/alfresco/gradle/sample/helloworld.get.desc.xml @@ -0,0 +1,8 @@ + + Hello World + Hello World Sample Web Script that responds back with a greeting + /eu/xenit/helloworld + + user + Xenit Samples + \ No newline at end of file diff --git a/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/config/alfresco/module/example-default-amp/module-context.xml b/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/config/alfresco/module/example-default-amp/module-context.xml new file mode 100644 index 0000000..a6231fb --- /dev/null +++ b/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/config/alfresco/module/example-default-amp/module-context.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/module.properties b/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/module.properties index e69de29..eeb3ad6 100644 --- a/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/module.properties +++ b/src/integration-test/resources/examples/simple-alfresco-project/src/main/amp/module.properties @@ -0,0 +1,4 @@ +module.id=$project.name +module.description=$project.description +module.version=$project.version +module.title=$project.name diff --git a/src/integration-test/resources/examples/simple-alfresco-project/src/main/java/eu/xenit/alfresco/gradle/sample/HelloWorldWebScript.java b/src/integration-test/resources/examples/simple-alfresco-project/src/main/java/eu/xenit/alfresco/gradle/sample/HelloWorldWebScript.java new file mode 100644 index 0000000..f2ff066 --- /dev/null +++ b/src/integration-test/resources/examples/simple-alfresco-project/src/main/java/eu/xenit/alfresco/gradle/sample/HelloWorldWebScript.java @@ -0,0 +1,15 @@ +package eu.xenit.alfresco.gradle.sample; + +import java.io.IOException; +import org.springframework.extensions.webscripts.AbstractWebScript; +import org.springframework.extensions.webscripts.WebScriptRequest; +import org.springframework.extensions.webscripts.WebScriptResponse; + + +public class HelloWorldWebScript extends AbstractWebScript { + + @Override + public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException { + res.getWriter().write("

Hello World

"); + } +} diff --git a/src/integration-test/resources/examples/simple-alfresco-project/src/main/java/eu/xenit/gradle/alfrescosdk/integrationtest/Hello.java b/src/integration-test/resources/examples/simple-alfresco-project/src/main/java/eu/xenit/gradle/alfrescosdk/integrationtest/Hello.java deleted file mode 100644 index 8e6ac61..0000000 --- a/src/integration-test/resources/examples/simple-alfresco-project/src/main/java/eu/xenit/gradle/alfrescosdk/integrationtest/Hello.java +++ /dev/null @@ -1,9 +0,0 @@ -package eu.xenit.gradle.alfrescosdk.integrationtest; - -public class Hello { - - public static void main(String[] args) { - - } - -} \ No newline at end of file diff --git a/src/main/java/eu/xenit/gradle/alfrescosdk/config/AmpConfig.java b/src/main/java/eu/xenit/gradle/alfrescosdk/config/AmpConfig.java index d9fa799..f03ff4f 100644 --- a/src/main/java/eu/xenit/gradle/alfrescosdk/config/AmpConfig.java +++ b/src/main/java/eu/xenit/gradle/alfrescosdk/config/AmpConfig.java @@ -7,6 +7,9 @@ public class AmpConfig { + public static final String DEFAULT_CONFIG_DIR = "src/main/amp/config"; + public static final String DEFAULT_MODULE_PROPERTIES = "src/main/amp/module.properties"; + public static final String DEFAULT_WEB_DIR = "src/main/amp/web"; private Supplier moduleProperties; private Supplier configDir; private Supplier webDir; @@ -15,9 +18,9 @@ public class AmpConfig { private final Project project; public AmpConfig(Project project){ this.project = project; - moduleProperties = () -> new File("src/main/amp/module.properties"); + moduleProperties = () -> project.file(DEFAULT_MODULE_PROPERTIES); configDir = () -> { - File file = new File("src/main/amp/config"); + File file = project.file(DEFAULT_CONFIG_DIR); if(file.exists()) { return file; } else { @@ -25,7 +28,7 @@ public AmpConfig(Project project){ } }; webDir = () -> { - File file = new File("src/main/amp/web"); + File file = project.file(DEFAULT_WEB_DIR); if(file.exists()) { return file; } else { diff --git a/src/test/java/eu/xenit/gradle/alfrescosdk/AmpPluginTest.java b/src/test/java/eu/xenit/gradle/alfrescosdk/AmpPluginTest.java new file mode 100644 index 0000000..1ee25f5 --- /dev/null +++ b/src/test/java/eu/xenit/gradle/alfrescosdk/AmpPluginTest.java @@ -0,0 +1,37 @@ +package eu.xenit.gradle.alfrescosdk; + +import eu.xenit.gradle.alfrescosdk.config.AmpConfig; +import eu.xenit.gradle.alfrescosdk.tasks.Amp; +import java.io.File; +import org.gradle.api.internal.project.DefaultProject; +import org.gradle.testfixtures.ProjectBuilder; +import org.junit.Test; +import static org.junit.Assert.*; + +public class AmpPluginTest { + + private DefaultProject getDefaultProject() { + DefaultProject project = (DefaultProject) ProjectBuilder.builder().build(); + project.getPluginManager().apply(AmpPlugin.class); + return project; + } + + @Test + public void testConfigFolderEmpty(){ + DefaultProject defaultProject = getDefaultProject(); + Amp ampTask = (Amp) defaultProject.getTasks().getByName("amp"); + assertNull(ampTask.getConfig()); + } + + @Test + public void testConfigDirectoryExists(){ + DefaultProject defaultProject = getDefaultProject(); + + File configDir = new File(defaultProject.getProjectDir().getAbsolutePath()+"/"+AmpConfig.DEFAULT_CONFIG_DIR); + assertTrue(configDir.mkdirs()); + + Amp ampTask = (Amp) defaultProject.getTasks().getByName("amp"); + assertTrue(ampTask.getConfig().isDirectory()); + } + +} diff --git a/src/test/java/eu/xenit/gradle/alfrescosdk/BaseAlfrescoPluginTest.java b/src/test/java/eu/xenit/gradle/alfrescosdk/BaseAlfrescoPluginTest.java index 1624883..4d354d6 100644 --- a/src/test/java/eu/xenit/gradle/alfrescosdk/BaseAlfrescoPluginTest.java +++ b/src/test/java/eu/xenit/gradle/alfrescosdk/BaseAlfrescoPluginTest.java @@ -6,9 +6,7 @@ import org.gradle.api.internal.plugins.PluginManagerInternal.PluginWithId; import org.gradle.api.internal.project.DefaultProject; import org.gradle.testfixtures.ProjectBuilder; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TemporaryFolder; import static eu.xenit.gradle.alfrescosdk.AlfrescoPlugin.ALFRESCO_PROVIDED; import static org.junit.Assert.*; @@ -22,9 +20,6 @@ private DefaultProject getDefaultProject() { return project; } - @Rule - public final TemporaryFolder testProjectFolder = new TemporaryFolder(); - @Test public void testJavaPluginApplied(){ DefaultProject project = getDefaultProject();