/* * Copyright (C) 2003-2012 eXo Platform SAS. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.exoplatform.wcm.connector.collaboration; import org.apache.commons.lang.StringUtils; import org.exoplatform.BaseConnectorTestCase; import org.exoplatform.services.jcr.core.ManageableRepository; import org.exoplatform.services.rest.impl.ContainerResponse; import org.exoplatform.services.rest.wadl.research.HTTPMethods; import org.exoplatform.services.wcm.utils.WCMCoreUtils; import javax.jcr.Node; import javax.jcr.Session; import javax.ws.rs.core.Response; import java.util.Arrays; /** * Created by The eXo Platform SAS * Author : eXoPlatform * toannh@exoplatform.com * Dec 04/01, 2015 * Test all methods of OpenInOfficeConnector */ public class TestOpenInOfficeConnector extends BaseConnectorTestCase{ private final String OPEN_DOCUMENT_ON_DESKTOP_RESOURCE_KEY = "OpenInOfficeConnector.label.exo.remote-edit.desktop"; private final String OPEN_DOCUMENT_ON_DESKTOP_CSS_CLASS = "uiIconOpenOnDesktop"; private final String OPEN_DOCUMENT_IN_WORD_CSS_CLASS = "uiIcon16x16applicationmsword"; private final String OPEN_DOCUMENT_IN_WORD_RESOURCE_KEY = "OpenInOfficeConnector.label.exo.remote-edit.word"; private final String OPEN_DOCUMENT_IN_EXCEL_CSS_CLASS = "uiIcon16x16applicationxls"; private final String OPEN_DOCUMENT_IN_EXCEL_RESOURCE_KEY = "OpenInOfficeConnector.label.exo.remote-edit.excel"; private final String OPEN_DOCUMENT_IN_PPT_CSS_CLASS = "uiIcon16x16applicationvndopenxmlformats-officedocumentpresentationmlpresentation"; private final String OPEN_DOCUMENT_IN_PPT_RESOURCE_KEY = "OpenInOfficeConnector.label.exo.remote-edit.powerpoint"; OpenInOfficeConnector openInOfficeConnector =null; private ManageableRepository manageableRepository; public void setUp() throws Exception { super.setUp(); // Bind OpenInOfficeConnector REST service openInOfficeConnector = (OpenInOfficeConnector) this.container.getComponentInstanceOfType(OpenInOfficeConnector.class); this.binder.addResource(openInOfficeConnector, null); } public void testUpdateDocumentTitle() throws Exception{ String restPath = "/office/updateDocumentTitle?objId=collaboration:/sites/test.doc&lang=en"; applyUserSession("john", "gtn", "collaboration"); manageableRepository = repositoryService.getCurrentRepository(); Session session = WCMCoreUtils.getSystemSessionProvider().getSession(COLLABORATION_WS, manageableRepository); Node rootNode = session.getRootNode(); Node sites = rootNode.addNode("sites"); sites.addNode("test.doc"); rootNode.save(); ContainerResponse response = service(HTTPMethods.GET.toString(), restPath, StringUtils.EMPTY, null, null); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); } public void testGetDocumentInfos() throws Exception{ String word = "test.doc"; String excel = "test.xls"; String powerpoint = "test.ppt"; String other = "test.txt"; String[] resultWordActual = openInOfficeConnector.getDocumentInfos(word); String[] resultExcelActual = openInOfficeConnector.getDocumentInfos(excel); String[] resultPptActual = openInOfficeConnector.getDocumentInfos(powerpoint); String[] resultOtherActual = openInOfficeConnector.getDocumentInfos(other); String[] resultWordExpected = {OPEN_DOCUMENT_IN_WORD_RESOURCE_KEY, OPEN_DOCUMENT_IN_WORD_CSS_CLASS}; String[] resultExcelExpected = {OPEN_DOCUMENT_IN_EXCEL_RESOURCE_KEY, OPEN_DOCUMENT_IN_EXCEL_CSS_CLASS}; String[] resultPptExpected = {OPEN_DOCUMENT_IN_PPT_RESOURCE_KEY, OPEN_DOCUMENT_IN_PPT_CSS_CLASS}; String[] resultOtherExpected = {OPEN_DOCUMENT_ON_DESKTOP_RESOURCE_KEY, OPEN_DOCUMENT_ON_DESKTOP_CSS_CLASS}; assertTrue(Arrays.equals(resultWordActual, resultWordExpected)); assertTrue(Arrays.equals(resultExcelActual, resultExcelExpected)); assertTrue(Arrays.equals(resultPptActual, resultPptExpected)); assertTrue(Arrays.equals(resultOtherActual, resultOtherExpected)); } public void tearDown() throws Exception { super.tearDown(); } }