/** * Copyright 2007-2013 University Of Southern California * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package edu.isi.pegasus.planner.namespace; import edu.isi.pegasus.common.logging.LogManager; import edu.isi.pegasus.planner.test.DefaultTestSetup; import edu.isi.pegasus.planner.test.TestSetup; import java.util.LinkedList; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; /** * Test class to test the Pegasus namespace and check if it accepts the right keys * * @author Karan Vahi */ public class PegasusTest { private TestSetup mTestSetup; private LogManager mLogger; public PegasusTest() { } @BeforeClass public static void setUpClass() { } @AfterClass public static void tearDownClass() { } @Before public void setUp() { mTestSetup = new DefaultTestSetup(); mTestSetup.setInputDirectory( this.getClass() ); System.out.println( "Input Test Dir is " + mTestSetup.getInputDirectory() ); mLogger = mTestSetup.loadLogger( mTestSetup.loadPropertiesFromFile( ".properties", new LinkedList() )); mLogger.logEventStart( "test.pegasus.namespace.pegasus", "setup", "0" ); } @Test public void testcheckKey() { int set = 1; //should print mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.BUNDLE_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.BUNDLE_LOCAL_STAGE_IN_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.BUNDLE_LOCAL_STAGE_OUT_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.BUNDLE_REMOTE_STAGE_IN_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.BUNDLE_REMOTE_STAGE_OUT_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.BUNDLE_STAGE_IN_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.BUNDLE_STAGE_OUT_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CHAIN_STAGE_IN_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CHANGE_DIR_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CLUSTER_ARGUMENTS, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CLUSTER_LOCAL_STAGE_IN_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CLUSTER_LOCAL_STAGE_OUT_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CLUSTER_REMOTE_STAGE_IN_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CLUSTER_REMOTE_STAGE_OUT_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CLUSTER_STAGE_IN_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CLUSTER_STAGE_OUT_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.COLLAPSE_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CORES_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CREATE_AND_CHANGE_DIR_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.DISKSPACE_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.DATA_CONFIGURATION_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.ENABLE_FOR_DATA_REUSE_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.EXITCODE_FAILURE_MESSAGE, "dummy", Namespace.MERGE_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.EXITCODE_SUCCESS_MESSAGE, "dummy", Namespace.MERGE_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey(Pegasus.CHECKPOINT_TIME_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.GRIDSTART_ARGUMENTS_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.GRIDSTART_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.GRIDSTART_PATH_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.GROUP_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.JOB_AGGREGATOR_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey(Pegasus.NODES_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.LABEL_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.MAX_RUN_TIME, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.MAX_WALLTIME, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.MEMORY_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.PMC_PRIORITY_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.PMC_REQUEST_CPUS_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.PMC_REQUEST_MEMORY_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.PMC_TASK_ARGUMENTS, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.REMOTE_INITIALDIR_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.RUNTIME_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.STYLE_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.TRANSFER_ARGUMENTS_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.TRANSFER_PROXY_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.TRANSFER_SLS_ARGUMENTS_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.TRANSFER_SLS_THREADS_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.TRANSFER_THREADS_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.TYPE_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.WORKER_NODE_DIRECTORY_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.WORKER_NODE_DIRECTORY_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); //test resource requirement keys mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.RUNTIME_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.CORES_KEY, "2", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.DISKSPACE_KEY, "12", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.NODES_KEY, "3", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.PPN_KEY, "1", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.MEMORY_KEY, "100", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.QUEUE_KEY, "pegasusQ", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.PROJECT_KEY, "pegasus", Namespace.VALID_KEY ); mLogger.logEventCompletion(); //deprecated keys mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.COLLAPSER_KEY, "dummy", Namespace.DEPRECATED_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.DEPRECATED_BUNDLE_STAGE_IN_KEY, "dummy", Namespace.DEPRECATED_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey( Pegasus.DEPRECATED_CHANGE_DIR_KEY, "dummy", Namespace.DEPRECATED_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey(Pegasus.DEPRECATED_CHECKPOINT_TIME_KEY, "dummy", Namespace.VALID_KEY ); mLogger.logEventCompletion(); mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey(Pegasus.DEPRECATED_RUNTIME_KEY, "dummy", Namespace.DEPRECATED_KEY ); mLogger.logEventCompletion(); //other keys mLogger.logEventStart( "test.namespace.Pegasus", "set", Integer.toString(set++) ); testKey(Pegasus.CONDOR_QUOTE_ARGUMENTS_KEY, "true", Namespace.VALID_KEY ); mLogger.logEventCompletion(); } @After public void tearDown() { mLogger = null; mTestSetup = null; } /** * convenience method * * @param key * @param expected * @param actual */ private void testKey(String key, String value, Object expected ) { System.out.println( "Testing Key " + key ); Pegasus p = new Pegasus(); int result = p.checkKey( key, value ); assertEquals( key , expected, result); } }