From: markt Date: Thu, 30 Jul 2009 18:09:12 +0000 (+0000) Subject: Move the instance creation and clean-up to a base class so it can be re-used. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=fdfb44e30f4704e83814306c4b0c9c983bb93c71;p=tomcat7.0 Move the instance creation and clean-up to a base class so it can be re-used. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@799391 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/test/org/apache/catalina/startup/TestTomcatBase.java b/test/org/apache/catalina/startup/TestTomcatBase.java new file mode 100644 index 000000000..fbfee2cf4 --- /dev/null +++ b/test/org/apache/catalina/startup/TestTomcatBase.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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 org.apache.catalina.startup; + +import java.io.File; + +import junit.framework.TestCase; + +/** + * Base test case that provides a Tomcat instance for each test - mainly so we + * don't have to keep writing the cleanup code. + */ +public class TestTomcatBase extends TestCase { + private Tomcat tomcat; + private File tempDir; + private static int port = 8001; + + /** + * Make Tomcat instance accessible to sub-classes. + */ + public Tomcat getTomcatInstance() { + return tomcat; + } + + /** + * Sub-classes need to know port so they can connect + */ + public int getPort() { + return port; + } + + public void setUp() throws Exception { + tempDir = new File("output/tmp"); + tempDir.mkdir(); + + tomcat = new Tomcat(); + tomcat.setBaseDir(tempDir.getAbsolutePath()); + tomcat.getHost().setAppBase(tempDir.getAbsolutePath() + "/webapps"); + + // If each test is running on same port - they + // may interfere with each other (on unix at least) + port++; + tomcat.setPort(port); + } + + public void tearDown() throws Exception { + tomcat.stop(); + ExpandWar.delete(tempDir); + } + +}