blob: 119e12f05dbc87994861cd31dd0e3e1d8ee5ea6b [file] [log] [blame]
package org.eclipse.jst.j2ee.flexible.project.apitests;
import junit.framework.TestCase;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jst.j2ee.application.Application;
import org.eclipse.jst.j2ee.application.ApplicationResource;
import org.eclipse.jst.j2ee.modulecore.util.EARArtifactEdit;
import org.eclipse.wst.common.componentcore.ArtifactEditModel;
import org.eclipse.wst.common.componentcore.StructureEdit;
import org.eclipse.wst.common.componentcore.ModuleCoreNature;
import org.eclipse.wst.common.componentcore.UnresolveableURIException;
import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
public class EARArtifactEditTest extends TestCase {
public static final String MODULE__RESOURCE_URI_PROTOCOL = "module:/resource/";
private IProject project;
private WorkbenchComponent earWorkbenchModule;
private ModuleCoreNature moduleCoreNature;
private ArtifactEditModel artifactEditModel;
private EARArtifactEdit earArtifactEdit;
/*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
StructureEdit moduleCore = null;
String projectName = "FlexibleEarModuleProject";
try {
// setup instance variables: project
createProjectWithEARModule(projectName);
// ear workbenchModule
moduleCore = StructureEdit.getStructureEditForWrite(project);
earWorkbenchModule = moduleCore.getWorkbenchModules()[0];
// nature
moduleCoreNature = (ModuleCoreNature) project.getNature(ModuleCoreNature.MODULE_NATURE_ID);
URI earModuleURI = URI.createURI(MODULE__RESOURCE_URI_PROTOCOL + projectName + IPath.SEPARATOR
+ projectName + ".ear" + IPath.SEPARATOR + "META-INF/application.xml");
// artifactEditModel
artifactEditModel = moduleCoreNature.getArtifactEditModelForRead(earModuleURI, this);
// earArtifactEdit
earArtifactEdit = (EARArtifactEdit) artifactEditModel.getAdapter(EARArtifactEdit.ADAPTER_TYPE);
} catch (CoreException e) {
e.printStackTrace();
} finally {
if (moduleCore != null)
moduleCore.dispose();
}
}
/*
* @see TestCase#tearDown()
*/
protected void tearDown() throws Exception {
deleteProject();
project = null;
earWorkbenchModule = null;
moduleCoreNature = null;
artifactEditModel = null;
earArtifactEdit = null;
super.tearDown();
}
/**
* Constructor for EARArtifactEditTest.
* @param name
*/
public EARArtifactEditTest(String name) {
super(name);
}
public void test_getJ2EEVersion() {
int j2eeVersion = earArtifactEdit.getJ2EEVersion();
String message = "J2EE version should be larger than zero";
assertTrue(message, j2eeVersion > 0);
}
public void test_getDeploymentDescriptorResource() {
Resource resource = earArtifactEdit.getDeploymentDescriptorResource();
assertNotNull(resource);
}
public void test_getEARArtifactEditForRead() {
EARArtifactEdit earArtifactEdit = EARArtifactEdit.getEARArtifactEditForRead(earWorkbenchModule);
assertNotNull(earArtifactEdit);
}
public void test_getEARArtifactEditForWrite() {
EARArtifactEdit earArtifactEdit = EARArtifactEdit.getEARArtifactEditForRead(earWorkbenchModule);
assertNotNull(earArtifactEdit);
}
public void test_isValidEARModule() throws UnresolveableURIException {
boolean valid = EARArtifactEdit.isValidEditableModule(earWorkbenchModule);
assertTrue(valid);
}
/*
* Class under test for void EARArtifactEdit(ArtifactEditModel)
*/
public void test_EARArtifactEdit1() {
EARArtifactEdit edit = new EARArtifactEdit(artifactEditModel);
assertNotNull(edit);
}
/*
* Class under test for void EARArtifactEdit(ModuleCoreNature, WorkbenchComponent, boolean)
*/
public void test_EARArtifactEdit2() {
EARArtifactEdit edit = new EARArtifactEdit(moduleCoreNature, earWorkbenchModule, true);
assertNotNull(edit);
}
public void test_getApplicationXmiResource() {
ApplicationResource appResource = earArtifactEdit.getApplicationXmiResource();
assertNotNull(appResource);
}
public void test_getApplication() {
Application application = earArtifactEdit.getApplication();
assertNotNull(application);
}
private IProject createProjectWithEARModule(String projectName) throws Exception {
// TODO: need a data model and operation to do that
project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
if (!project.exists()) {
// create project with one ear module
}
return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
}
private void deleteProject() {
// TODO
}
}