/* * 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.viewer; import javax.jcr.Node; import javax.jcr.Session; import javax.ws.rs.core.Response; 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; /** * Created by The eXo Platform SAS * Author : Nguyen The Vinh From ECM Of eXoPlatform * vinh_nguyen@exoplatform.com * 22 Aug 2012 */ public class TestPDFViewerRESTService extends BaseConnectorTestCase { private static final String restPath = "/pdfviewer/repository/collaboration/1/0.0/1.0/"; private static final String WrongNumberPath = "/pdfviewer/repository/collaboration/1a/0.a/1.b/"; private ManageableRepository manageableRepository; public void setUp() throws Exception { super.setUp(); PDFViewerRESTService pdfViewerRestService = (PDFViewerRESTService) this.container.getComponentInstanceOfType(PDFViewerRESTService.class); this.binder.addResource(pdfViewerRestService, null); } public void tearDown() throws Exception { super.tearDown(); } //http://localhost:8080/ecmdemo/rest-ecmdemo4d725eb57f0001010030cc50eb140189?2012-08-22T15:28:05.522+07:00 public void testGetFavoriteByUser() throws Exception{ /* Prepare the favourite nodes */ manageableRepository = repositoryService.getCurrentRepository(); Session session = WCMCoreUtils.getSystemSessionProvider().getSession(COLLABORATION_WS, manageableRepository); //Test the main case Node node = (Node) session.getItem("/metro.pdf"); String restUUIDPath = restPath + node.getUUID(); ContainerResponse response = service(HTTPMethods.GET.toString(), restUUIDPath, StringUtils.EMPTY, null, null); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); response = service(HTTPMethods.GET.toString(), restUUIDPath, StringUtils.EMPTY, null, null); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); //Cover the case of wrong number format input restUUIDPath = WrongNumberPath + node.getUUID(); response = service(HTTPMethods.GET.toString(), restUUIDPath, StringUtils.EMPTY, null, null); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); //Test pdfViewer with doc file node = (Node) session.getItem("/conditions.doc"); restUUIDPath = restPath + node.getUUID(); response = service(HTTPMethods.GET.toString(), restUUIDPath, StringUtils.EMPTY, null, null); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); } }