/*
* This file is part of the WfMOpen project.
* Copyright (C) 2001-2003 Danet GmbH (www.danet.de), GS-AN.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: ProcessRelevantDataTests.java 2550 2007-10-22 14:00:54Z $
*/
package load;
import java.util.HashMap;
import java.util.Map;
import javax.security.auth.login.LoginException;
import de.danet.an.util.junit.EJBClientTest;
import de.danet.an.util.junit.NamedTestGroup;
import de.danet.an.workflow.omgcore.ProcessData;
import de.danet.an.workflow.api.DefaultProcessData;
import com.clarkware.junitperf.ConstantTimer;
import com.clarkware.junitperf.LoadTest;
import common.STProjectLoginContext;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* This class provides ...
*
* @author <a href="weidauer@danet.de">Christian Weidauer</a>
* @version $Revision: 2550 $
*/
public class ProcessRelevantDataTests extends TestCase {
private static STProjectLoginContext plc = null;
static {
try {
plc = new STProjectLoginContext();
plc.login();
} catch (LoginException e) {
throw new IllegalStateException (e.getMessage ());
}
}
/**
* Creates an instance of <code>ProcessRelevantDataTests</code>
* @param name the test suite name
*/
public ProcessRelevantDataTests (String name) {
super (name);
}
/**
* Make this test suite.
* @return the test suite
*/
public static Test suite() {
TestSuite rootSuite = new TestSuite();
rootSuite.addTest (prepareSuite());
Map tg = new HashMap ();
tg.put ("title",
"Create processes with a variable number of process datas "
+ "and start them");
rootSuite.addTest (new NamedTestGroup (createAndStartSuite(),
"TestGroup", tg));
tg = new HashMap ();
tg.put ("title",
"Create processes with a variable number of process datas, "
+ "initialize and start them ");
rootSuite.addTest (new NamedTestGroup (createStartAndInitializeSuite(),
"TestGroup", tg));
return new EJBClientTest (plc, rootSuite);
}
private static TestSuite prepareSuite() {
TestSuite suite = new TestSuite();
suite.addTest(new GenericTest("prepareForCreateProcess",
"A5T6comCyNoImplPrRelData5"));
suite.addTest(new GenericTest("prepareForCreateProcess",
"A5T6comCyNoImplPrRelData10"));
suite.addTest(new GenericTest("prepareForCreateProcess",
"A5T6comCyNoImplPrRelData20"));
return suite;
}
private static TestSuite createAndStartSuite() {
TestSuite suite = new TestSuite();
addTest(suite, "5 Process Relevant Datas and 5 Activities "
+ "(A5T6comCyNoImplPrRelData5)",
new GenericTest("createAndStartProcess",
"A5T6comCyNoImplPrRelData5"));
addTest(suite, "10 Process Relevant Datas and 5 Activities "
+ " (A5T6comCyNoImplPrRelData10)",
new GenericTest("createAndStartProcess",
"A5T6comCyNoImplPrRelData10"));
addTest(suite, "20 Process Relevant Datas and 5 Activities "
+ " (A5T6comCyNoImplPrRelData20)",
new GenericTest("createAndStartProcess",
"A5T6comCyNoImplPrRelData20"));
return suite;
}
private static TestSuite createStartAndInitializeSuite() {
TestSuite suite = new TestSuite();
ProcessData initialProcessData5 = new DefaultProcessData();
initialProcessData5.put("d1", "Initial Data 1");
initialProcessData5.put("d2", "Initial Data 2");
initialProcessData5.put("d3", "Initial Data 3");
initialProcessData5.put("d4", "Initial Data 4");
initialProcessData5.put("d5", "Initial Data 5");
addTest(suite, "5 Process Relevant Datas And 5 Activities "
+ " (A5T6comCyNoImplPrRelData5)",
new GenericTest("createStartAndInitializeProcess",
"A5T6comCyNoImplPrRelData5",
initialProcessData5));
ProcessData initialProcessData10
= new DefaultProcessData(initialProcessData5);
initialProcessData10.put("d6", "Initial Data 6");
initialProcessData10.put("d7", "Initial Data 7");
initialProcessData10.put("d8", "Initial Data 8");
initialProcessData10.put("d9", "Initial Data 9");
initialProcessData10.put("d10", "Initial Data 10");
addTest(suite, "10 Process Relevant Datas And 5 Activities "
+ " (A5T6comCyNoImplPrRelData10)",
new GenericTest("createStartAndInitializeProcess",
"A5T6comCyNoImplPrRelData10",
initialProcessData10));
ProcessData initialProcessData20
= new DefaultProcessData(initialProcessData10);
initialProcessData20.put("d11", "Initial Data 11");
initialProcessData20.put("d12", "Initial Data 12");
initialProcessData20.put("d13", "Initial Data 13");
initialProcessData20.put("d14", "Initial Data 14");
initialProcessData20.put("d15", "Initial Data 15");
initialProcessData20.put("d16", "Initial Data 16");
initialProcessData20.put("d17", "Initial Data 17");
initialProcessData20.put("d18", "Initial Data 18");
initialProcessData20.put("d19", "Initial Data 19");
initialProcessData20.put("d20", "Initial Data 20");
addTest(suite, "20 Process Relevant Datas And 5 Activities "
+ "(A5T6comCyNoImplPrRelData10)",
new GenericTest("createStartAndInitializeProcess",
"A5T6comCyNoImplPrRelData20",
initialProcessData20));
return suite;
}
private static void addTest (TestSuite parentSuite, String title,
Test testCase) {
TestSuite suite = new TestSuite ();
Map sas = new HashMap ();
sas.put ("users", "1");
suite.addTest
(new NamedTestGroup
(new LoadTest(testCase, 1, 20, new ConstantTimer(10)),
"Samples", sas));
suite.addTest(GenericTest.cleaningSuite());
sas.put ("users", "2");
suite.addTest
(new NamedTestGroup
(new LoadTest(testCase, 2, 10, new ConstantTimer(10)),
"Samples", sas));
suite.addTest(GenericTest.cleaningSuite());
sas.put ("users", "4");
suite.addTest
(new NamedTestGroup
(new LoadTest(testCase, 4, 5, new ConstantTimer(10)),
"Samples", sas));
suite.addTest(GenericTest.cleaningSuite());
sas.put ("users", "5");
suite.addTest
(new NamedTestGroup
(new LoadTest(testCase, 5, 4, new ConstantTimer(10)),
"Samples", sas));
suite.addTest(GenericTest.cleaningSuite());
sas.put ("users", "10");
suite.addTest
(new NamedTestGroup
(new LoadTest(testCase, 10, 2, new ConstantTimer(10)),
"Samples", sas));
suite.addTest(GenericTest.cleaningSuite());
Map tt = new HashMap ();
tt.put ("title", title);
parentSuite.addTest (new NamedTestGroup(suite, "Test", tt));
}
}