Skip to content

Commit c1005dd

Browse files
Added test cases for AQ enqueue/dequeue options and message properties
(oracle/odpi#16).
1 parent db82850 commit c1005dd

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

odpi

test/AQ.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#------------------------------------------------------------------------------
2+
# Copyright 2017, Oracle and/or its affiliates. All rights reserved.
3+
#------------------------------------------------------------------------------
4+
5+
"""Module for testing AQ objects."""
6+
7+
import cx_Oracle
8+
9+
class TestAQ(BaseTestCase):
10+
11+
def __verifyAttribute(self, obj, attrName, value):
12+
setattr(obj, attrName, value)
13+
self.assertEqual(getattr(obj, attrName), value)
14+
15+
def testDeqOptions(self):
16+
"test getting/setting dequeue options attributes"
17+
options = self.connection.deqoptions()
18+
self.__verifyAttribute(options, "condition", "TEST_CONDITION")
19+
self.__verifyAttribute(options, "consumername", "TEST_CONSUMERNAME")
20+
self.__verifyAttribute(options, "correlation", "TEST_CORRELATION")
21+
self.__verifyAttribute(options, "mode", cx_Oracle.DEQ_LOCKED)
22+
self.__verifyAttribute(options, "navigation",
23+
cx_Oracle.DEQ_NEXT_TRANSACTION)
24+
self.__verifyAttribute(options, "transformation",
25+
"TEST_TRANSFORMATION")
26+
self.__verifyAttribute(options, "visibility", cx_Oracle.ENQ_IMMEDIATE)
27+
self.__verifyAttribute(options, "wait", 1287)
28+
29+
def testEnqOptions(self):
30+
"test getting/setting enqueue options attributes"
31+
options = self.connection.enqoptions()
32+
self.__verifyAttribute(options, "visibility", cx_Oracle.ENQ_IMMEDIATE)
33+
34+
def testMsgProps(self):
35+
"test getting/setting message properties attributes"
36+
props = self.connection.msgproperties()
37+
self.__verifyAttribute(props, "correlation", "TEST_CORRELATION")
38+
self.__verifyAttribute(props, "delay", 60)
39+
self.__verifyAttribute(props, "exceptionq", "TEST_EXCEPTIONQ")
40+
self.__verifyAttribute(props, "expiration", 30)
41+
self.assertEqual(props.attempts, 0)
42+
self.__verifyAttribute(props, "priority", 1)
43+
self.assertEqual(props.state, cx_Oracle.MSG_READY)
44+

test/test.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@
4444
"ObjectVar",
4545
"SessionPool",
4646
"StringVar",
47-
"TimestampVar"
47+
"TimestampVar",
48+
"AQ"
4849
]
4950
if sys.version_info[0] < 3:
5051
moduleNames.extend([

0 commit comments

Comments
 (0)