blob: 4fa9462da20b6202d43137e48fbe958eaf6061e0 [file] [log] [blame]
/*
*
* Derby - Class org.apache.derbyTesting.functionTests.tests.nist.NistScripts
*
* 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.derbyTesting.functionTests.tests.nist;
import junit.framework.Test;
import org.apache.derbyTesting.functionTests.util.ScriptTestCase;
import org.apache.derbyTesting.junit.BaseTestSuite;
import org.apache.derbyTesting.junit.CleanDatabaseTestSetup;
import org.apache.derbyTesting.junit.DatabasePropertyTestSetup;
import org.apache.derbyTesting.junit.TestConfiguration;
/**
* Run the NIST scripts as a single suite.
*
*/
public final class NistScripts extends ScriptTestCase {
/**
* The complete set of NIST scripts for Derby.
* First element of array is the script name,
* second element is the user name for the connection.
*/
private static final String[][] TESTS = {
{"schema1", "HU"},
{ "basetab", "HU"},
{ "schema5", "FLATER"},
{ "schema8", "SUN"},
{ "temp_schem10", "HU"},
{ "temp_cts5sch2", "HU"},
{ "temp_cts5tab", "CTS1"},
{ "flattab", "FLATER"},
{ "dml012", "HU"},
{ "dml013", "HU"},
{ "dml018", "HU"},
{ "dml022", "HU"},
{"dml025", "HU"},
{"dml044", "HU"},
{"dml045", "HU"},
{"dml051", "HU"},
{"dml059", "HU"},
{"dml061", "HU"},
{"dml073", "HU"},
{"dml087", "FLATER"},
{"dml090", "HU"},
{"dml106", "FLATER"},
{"dml108", "FLATER"},
{"dml114", "FLATER"},
{"dml141", "FLATER"},
{"dml144", "FLATER"},
{"dml162", "FLATER"},
{"dml177", "FLATER"},
{"dml010", "HU"},
{"dml015", "HU"},
{"dml020", "HU"},
{"dml037", "HU"},
{"dml038", "HU"},
{"dml042", "HU"},
{"dml043", "HU"},
{"dml047", "HU"},
{"dml056", "HU"},
{"dml065", "HU"},
{"dml076", "HU"},
{"sdl012", "HU"},
{"dml029", "HU"},
{"yts796", "CTS1"},
{"dml075", "HU"},
{"dml024", "HU"},
{"dml070", "HU"},
{"dml147", "FLATER"},
{"dml009", "HU"},
{"dml008", "HU"},
{"dml014", "HU"},
{"dml016", "SULLIVAN1"},
{"dml021", "HU"},
{"dml034", "HU"},
{"dml023", "HU"},
{"dml026", "HU"},
{"dml033", "HU"},
{"dml039", "HU"},
{"dml050", "HU"},
{"dml052", "HU"},
{"dml053", "HU"},
{"dml055", "HU"},
{"dml057", "HU"},
{"dml058", "HU"},
{"dml155", "FLATER"},
{"xts729", "CTS1"},
{"xts730", "CTS1"},
{"yts797", "CTS1"},
{"yts798", "CTS1"},
{"dml069", "HU"},
{"dml080", "SCHANZLE"},
{"dml081", "SCHANZLE"},
{"dml083", "SCHANZLE"},
{"dml085", "SCHANZLE"},
{"dml132", "FLATER"},
{"dml099", "FLATER"},
{"dml049", "HU"},
{"dml173", "FLATER"},
{"dml174", "FLATER"},
{"dml179", "FLATER"},
{"yts812", "CTS1"},
{"dml001", "HU"},
{"dml004", "HU"},
{"dml035", "HU"},
{"dml046", "HU"},
{"dml060", "HU"},
{"dml068", "HU"},
{"yts799", "CTS1"},
{"dml001", "HU"},
{"dml079", "HU"},
{"dml165", "FLATER"},
{"dml104", "FLATER"},
{"dml112", "FLATER"},
{"dml148", "FLATER"},
{"dml019", "HU"},
{"dml149", "FLATER"},
{"dml168", "FLATER"},
{"dml170", "FLATER"},
{"xts752", "CTS1"},
{"xts753", "CTS1"},
{"cdr002", "SUN"},
{"cdr003", "SUN"},
{"cdr004", "SUN"},
{"cdr005", "SUN"},
{"cdr006", "SUN"},
{"cdr007", "SUN"},
{"cdr027", "SUN"},
{"cdr030", "SUN"},
{"dml134", "FLATER"},
{"dml005", "HU"},
{"dml011", "HU"},
{"dml027", "HU"},
{"dml082", "SCHANZLE"},
{"dml091", "SCHANZLE"},
{"dml119", "FLATER"},
{"dml130", "FLATER"},
{"dml158", "HU"},
{"dml178", "FLATER"},
{"dml181", "FLATER"},
{"dml182", "FLATER"},
{"xts701", "CTS1"},
{"xts731", "CTS1"},
{"xts740", "CTS1"},
{"xts742", "CTS1"},
{"xts760", "CTS1"},
{"yts811", "CTS1"},
{"dml160", "FLATER"},
{"schema4", "SULLIVAN1"}
};
/**
* Return the suite that runs the NIST SQL scripts.
*/
public static Test suite() {
BaseTestSuite suite = new BaseTestSuite("NIST");
String suiteUser = null;
BaseTestSuite userSuite = null;
for (int i = 0; i < TESTS.length; i++) {
String testScript = TESTS[i][0];
String testUser = TESTS[i][1];
Test test = new NistScripts(testScript);
if (testUser.equals(suiteUser))
{
userSuite.addTest(test);
continue;
}
// Add the new user suite with the change user decorator to
// the main suite but continue to add tests to the user suite.
userSuite = new BaseTestSuite("NIST user="+testUser);
String password = testUser.concat("ni8s4T");
suite.addTest(
TestConfiguration.changeUserDecorator(userSuite, testUser, password));
suiteUser = testUser;
userSuite.addTest(test);
}
Test test = getIJConfig(suite);
// Setup user authentication
test = DatabasePropertyTestSetup.builtinAuthentication(test,
new String[] {"APP", "HU","FLATER","SUN","CTS1","SULLIVAN1","SCHANZLE"},
"ni8s4T");
// Lock timeout settings that were set for the old harness when
// running nist.
test = DatabasePropertyTestSetup.setLockTimeouts(test, 2, 4);
return new CleanDatabaseTestSetup(test);
}
/*
* A single JUnit test that runs a single Nist SQL script.
*/
private NistScripts(String nistScript){
super(nistScript);
}
}