You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by ed...@apache.org on 2003/07/22 15:57:47 UTC

cvs commit: cocoon-lenya/src/test/org/apache/lenya/cms/task DocumentDeactivateTaskTest.java

edith       2003/07/22 06:57:47

  Added:       src/test/org/apache/lenya/cms/task
                        DocumentDeactivateTaskTest.java
  Log:
  Junit test for the "Deactivate a document" task
  
  Revision  Changes    Path
  1.1                  cocoon-lenya/src/test/org/apache/lenya/cms/task/DocumentDeactivateTaskTest.java
  
  Index: DocumentDeactivateTaskTest.java
  ===================================================================
  /*
   * <License>
   * The Apache Software License
   *
   * Copyright (c) 2002 lenya. All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without modification,
   * are permitted provided that the following conditions are met:
   *
   * 1. Redistributions of source code must retain the above copyright notice, this
   *    list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright notice, this
   *    list of conditions and the following disclaimer in the documentation and/or
   *    other materials provided with the distribution.
   *
   * 3. All advertising materials mentioning features or use of this software must
   *    display the following acknowledgment: "This product includes software developed
   *    by lenya (http://www.lenya.org)"
   *
   * 4. The name "lenya" must not be used to endorse or promote products derived from
   *    this software without prior written permission. For written permission, please
   *    contact contact@lenya.org
   *
   * 5. Products derived from this software may not be called "lenya" nor may "lenya"
   *    appear in their names without prior written permission of lenya.
   *
   * 6. Redistributions of any form whatsoever must retain the following acknowledgment:
   *    "This product includes software developed by lenya (http://www.lenya.org)"
   *
   * THIS SOFTWARE IS PROVIDED BY lenya "AS IS" WITHOUT ANY WARRANTY EXPRESS OR IMPLIED,
   * INCLUDING THE WARRANTY OF NON-INFRINGEMENT AND THE IMPLIED WARRANTIES OF MERCHANTI-
   * BILITY AND FITNESS FOR A PARTICULAR PURPOSE. lenya WILL NOT BE LIABLE FOR ANY DAMAGES
   * SUFFERED BY YOU AS A RESULT OF USING THIS SOFTWARE. IN NO EVENT WILL lenya BE LIABLE
   * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR LOST PROFITS EVEN IF lenya HAS
   * BEEN ADVISED OF THE POSSIBILITY OF THEIR OCCURRENCE. lenya WILL NOT BE LIABLE FOR ANY
   * THIRD PARTY CLAIMS AGAINST YOU.
   *
   * Lenya includes software developed by the Apache Software Foundation, W3C,
   * DOM4J Project, BitfluxEditor and Xopus.
   * </License>
   */
  package org.apache.lenya.cms.task;
  
  import java.io.File;
  import junit.framework.Test;
  import junit.framework.TestSuite;
  import junit.textui.TestRunner;
  
  import org.apache.avalon.framework.parameters.Parameters;
  import org.apache.lenya.cms.PublicationHelper;
  import org.apache.lenya.cms.publication.DefaultSiteTree;
  import org.apache.lenya.cms.publication.SiteTree;
  import org.apache.lenya.cms.publication.SiteTreeNode;
  
  
  /**
   * Class for testing the task to deactivate a document.
   * Extend the AntTask class.
   * @author edith
   */
  public class DocumentDeactivateTaskTest extends AntTaskTest {
  
  	private long time = 0;
  
  	/**
       * Creates a new DocumentDeactivateTaskTest object.
  	 * @param test The test.
  	 */
  	public DocumentDeactivateTaskTest(String test) {
  		super(test);
  	}
  
  	/** 
  	 * Creates a test suite.
  	 * @return Test 
  	 **/
  	public static Test getSuite() {
  		return new TestSuite(DocumentDeactivateTaskTest.class);
  	}
  
  	/**
  	 * The main program for the DocumentDeactivateTaskTest class
  	 *
  	 * @param args The command line arguments
  	 */
  	public static void main(String[] args) {
  		AntTaskTest.initialize(args);
  		TestRunner.run(getSuite());
  	}
  
  	public static final String DOCUMENT_ID = "tutorial";
  	public static final String AUTHORING_PATH = "content/authoring".replace('/', File.separatorChar);
  	public static final String LIVE_PATH = "content/live".replace('/', File.separatorChar);
  	public static final String TREE_FILE = "sitetree.xml";
  	
  	/**
  	 * @see org.apache.lenya.cms.task.AntTaskTest#getTaskParameters()
  	 **/
  	protected Parameters getTaskParameters() {
  		Parameters parameters = super.getTaskParameters();
  		parameters.setParameter("properties.node.firstdocumentid", DOCUMENT_ID);
  		return parameters;
  	}
      
  	/**
  	 * Returns the target test.
  	 * @return target.
  	 */
  	protected String getTarget() {
  		return "deactivateDocument";
  	}
  
  	/** (non-Javadoc)
       * @see org.apache.lenya.cms.task.AntTaskTest#prepareTest()
       */
      protected void prepareTest() throws Exception {
  		File publicationDirectory = PublicationHelper.getPublication().getDirectory();
          String publicationPath = publicationDirectory.getAbsolutePath()+ File.separator; 
  
  
  		// TODO generate the resources  
  }
  
  	/** (non-Javadoc)
       * @see org.apache.lenya.cms.task.AntTaskTest#evaluateTest()
       */
      protected void evaluateTest() throws Exception {
  		File publicationDirectory = PublicationHelper.getPublication().getDirectory();
  		String publicationPath = publicationDirectory.getAbsolutePath(); 
          File authoringDirectory = new File(publicationPath, AUTHORING_PATH);
  		File liveDirectory = new File(publicationPath, LIVE_PATH);
          
  		String filepath = DOCUMENT_ID + File.separator + "index.xml";  
  
  		File authoringDocumentFile = new File(authoringDirectory, filepath);
          assertTrue(authoringDocumentFile.exists());
  		System.out.println("Document exists already in authoring: " + authoringDocumentFile.getAbsolutePath());
  		File liveDocumentFile = new File(liveDirectory, filepath);
  		assertFalse(liveDocumentFile.exists());
  		System.out.println("Document was deleted from live: " + liveDocumentFile.getAbsolutePath());
  
          //TODO evaluation of resources, meta, workflow
          
          File authoringSitetreeFile = new File(authoringDirectory, TREE_FILE);
  		File liveSitetreeFile = new File(liveDirectory, TREE_FILE);
          
  		SiteTree authoringSitetree = new DefaultSiteTree(authoringSitetreeFile);
  		SiteTreeNode node = authoringSitetree.getNode(DOCUMENT_ID);
  		assertNotNull(node);
  		System.out.println("Sitetree node with id "+node.getId()+"is always in authoring");
  		SiteTree liveSitetree = new DefaultSiteTree(liveSitetreeFile);
  		SiteTreeNode livenode = liveSitetree.getNode(DOCUMENT_ID);
  		assertNull(livenode);
  		System.out.println("Sitetree node for document id "+DOCUMENT_ID+" was deleted from the live tree");
  	}
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org