public class DBOAccessTest extends GeneratedColumnsHelper
Modifier and Type | Class and Description |
---|---|
static class |
DBOAccessTest.NoAuthorization |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
FIRST_CREDENTIALS |
private static java.lang.String |
HIDDEN_COLUMN |
private static java.lang.String |
INSTALL_JAR |
private static java.lang.String |
JANET |
private static java.lang.String[] |
LEGAL_USERS |
private static java.lang.String |
MISSING_OBJECT |
private static java.lang.String |
MISSING_TABLE |
private static java.lang.String |
NO_SUCH_TABLE |
private static java.lang.String |
NULL_BACKUP_DIRECTORY |
private static java.lang.String |
ONLY_DBO |
private static java.lang.String |
REMOVE_JAR |
private static java.lang.String |
REPLACE_JAR |
private static java.lang.String |
SQLJ_INVALID_JAR |
private static java.lang.String |
SYSCS_BACKUP_DATABASE |
private static java.lang.String |
SYSCS_BACKUP_DATABASE_AND_ENABLE_LOG_ARCHIVE_MODE |
private static java.lang.String |
SYSCS_BACKUP_DATABASE_AND_ENABLE_LOG_ARCHIVE_MODE_NOWAIT |
private static java.lang.String |
SYSCS_BACKUP_DATABASE_NOWAIT |
private static java.lang.String |
SYSCS_BULK_INSERT |
private static java.lang.String |
SYSCS_CHECK_TABLE |
private static java.lang.String |
SYSCS_CHECKPOINT_DATABASE |
private static java.lang.String |
SYSCS_CREATE_USER |
private static java.lang.String |
SYSCS_DISABLE_LOG_ARCHIVE_MODE |
private static java.lang.String |
SYSCS_DROP_USER |
private static java.lang.String |
SYSCS_EMPTY_STATEMENT_CACHE |
private static java.lang.String |
SYSCS_EXPORT_TABLE |
private static java.lang.String |
SYSCS_FREEZE_DATABASE |
private static java.lang.String |
SYSCS_GET_DATABASE_PROPERTY |
private static java.lang.String |
SYSCS_GET_USER_ACCESS |
private static java.lang.String |
SYSCS_GET_XPLAIN_MODE |
private static java.lang.String |
SYSCS_GET_XPLAIN_SCHEMA |
private static java.lang.String |
SYSCS_IMPORT_DATA |
private static java.lang.String |
SYSCS_IMPORT_DATA_LOBS_FROM_EXTFILE |
private static java.lang.String |
SYSCS_IMPORT_TABLE |
private static java.lang.String |
SYSCS_IMPORT_TABLE_LOBS_FROM_EXTFILE |
private static java.lang.String |
SYSCS_INVALIDATE_STORED_STATEMENTS |
private static java.lang.String |
SYSCS_RELOAD_SECURITY_POLICY |
private static java.lang.String |
SYSCS_RESET_PASSWORD |
private static java.lang.String |
SYSCS_SET_DATABASE_PROPERTY |
private static java.lang.String |
SYSCS_SET_USER_ACCESS |
private static java.lang.String |
SYSCS_SET_XPLAIN_MODE |
private static java.lang.String |
SYSCS_SET_XPLAIN_SCHEMA |
private static java.lang.String |
SYSCS_UNFREEZE_DATABASE |
private static java.lang.String |
TEST_DBO |
private static java.lang.String |
TEST_LOG_FILE |
private static java.lang.String |
UNKNOWN_USER |
BAD_BEFORE_TRIGGER, BAD_CAST, BAD_FOREIGN_KEY_ACTION, CANT_CONTAIN_NULLS, CANT_MODIFY_IDENTITY, CANT_OVERRIDE_GENERATION_CLAUSE, CANT_REFERENCE_GENERATED_COLUMN, CASCADED_COLUMN_DROP_WARNING, COLUMN_OUT_OF_SCOPE, CONSTRAINT_DROPPED_WARNING, CONSTRAINT_VIOLATION, DUPLICATE_CLAUSE, FORBIDDEN_DROP_TRIGGER, FORBIDDEN_ORDERING_OPERATION, FOREIGN_KEY_VIOLATION, GRANT_REVOKE_NOT_ALLOWED, ILLEGAL_ADD_DEFAULT, ILLEGAL_AGG, ILLEGAL_AGGREGATE, ILLEGAL_COMPARISON, ILLEGAL_DUPLICATE, ILLEGAL_RENAME, ILLEGAL_STORAGE, ILLEGAL_UDT_CLASS, JAVA_EXCEPTION, LACK_COLUMN_PRIV, LACK_EXECUTE_PRIV, LACK_TABLE_PRIV, LACK_USAGE_PRIV, LANG_INVALID_USE_OF_DEFAULT, LEXICAL_ERROR, LOCK_TIMEOUT, NEED_EXPLICIT_DATATYPE, NO_GENERIC_PERMISSION, NO_SELECT_OR_UPDATE_PERMISSION, NO_TABLE_PERMISSION, NON_EMPTY_SCHEMA, NONEXISTENT_OBJECT, NOT_IMPLEMENTED, NOT_NULL_NEEDS_DATATYPE, NOT_NULL_VIOLATION, OBJECT_DOES_NOT_EXIST, OPERATION_FORBIDDEN, REDUNDANT_CLAUSE, ROUTINE_CANT_ISSUE_SQL, ROUTINE_DEPENDS_ON_TYPE, STRING_TRUNCATION, SYNTAX_ERROR, TABLE_DEPENDS_ON_TYPE, TOO_MUCH_CONTENTION, TRIGGER_DROPPED_WARNING, UNSTABLE_RESULTS, VIEW_DEPENDENCY
DEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE
Constructor and Description |
---|
DBOAccessTest(java.lang.String name)
Create a new instance.
|
Modifier and Type | Method and Description |
---|---|
boolean |
authorizationIsOn() |
private void |
minion_5395(java.sql.Connection conn,
boolean shouldSucceed) |
static void |
runSystemRoutine(java.lang.String routineName)
Run various system procedures and functions by calling them directly
|
static junit.framework.Test |
suite()
Construct top level suite in this JUnit test
|
void |
test_5395()
Tests that only the DBO can run diagnostic VTIs which return sensitive information.
|
void |
test_6616()
Tests that you can't subvert sql authorization by directly calling
the entry points in SystemProcedures.
|
void |
testSYSUSERS()
Tests that only the DBO can select from SYSUSERS and no-one can SELECT
SYSUSERS.PASSWORD.
|
private void |
vet_5395(java.sql.Connection conn,
boolean shouldSucceed,
java.lang.String query) |
private void |
vet6616(java.sql.Connection conn,
boolean shouldSucceed,
java.lang.String routineName) |
private void |
vet6616(java.sql.Connection dboConnection,
java.sql.Connection janetConnection,
java.lang.String routineName,
boolean isFunction) |
private void |
vetDBO_OKProbes(java.sql.Connection conn,
boolean shouldSucceed) |
private static void |
vetError(java.lang.String sqlState,
java.sql.SQLException se) |
private void |
vetUnauthorizedProbes(java.sql.Connection conn,
boolean shouldSucceed,
java.lang.String expectedSQLState) |
private void |
vetUserProbes(java.sql.Connection conn,
boolean shouldSucceed,
java.lang.String query,
java.lang.String expectedSQLState) |
assertColumnTypes, assertDeterministic, expectExecutionWarning, expectExecutionWarnings, expectInsertRowError, expectNoWarning, expectUpdateRowError, fill, verifyRestrictedDrop, verifyRevokePrivilege
assertCallError, assertCheckTable, assertCommitError, assertCompileError, assertEquals, assertEquals, assertEquals, assertEquivalentDataType, assertErrorCode, assertGetIntError, assertNextError, assertPreparedStatementError, assertResults, assertResults, assertSQLExceptionEquals, assertSQLState, assertSQLState, assertStatementError, assertStatementError, assertStatementError, assertStatementError, assertStatementErrorUnordered, assertTableRowCount, assertUpdateCount, assertUpdateCount, assertWarning, chattyPrepare, chattyPrepareCall, checkAllConsistency, checkEstimatedRowCount, closeStatement, commit, createStatement, createStatement, createStatement, dropTable, dropTable, dropView, dropView, dumpRs, dumpRs, emptyStatementCache, executeQuery, expectCompilationError, expectCompilationError, expectExecutionError, getClientTransactionID, getConnection, getDatabaseProperty, getLastSQLException, goodStatement, goodUpdate, initializeConnection, openConnection, openDefaultConnection, openDefaultConnection, openDefaultConnection, openUserConnection, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, rollback, runBare, runBareOverridable, runScript, runScript, runSQLCommands, setAutoCommit, tearDown, usingDB2Client, usingDerbyNetClient, usingEmbedded
alarm, assertDirectoryDeleted, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertExecJavaCmdAsExpected, assertLaunchedJUnitTestMethod, assertLaunchedJUnitTestMethod, assertSameNullness, assertSecurityManager, assertThrowableEquals, currentDirectory, execJavaCmd, execJavaCmd, execJavaCmd, fail, getClassVersionMajor, getEmmaJar, getFailureFolder, getFilesWith, getJavaExecutableName, getSystemProperty, getTestConfiguration, getTestResource, hasInterruptibleIO, isCVM, isIBMJVM, isJ9Platform, isJava5, isJava7, isPhoneME, isPlatform, isSunJVM, isWindowsPlatform, newAssertionFailedError, openTestResource, println, printStackTrace, readProcessOutput, removeDirectory, removeDirectory, removeFiles, removeSystemProperty, runsWithEmma, runsWithJaCoCo, setSystemErr, setSystemOut, setSystemProperty, sleep, sleepAtLeastOneTick, traceit, vmAtLeast
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runTest, setName, setUp, toString
private static final java.lang.String TEST_DBO
private static final java.lang.String JANET
private static final java.lang.String[] LEGAL_USERS
private static final java.lang.String TEST_LOG_FILE
private static final java.lang.String ONLY_DBO
private static final java.lang.String HIDDEN_COLUMN
private static final java.lang.String NULL_BACKUP_DIRECTORY
private static final java.lang.String FIRST_CREDENTIALS
private static final java.lang.String MISSING_OBJECT
private static final java.lang.String MISSING_TABLE
private static final java.lang.String NO_SUCH_TABLE
private static final java.lang.String UNKNOWN_USER
private static final java.lang.String SQLJ_INVALID_JAR
private static final java.lang.String SYSCS_SET_DATABASE_PROPERTY
private static final java.lang.String SYSCS_GET_DATABASE_PROPERTY
private static final java.lang.String SYSCS_FREEZE_DATABASE
private static final java.lang.String SYSCS_UNFREEZE_DATABASE
private static final java.lang.String SYSCS_CHECKPOINT_DATABASE
private static final java.lang.String SYSCS_BACKUP_DATABASE
private static final java.lang.String SYSCS_BACKUP_DATABASE_NOWAIT
private static final java.lang.String SYSCS_BACKUP_DATABASE_AND_ENABLE_LOG_ARCHIVE_MODE
private static final java.lang.String SYSCS_BACKUP_DATABASE_AND_ENABLE_LOG_ARCHIVE_MODE_NOWAIT
private static final java.lang.String SYSCS_DISABLE_LOG_ARCHIVE_MODE
private static final java.lang.String SYSCS_CHECK_TABLE
private static final java.lang.String INSTALL_JAR
private static final java.lang.String REPLACE_JAR
private static final java.lang.String REMOVE_JAR
private static final java.lang.String SYSCS_EXPORT_TABLE
private static final java.lang.String SYSCS_IMPORT_TABLE
private static final java.lang.String SYSCS_IMPORT_TABLE_LOBS_FROM_EXTFILE
private static final java.lang.String SYSCS_IMPORT_DATA
private static final java.lang.String SYSCS_IMPORT_DATA_LOBS_FROM_EXTFILE
private static final java.lang.String SYSCS_BULK_INSERT
private static final java.lang.String SYSCS_RELOAD_SECURITY_POLICY
private static final java.lang.String SYSCS_SET_USER_ACCESS
private static final java.lang.String SYSCS_GET_USER_ACCESS
private static final java.lang.String SYSCS_INVALIDATE_STORED_STATEMENTS
private static final java.lang.String SYSCS_EMPTY_STATEMENT_CACHE
private static final java.lang.String SYSCS_SET_XPLAIN_MODE
private static final java.lang.String SYSCS_GET_XPLAIN_MODE
private static final java.lang.String SYSCS_SET_XPLAIN_SCHEMA
private static final java.lang.String SYSCS_GET_XPLAIN_SCHEMA
private static final java.lang.String SYSCS_CREATE_USER
private static final java.lang.String SYSCS_RESET_PASSWORD
private static final java.lang.String SYSCS_DROP_USER
public boolean authorizationIsOn()
public static junit.framework.Test suite()
public void test_5395() throws java.lang.Exception
Tests that only the DBO can run diagnostic VTIs which return sensitive information. See DERBY-5395.
java.lang.Exception
private void minion_5395(java.sql.Connection conn, boolean shouldSucceed) throws java.lang.Exception
java.lang.Exception
private void vet_5395(java.sql.Connection conn, boolean shouldSucceed, java.lang.String query) throws java.lang.Exception
java.lang.Exception
public void testSYSUSERS() throws java.lang.Exception
Tests that only the DBO can select from SYSUSERS and no-one can SELECT SYSUSERS.PASSWORD.
java.lang.Exception
private void vetDBO_OKProbes(java.sql.Connection conn, boolean shouldSucceed) throws java.lang.Exception
java.lang.Exception
private void vetUnauthorizedProbes(java.sql.Connection conn, boolean shouldSucceed, java.lang.String expectedSQLState) throws java.lang.Exception
java.lang.Exception
private void vetUserProbes(java.sql.Connection conn, boolean shouldSucceed, java.lang.String query, java.lang.String expectedSQLState) throws java.lang.Exception
java.lang.Exception
public void test_6616() throws java.lang.Exception
Tests that you can't subvert sql authorization by directly calling the entry points in SystemProcedures.
java.lang.Exception
private void vet6616(java.sql.Connection dboConnection, java.sql.Connection janetConnection, java.lang.String routineName, boolean isFunction) throws java.lang.Exception
java.lang.Exception
private void vet6616(java.sql.Connection conn, boolean shouldSucceed, java.lang.String routineName) throws java.lang.Exception
java.lang.Exception
public static void runSystemRoutine(java.lang.String routineName) throws java.lang.Exception
java.lang.Exception
private static void vetError(java.lang.String sqlState, java.sql.SQLException se) throws java.sql.SQLException
java.sql.SQLException
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.