Package com.agiletec.plugins.jpremoteresourceloader.apsadmin.resource

Source Code of com.agiletec.plugins.jpremoteresourceloader.apsadmin.resource.TestRemoteResourceLoaderAction

package com.agiletec.plugins.jpremoteresourceloader.apsadmin.resource;

import java.io.File;
import java.util.Collection;
import java.util.List;
import java.util.Map;

import org.apache.commons.io.FileUtils;

import com.agiletec.plugins.jpremoteresourceloader.apsadmin.ApsAdminPluginBaseTestCase;

import com.agiletec.apsadmin.system.ApsAdminSystemConstants;
import com.agiletec.plugins.jacms.aps.system.JacmsSystemConstants;
import com.agiletec.plugins.jacms.aps.system.services.resource.IResourceManager;
import com.agiletec.plugins.jpremoteresourceloader.apsadmin.resource.RemoteResourceLoaderAction;
import com.opensymphony.xwork2.Action;

public class TestRemoteResourceLoaderAction extends ApsAdminPluginBaseTestCase {

  @Override
  protected void setUp() throws Exception {
    super.setUp();
    this.init();
  }

  public void testNew() throws Throwable {
    String result = this.executeNew();
    assertEquals(Action.SUCCESS, result);
  }
 
  public void testAddValidation() throws Throwable {

    //  no url param
    this.initAction("/do/jpremoteresourceloader/Resource", "save");
    this.setUserOnSession("admin");
    this.addParameter("ResourceTypeCode", "Image");
    this.addParameter("strutsAction", "1");
    this.addParameter("descr", "Image");
    this.addParameter("alternateName", "Image");
    this.addParameter("mainGroup", "free");
   
    String result = this.executeAction();
    assertEquals(Action.INPUT, result);
   
    RemoteResourceLoaderAction action = (RemoteResourceLoaderAction) this.getAction();
    assertNotNull(action);
   
    Collection<String> actionErrors = action.getActionErrors();
    assertNotNull(actionErrors);
    assertEquals(0, actionErrors.size());

    Map<String,List<String>> fieldErrors = action.getFieldErrors();
    assertNotNull(fieldErrors);
    assertEquals(1, fieldErrors.size());
   
    // no well formed url
    this.initAction("/do/jpremoteresourceloader/Resource", "save");
    this.setUserOnSession("admin");
    this.addParameter("ResourceTypeCode", "Image");
    this.addParameter("strutsAction", "1");
    this.addParameter("descr", "Image");
    this.addParameter("alternateName", "Image");
    this.addParameter("mainGroup", "free");
    this.addParameter("url", "fakeURL");
   
    result = this.executeAction();
    assertEquals(Action.INPUT, result);
   
    action = (RemoteResourceLoaderAction) this.getAction();
    assertNotNull(action);
   
    actionErrors = action.getActionErrors();
    assertNotNull(actionErrors);
    assertEquals(0, actionErrors.size());

    fieldErrors = action.getFieldErrors();
    assertNotNull(fieldErrors);
    assertEquals(1, fieldErrors.size());
   
    // not valid url
    this.initAction("/do/jpremoteresourceloader/Resource", "save");
    this.setUserOnSession("admin");
    this.addParameter("ResourceTypeCode", "Image");
    this.addParameter("strutsAction", "1");
    this.addParameter("descr", "Image");
    this.addParameter("alternateName", "Image");
    this.addParameter("mainGroup", "free");
    this.addParameter("url", "http://www.google.com/entando/resources/static/img/headerLogo_background.jpg");
   
    result = this.executeAction();
    assertEquals(Action.INPUT, result);
   
    action = (RemoteResourceLoaderAction) this.getAction();
    assertNotNull(action);
   
    actionErrors = action.getActionErrors();
    assertNotNull(actionErrors);
    assertEquals(0, actionErrors.size());

    fieldErrors = action.getFieldErrors();
    assertNotNull(fieldErrors);
    assertEquals(1, fieldErrors.size());
   
  }

  public void testSaveHttp() throws Throwable {
    String result = this.executeSaveFromHttp(NAME_DESCR)
    assertEquals(Action.SUCCESS, result);
    List<String> resIds = this._resourceManager.searchResourcesId("Image", NAME_DESCR, null, null);
    assertEquals(1, resIds.size());
  }

  public void testSaveFtp() throws Throwable {
    String result = this.executeSaveFromFtp(NAME_DESCR);
    assertEquals(Action.SUCCESS, result);
    List<String> resIds = this._resourceManager.searchResourcesId("Image", NAME_DESCR, null, null);
    assertEquals(1, resIds.size());
  }

  public void testSaveFile() throws Throwable {
    File file = new File("admin/test/entando_logo.jpg");
    File destFile = new File("admin/test/jpremoteresourceloader_entando_logo.jpg");
    FileUtils.copyFile(file, destFile, true);
    String result = this.executeSaveFromFile(NAME_DESCR, destFile.getAbsolutePath())
    assertEquals(Action.INPUT, result);
//    assertEquals(Action.SUCCESS, result);
//    List<String> resIds = this._resourceManager.searchResourcesId("Image", NAME_DESCR, null, null);
//    assertEquals(1, resIds.size());
  }

  public void testSaveFileFromDefaultDir_1() throws Throwable {
    String result = this.executeSaveFromDefaultDir(NAME_DESCR, "label.jpg")
    assertEquals(Action.SUCCESS, result);
    List<String> resIds = this._resourceManager.searchResourcesId("Image", NAME_DESCR, null, null);
    assertEquals(1, resIds.size());
  }
  public void testSaveFileFromDefaultDir_2() throws Throwable {
    String result = this.executeSaveFromDefaultDir(NAME_DESCR, "/label.jpg")
    assertEquals(Action.SUCCESS, result);
    List<String> resIds = this._resourceManager.searchResourcesId("Image", NAME_DESCR, null, null);
    assertEquals(1, resIds.size());
  }
  public void testSaveFileFromDefaultDir_3() throws Throwable {
    String result = this.executeSaveFromDefaultDir(NAME_DESCR, "Immagini/teschio.png")
    assertEquals(Action.SUCCESS, result);
    List<String> resIds = this._resourceManager.searchResourcesId("Image", NAME_DESCR, null, null);
    assertEquals(1, resIds.size());
  }
  public void testSaveFileFromDefaultDir_4() throws Throwable {
    String result = this.executeSaveFromDefaultDir(NAME_DESCR, "/Immagini/teschio.png")
    assertEquals(Action.SUCCESS, result);
    List<String> resIds = this._resourceManager.searchResourcesId("Image", NAME_DESCR, null, null);
    assertEquals(1, resIds.size());
  }

  private String executeNew() throws Throwable {
    this.setUserOnSession("admin");
    this.initAction("/do/jpremoteresourceloader/Resource", "new");
    return this.executeAction();
  }

  private String executeSaveFromHttp(String nameDescr) throws Throwable {
    this.setUserOnSession("admin");
    this.initAction("/do/jpremoteresourceloader/Resource", "save");
    this.addParameter("url", "http://www.japsportal.org/jAPSPortal/resources/cms/images/box3Interno_1_d0.jpg");
    this.addParameter("alternateName", nameDescr);
    this.addParameter("descr", nameDescr);
    this.addParameter("resourceTypeCode", "Image");
    this.addParameter("strutsAction", ApsAdminSystemConstants.ADD);
    this.addParameter("mainGroup", "free");
    return this.executeAction();
  }

  private String executeSaveFromFtp(String nameDescr) throws Throwable {
    this.setUserOnSession("admin");
    this.initAction("/do/jpremoteresourceloader/Resource", "save");
    this.addParameter("url", "ftp://spuddu:12345678@spuddu.altervista.org/tipa.png");
    this.addParameter("alternateName", nameDescr);
    this.addParameter("descr", nameDescr);
    this.addParameter("resourceTypeCode", "Image");
    this.addParameter("strutsAction", ApsAdminSystemConstants.ADD);
    this.addParameter("mainGroup", "free");
    return this.executeAction();
  }

  private String executeSaveFromFile(String nameDescr, String path) throws Throwable {
    this.setUserOnSession("admin");
    this.initAction("/do/jpremoteresourceloader/Resource", "save");
    this.addParameter("url", "file://" + path);
    this.addParameter("alternateName", nameDescr);
    this.addParameter("descr", nameDescr);
    this.addParameter("resourceTypeCode", "Image");
    this.addParameter("strutsAction", ApsAdminSystemConstants.ADD);
    this.addParameter("mainGroup", "free");
    return this.executeAction();
  }

  private String executeSaveFromDefaultDir(String nameDescr, String path) throws Throwable {
    this.setUserOnSession("admin");
    this.initAction("/do/jpremoteresourceloader/Resource", "save");
    this.addParameter("url", path);
    this.addParameter("alternateName", nameDescr);
    this.addParameter("descr", nameDescr);
    this.addParameter("resourceTypeCode", "Image");
    this.addParameter("strutsAction", ApsAdminSystemConstants.ADD);
    this.addParameter("mainGroup", "free");
    return this.executeAction();
  }

  @Override
  protected void tearDown() throws Exception {
    super.tearDown();
    List<String> resIds = this._resourceManager.searchResourcesId("Image", NAME_DESCR, null, null);
    if (null != resIds && resIds.size() > 0) {
      String resId = resIds.get(0);
      this._resourceManager.deleteResource(this._resourceManager.loadResource(resId));
      File destFile = new File("admin/test/jpremoteresourceloader_entando_logo.jpg");
      if (destFile.exists()) {
        FileUtils.forceDelete(destFile);
      }
    }
  }
 
  private void init() {
    this._resourceManager = (IResourceManager) this.getService(JacmsSystemConstants.RESOURCE_MANAGER);
  }
 
  private IResourceManager _resourceManager;
  private static final String  NAME_DESCR = "testFile";
 
}
TOP

Related Classes of com.agiletec.plugins.jpremoteresourceloader.apsadmin.resource.TestRemoteResourceLoaderAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.