151 lines
6.9 KiB
Python
151 lines
6.9 KiB
Python
#------------------------------------------------------------------------------
|
|
# Copyright (c) 2020, 2022, Oracle and/or its affiliates.
|
|
#
|
|
# This software is dual-licensed to you under the Universal Permissive License
|
|
# (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl and Apache License
|
|
# 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose
|
|
# either license.
|
|
#
|
|
# If you elect to accept the software under the Apache License, Version 2.0,
|
|
# the following applies:
|
|
#
|
|
# 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
|
|
#
|
|
# https://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.
|
|
#------------------------------------------------------------------------------
|
|
|
|
"""
|
|
1000 - Module for testing top-level module methods
|
|
"""
|
|
|
|
import datetime
|
|
import time
|
|
|
|
import oracledb
|
|
import test_env
|
|
|
|
class TestCase(test_env.BaseTestCase):
|
|
requires_connection = False
|
|
|
|
def test_1000_date_from_ticks(self):
|
|
"1000 - test DateFromTicks()"
|
|
today = datetime.datetime.today()
|
|
timestamp = time.mktime(today.timetuple())
|
|
date = oracledb.DateFromTicks(timestamp)
|
|
self.assertEqual(date, today.date())
|
|
|
|
def test_1001_future_obj(self):
|
|
"1001 - test management of __future__ object"
|
|
self.assertEqual(oracledb.__future__.dummy, None)
|
|
oracledb.__future__.dummy = "Unimportant"
|
|
self.assertEqual(oracledb.__future__.dummy, None)
|
|
|
|
def test_1002_timestamp_from_ticks(self):
|
|
"1002 - test TimestampFromTicks()"
|
|
timestamp = time.mktime(datetime.datetime.today().timetuple())
|
|
today = datetime.datetime.fromtimestamp(timestamp)
|
|
date = oracledb.TimestampFromTicks(timestamp)
|
|
self.assertEqual(date, today)
|
|
|
|
def test_1003_unsupported_functions(self):
|
|
"1003 - test unsupported time functions"
|
|
self.assertRaisesRegex(oracledb.NotSupportedError, "^DPY-3000:",
|
|
oracledb.Time, 12, 0, 0)
|
|
self.assertRaisesRegex(oracledb.NotSupportedError, "^DPY-3000:",
|
|
oracledb.TimeFromTicks, 100)
|
|
|
|
def test_1004_makedsn(self):
|
|
"1004 - test makedsn() with valid arguments"
|
|
format_string = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" + \
|
|
"(HOST=%s)(PORT=%d))(CONNECT_DATA=(SID=%s)))"
|
|
args = ("hostname", 1521, "TEST")
|
|
result = oracledb.makedsn(*args)
|
|
self.assertEqual(result, format_string % args)
|
|
|
|
def test_1005_makedsn_invalid_args(self):
|
|
"1005 - test makedsn() with invalid arguments"
|
|
self.assertRaisesRegex(oracledb.ProgrammingError, "^DPY-2020:",
|
|
oracledb.makedsn, host="(invalid)", port=1521)
|
|
self.assertRaisesRegex(oracledb.ProgrammingError, "^DPY-2020:",
|
|
oracledb.makedsn, host="host", port=1521,
|
|
sid="(invalid)")
|
|
self.assertRaisesRegex(oracledb.ProgrammingError, "^DPY-2020:",
|
|
oracledb.makedsn, host="host", port=1521,
|
|
service_name="(invalid)")
|
|
self.assertRaisesRegex(oracledb.ProgrammingError, "^DPY-2020:",
|
|
oracledb.makedsn, host="host", port=1521,
|
|
region="(invalid)")
|
|
self.assertRaisesRegex(oracledb.ProgrammingError, "^DPY-2020:",
|
|
oracledb.makedsn, host="host", port=1521,
|
|
sharding_key="(invalid)")
|
|
self.assertRaisesRegex(oracledb.ProgrammingError, "^DPY-2020:",
|
|
oracledb.makedsn, host="host", port=1521,
|
|
super_sharding_key="(invalid)")
|
|
|
|
def test_1006_aliases(self):
|
|
"1006 - test aliases match"
|
|
|
|
# database type aliases
|
|
self.assertIs(oracledb.BFILE, oracledb.DB_TYPE_BFILE)
|
|
self.assertIs(oracledb.BLOB, oracledb.DB_TYPE_BLOB)
|
|
self.assertIs(oracledb.BOOLEAN, oracledb.DB_TYPE_BOOLEAN)
|
|
self.assertIs(oracledb.CLOB, oracledb.DB_TYPE_CLOB)
|
|
self.assertIs(oracledb.CURSOR, oracledb.DB_TYPE_CURSOR)
|
|
self.assertIs(oracledb.FIXED_CHAR, oracledb.DB_TYPE_CHAR)
|
|
self.assertIs(oracledb.FIXED_NCHAR, oracledb.DB_TYPE_NCHAR)
|
|
self.assertIs(oracledb.INTERVAL, oracledb.DB_TYPE_INTERVAL_DS)
|
|
self.assertIs(oracledb.LONG_BINARY, oracledb.DB_TYPE_LONG_RAW)
|
|
self.assertIs(oracledb.LONG_STRING, oracledb.DB_TYPE_LONG)
|
|
self.assertIs(oracledb.NATIVE_INT, oracledb.DB_TYPE_BINARY_INTEGER)
|
|
self.assertIs(oracledb.NATIVE_FLOAT, oracledb.DB_TYPE_BINARY_DOUBLE)
|
|
self.assertIs(oracledb.NCHAR, oracledb.DB_TYPE_NVARCHAR)
|
|
self.assertIs(oracledb.NCLOB, oracledb.DB_TYPE_NCLOB)
|
|
self.assertIs(oracledb.OBJECT, oracledb.DB_TYPE_OBJECT)
|
|
self.assertIs(oracledb.TIMESTAMP, oracledb.DB_TYPE_TIMESTAMP)
|
|
|
|
# type aliases
|
|
self.assertIs(oracledb.ObjectType, oracledb.DbObjectType)
|
|
self.assertIs(oracledb.Object, oracledb.DbObject)
|
|
self.assertIs(oracledb.SessionPool, oracledb.ConnectionPool)
|
|
|
|
# authentication mode aliases
|
|
self.assertIs(oracledb.DEFAULT_AUTH, oracledb.AUTH_MODE_DEFAULT)
|
|
self.assertIs(oracledb.SYSASM, oracledb.AUTH_MODE_SYSASM)
|
|
self.assertIs(oracledb.SYSBKP, oracledb.AUTH_MODE_SYSBKP)
|
|
self.assertIs(oracledb.SYSDBA, oracledb.AUTH_MODE_SYSDBA)
|
|
self.assertIs(oracledb.SYSDGD, oracledb.AUTH_MODE_SYSDGD)
|
|
self.assertIs(oracledb.SYSKMT, oracledb.AUTH_MODE_SYSKMT)
|
|
self.assertIs(oracledb.SYSOPER, oracledb.AUTH_MODE_SYSOPER)
|
|
self.assertIs(oracledb.SYSRAC, oracledb.AUTH_MODE_SYSRAC)
|
|
self.assertIs(oracledb.PRELIM_AUTH, oracledb.AUTH_MODE_PRELIM)
|
|
|
|
# pool "get" mode aliases
|
|
self.assertIs(oracledb.SPOOL_ATTRVAL_WAIT, oracledb.POOL_GETMODE_WAIT)
|
|
self.assertIs(oracledb.SPOOL_ATTRVAL_NOWAIT,
|
|
oracledb.POOL_GETMODE_NOWAIT)
|
|
self.assertIs(oracledb.SPOOL_ATTRVAL_FORCEGET,
|
|
oracledb.POOL_GETMODE_FORCEGET)
|
|
self.assertIs(oracledb.SPOOL_ATTRVAL_TIMEDWAIT,
|
|
oracledb.POOL_GETMODE_TIMEDWAIT)
|
|
|
|
# purity aliases
|
|
self.assertIs(oracledb.ATTR_PURITY_DEFAULT, oracledb.PURITY_DEFAULT)
|
|
self.assertIs(oracledb.ATTR_PURITY_NEW, oracledb.PURITY_NEW)
|
|
self.assertIs(oracledb.ATTR_PURITY_SELF, oracledb.PURITY_SELF)
|
|
|
|
# other aliases
|
|
self.assertIs(oracledb.SUBSCR_PROTO_OCI,
|
|
oracledb.SUBSCR_PROTO_CALLBACK)
|
|
self.assertIs(oracledb.version, oracledb.__version__)
|
|
|
|
if __name__ == "__main__":
|
|
test_env.run_test_cases()
|