/* * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * * This file is part of jAPS software. * jAPS is a free software; * you can redistribute it and/or modify it * under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2. * * See the file License for the specific language governing permissions * and limitations under the License * * * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * */ package test.com.agiletec.plugins.jacms.apsadmin.resource; import test.com.agiletec.apsadmin.ApsAdminBaseTestCase; import com.agiletec.aps.system.services.category.Category; import com.agiletec.aps.system.services.group.Group; import com.agiletec.plugins.jacms.apsadmin.resource.ResourceFinderAction; import com.opensymphony.xwork2.Action; /** * @author E.Santoboni */ public class TestResourceFinderAction extends ApsAdminBaseTestCase { public void testViewImageResources() throws Throwable { String result = this.executeShowList("admin", "Image"); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); String resourceTypeCode = action.getResourceTypeCode(); assertNotNull(resourceTypeCode); assertEquals("Image", resourceTypeCode); assertEquals(3, action.getResources().size()); Category root = ((ResourceFinderAction) action).getCategoryRoot(); assertNotNull(root); assertEquals("Home", root.getTitle()); } public void testViewAttachResources() throws Throwable { String result = this.executeShowList("admin", "Attach"); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); String resourceTypeCode = action.getResourceTypeCode(); assertNotNull(resourceTypeCode); assertEquals("Attach", resourceTypeCode); assertEquals(1, action.getResources().size()); Category root = ((ResourceFinderAction) action).getCategoryRoot(); assertNotNull(root); assertEquals("Home", root.getTitle()); } public void testViewImageResourcesByCustomerUser() throws Throwable { String result = this.executeShowList("editorCustomers", "Image"); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); String resourceTypeCode = action.getResourceTypeCode(); assertNotNull(resourceTypeCode); assertEquals("Image", resourceTypeCode); assertEquals(1, action.getResources().size()); Category root = ((ResourceFinderAction) action).getCategoryRoot(); assertNotNull(root); assertEquals("Home", root.getTitle()); } public void testViewImagesWithUserNotAllowed() throws Throwable { String result = this.executeShowList("pageManagerCustomers", "Image"); assertEquals("userNotAllowed", result); } private String executeShowList(String userName, String resourceTypeCode) throws Throwable { this.setUserOnSession(userName); this.initAction("/do/jacms/Resource", "list"); this.addParameter("resourceTypeCode", resourceTypeCode); return this.executeAction(); } public void testSearchResources_1() throws Throwable { String result = this.executeSearchResource("admin", "Attach", "WrongDescription", null, null, null); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); assertTrue(action.getResources().isEmpty()); assertEquals("WrongDescription", action.getText()); } public void testSearchResources_2() throws Throwable { String result = this.executeSearchResource("admin", "Attach", "", null, null, null); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); assertEquals(1, action.getResources().size()); assertEquals("", action.getText()); } public void testSearchResources_3() throws Throwable { String result = this.executeSearchResource("admin", "Image", null, null, "jpg", null); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); assertEquals(3, action.getResources().size()); assertEquals("jpg", action.getFileName()); result = this.executeSearchResource("admin", "Image", null, null, "aps", null); assertEquals(Action.SUCCESS, result); action = (ResourceFinderAction) this.getAction(); assertEquals(2, action.getResources().size()); assertEquals("aps", action.getFileName()); result = this.executeSearchResource("admin", "Image", null, null, "aps.JPG", null); assertEquals(Action.SUCCESS, result); action = (ResourceFinderAction) this.getAction(); assertEquals(1, action.getResources().size()); assertEquals("aps.JPG", action.getFileName()); } public void testSearchByCategory() throws Throwable { String result = this.executeSearchResource("admin", "Image", "", null, null, "resCat1"); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); assertEquals(1, action.getResources().size()); assertEquals("", action.getText()); assertEquals("resCat1", action.getCategoryCode()); result = this.executeSearchResource("admin", "Image", "log", null, null, "resCat1"); assertEquals(Action.SUCCESS, result); action = (ResourceFinderAction) this.getAction(); assertEquals(1, action.getResources().size()); result = this.executeSearchResource("admin", "Image", "japs", null, null, "resCat1"); assertEquals(Action.SUCCESS, result); action = (ResourceFinderAction) this.getAction(); assertTrue(action.getResources().isEmpty()); } public void testSearchByGroup_1() throws Throwable { String result = this.executeSearchResource("admin", "Image", null, Group.FREE_GROUP_NAME, null, null); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); assertEquals(2, action.getResources().size()); result = this.executeSearchResource("admin", "Image", null, Group.ADMINS_GROUP_NAME, null, null); assertEquals(Action.SUCCESS, result); action = (ResourceFinderAction) this.getAction(); assertEquals(0, action.getResources().size()); result = this.executeSearchResource("admin", "Image", null, "customers", null, null); assertEquals(Action.SUCCESS, result); action = (ResourceFinderAction) this.getAction(); assertEquals(1, action.getResources().size()); } public void testSearchByGroup_2() throws Throwable { String result = this.executeSearchResource("editorCoach", "Image", null, Group.FREE_GROUP_NAME, null, null); assertEquals(Action.SUCCESS, result); ResourceFinderAction action = (ResourceFinderAction) this.getAction(); assertEquals(0, action.getResources().size()); result = this.executeSearchResource("editorCoach", "Image", null, Group.ADMINS_GROUP_NAME, null, null); assertEquals(Action.SUCCESS, result); action = (ResourceFinderAction) this.getAction(); assertEquals(0, action.getResources().size()); result = this.executeSearchResource("editorCoach", "Image", null, "customers", null, null); assertEquals(Action.SUCCESS, result); action = (ResourceFinderAction) this.getAction(); assertEquals(1, action.getResources().size()); } private String executeSearchResource(String username, String resourceTypeCode, String text, String ownerGroupName, String fileName, String categoryCode) throws Throwable { this.setUserOnSession(username); this.initAction("/do/jacms/Resource", "search"); this.addParameter("resourceTypeCode", resourceTypeCode); this.addParameter("text", text); this.addParameter("fileName", fileName); this.addParameter("ownerGroupName", ownerGroupName); this.addParameter("categoryCode", categoryCode); return this.executeAction(); } }