| package org.eclipse.wst.sse.sieditor.search.ui.actions; |
| |
| import org.eclipse.core.resources.IFile; |
| import org.eclipse.emf.common.util.URI; |
| import org.eclipse.emf.ecore.resource.ResourceSet; |
| import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; |
| import org.eclipse.jface.viewers.ISelection; |
| import org.eclipse.wst.sse.sieditor.model.api.IModelObject; |
| import org.eclipse.wst.sse.sieditor.model.api.IWsdlModelRoot; |
| import org.eclipse.wst.sse.sieditor.model.impl.WSDLFactory; |
| import org.eclipse.wst.sse.sieditor.model.wsdl.api.IDescription; |
| import org.eclipse.wst.sse.sieditor.model.xsd.api.ISchema; |
| import org.eclipse.wst.sse.sieditor.search.ui.tree.FileNode; |
| import org.eclipse.wst.sse.sieditor.test.util.ProjectBasedTest; |
| import org.eclipse.wst.sse.sieditor.test.util.ResourceUtils; |
| import org.eclipse.wst.sse.sieditor.test.util.SIEditorBaseTest; |
| import org.eclipse.wst.sse.sieditor.ui.DataTypesEditor; |
| import org.eclipse.wst.sse.sieditor.ui.ServiceInterfaceEditor; |
| import org.eclipse.wst.sse.sieditor.ui.v2.nodes.ITreeNode; |
| import org.eclipse.wst.wsdl.Definition; |
| import org.eclipse.wst.wsdl.util.WSDLResourceImpl; |
| import org.junit.Assert; |
| import org.junit.BeforeClass; |
| import org.junit.Test; |
| import org.mockito.Mockito; |
| |
| @SuppressWarnings("nls") |
| public class OpenInEditorActionTest extends ProjectBasedTest { |
| |
| private IFile copiedFileIntoTestProject; |
| |
| @BeforeClass |
| public void setUp() throws Exception { |
| super.setUp(); |
| |
| copiedFileIntoTestProject = ResourceUtils.copyFileIntoTestProject("pub/simple/NewWSDLFileCyclingTypes.wsdl", |
| SIEditorBaseTest.Document_FOLDER_NAME, this.getProject(), "ECC_CUSTOMER002QR.wsdl"); |
| |
| setDeleteProjectOnTearDown(); |
| } |
| |
| @Test |
| public void testGetFileFromTreeNode() { |
| OpenInEditorActionMock openInEditorActionMock = new OpenInEditorActionMock(Mockito.mock(ISelection.class)); |
| FileNode fileNode = new FileNode(copiedFileIntoTestProject, Mockito.mock(ITreeNode.class), false); |
| Assert.assertEquals(copiedFileIntoTestProject, openInEditorActionMock.getFileFromTreeNode(fileNode)); |
| |
| ResourceSet resourceSet = new ResourceSetImpl(); |
| |
| WSDLResourceImpl resource = (WSDLResourceImpl) resourceSet.getResource( |
| URI.createFileURI(copiedFileIntoTestProject.getLocation().toFile().getAbsolutePath()), true); |
| Definition definition = resource.getDefinition(); |
| IWsdlModelRoot modelRoot = WSDLFactory.getInstance().createWSDLModelRoot(definition); |
| |
| ITreeNode treeNode = Mockito.mock(ITreeNode.class); |
| Mockito.when(treeNode.getModelObject()).thenReturn(modelRoot.getModelObject()); |
| |
| Assert.assertEquals(copiedFileIntoTestProject, openInEditorActionMock.getFileFromTreeNode(treeNode)); |
| } |
| |
| @Test |
| public void testGetEditorId() { |
| OpenInEditorActionMock openInEditorActionMock = new OpenInEditorActionMock(Mockito.mock(ISelection.class)); |
| |
| FileNode treeNode = Mockito.mock(FileNode.class); |
| Mockito.when(treeNode.isXsdFile()).thenReturn(false); |
| String editorId = openInEditorActionMock.getEditorId(treeNode); |
| Assert.assertEquals(ServiceInterfaceEditor.EDITOR_ID, editorId); |
| |
| Mockito.when(treeNode.isXsdFile()).thenReturn(true); |
| editorId = openInEditorActionMock.getEditorId(treeNode); |
| Assert.assertEquals(DataTypesEditor.EDITOR_ID, editorId); |
| |
| IModelObject modelObject = Mockito.mock(IModelObject.class); |
| Mockito.when(modelObject.getRoot()).thenReturn(Mockito.mock(ISchema.class)); |
| ITreeNode treeNode2 = Mockito.mock(ITreeNode.class); |
| Mockito.when(treeNode2.getModelObject()).thenReturn(modelObject); |
| editorId = openInEditorActionMock.getEditorId(treeNode2); |
| Assert.assertEquals(DataTypesEditor.EDITOR_ID, editorId); |
| |
| Mockito.when(modelObject.getRoot()).thenReturn(Mockito.mock(IDescription.class)); |
| editorId = openInEditorActionMock.getEditorId(treeNode2); |
| Assert.assertEquals(ServiceInterfaceEditor.EDITOR_ID, editorId); |
| } |
| |
| @Test |
| public void testGetText() { |
| Assert.assertNotNull(new OpenInEditorAction(Mockito.mock(ISelection.class)).getText()); |
| } |
| |
| @Override |
| protected String getProjectName() { |
| return "OpenInEditorActionTest"; |
| } |
| |
| private class OpenInEditorActionMock extends OpenInEditorAction { |
| |
| public OpenInEditorActionMock(ISelection selection) { |
| super(selection); |
| } |
| |
| @Override |
| protected String getEditorId(ITreeNode treeNode) { |
| return super.getEditorId(treeNode); |
| } |
| |
| @Override |
| protected IFile getFileFromTreeNode(ITreeNode selectedTreeNode) { |
| return super.getFileFromTreeNode(selectedTreeNode); |
| } |
| } |
| |
| } |