@@ -430,25 +430,17 @@ def test_2307(self):
430430 def test_2308 (self ):
431431 "2308 - test trying to find an object type that does not exist"
432432 self .assertRaises (TypeError , self .conn .gettype , 2 )
433- self .assertRaisesRegex (
434- oracledb .DatabaseError ,
435- "^DPY-2035:" ,
436- self .conn .gettype ,
437- "A TYPE THAT DOES NOT EXIST" ,
438- )
433+ with self .assertRaisesRegex (oracledb .DatabaseError , "^DPY-2035:" ):
434+ self .conn .gettype ("A TYPE THAT DOES NOT EXIST" )
439435
440436 def test_2309 (self ):
441437 "2309 - test appending an object of the wrong type to a collection"
442438 collection_obj_type = self .conn .gettype ("UDT_OBJECTARRAY" )
443439 collection_obj = collection_obj_type .newobject ()
444440 array_obj_type = self .conn .gettype ("UDT_ARRAY" )
445441 array_obj = array_obj_type .newobject ()
446- self .assertRaisesRegex (
447- oracledb .DatabaseError ,
448- "^DPY-2008:" ,
449- collection_obj .append ,
450- array_obj ,
451- )
442+ with self .assertRaisesRegex (oracledb .DatabaseError , "^DPY-2008:" ):
443+ collection_obj .append (array_obj )
452444
453445 def test_2310 (self ):
454446 "2310 - test that referencing a sub object affects the parent object"
@@ -487,14 +479,8 @@ def test_2312(self):
487479 obj = obj_type .newobject ()
488480 wrong_obj_type = self .conn .gettype ("UDT_OBJECTARRAY" )
489481 wrong_obj = wrong_obj_type .newobject ()
490- self .assertRaisesRegex (
491- oracledb .DatabaseError ,
492- "^DPY-2008:" ,
493- setattr ,
494- obj ,
495- "SUBOBJECTVALUE" ,
496- wrong_obj ,
497- )
482+ with self .assertRaisesRegex (oracledb .DatabaseError , "^DPY-2008:" ):
483+ setattr (obj , "SUBOBJECTVALUE" , wrong_obj )
498484
499485 def test_2313 (self ):
500486 "2313 - test setting value of object variable to wrong object type"
@@ -569,12 +555,8 @@ def test_2317(self):
569555
570556 def test_2318 (self ):
571557 "2318 - test creating an object variable without a type name"
572- self .assertRaisesRegex (
573- oracledb .DatabaseError ,
574- "^DPY-2037:" ,
575- self .cursor .var ,
576- oracledb .DB_TYPE_OBJECT ,
577- )
558+ with self .assertRaisesRegex (oracledb .DatabaseError , "^DPY-2037:" ):
559+ self .cursor .var (oracledb .DB_TYPE_OBJECT )
578560
579561 def test_2319 (self ):
580562 "2319 - test getting an empty collection as a dictionary"
@@ -711,21 +693,20 @@ def test_2330(self):
711693 expected_str = f"^<oracledb.DbObject { fqn } at 0x.+>$"
712694 self .assertRegex (repr (obj ), expected_str )
713695
696+ # object of a package
697+ typ = self .conn .gettype ("PKG_TESTSTRINGARRAYS.UDT_STRINGLIST" )
698+ obj = typ .newobject ()
699+ fqn = f"{ typ .schema } .{ typ .package_name } .{ typ .name } "
700+ expected_str = f"^<oracledb.DbObject { fqn } at 0x.+>$"
701+ self .assertRegex (repr (obj ), expected_str )
702+
714703 def test_2331 (self ):
715704 "2331 - test creating an object with invalid data type"
716705 type_obj = self .conn .gettype ("UDT_ARRAY" )
717- self .assertRaisesRegex (
718- oracledb .NotSupportedError ,
719- "^DPY-3013:" ,
720- type_obj .newobject ,
721- [490 , "not a number" ],
722- )
723- self .assertRaisesRegex (
724- oracledb .NotSupportedError ,
725- "^DPY-3013:" ,
726- type_obj ,
727- [71 , "not a number" ],
728- )
706+ with self .assertRaisesRegex (oracledb .NotSupportedError , "^DPY-3013:" ):
707+ type_obj .newobject ([490 , "not a number" ])
708+ with self .assertRaisesRegex (oracledb .NotSupportedError , "^DPY-3013:" ):
709+ type_obj ([71 , "not a number" ])
729710
730711 def test_2332 (self ):
731712 "2332 - test getting an invalid attribute name from an object"
@@ -749,14 +730,10 @@ def test_2333(self):
749730 value = "A" * max_size
750731 setattr (obj , attr_name , value )
751732 value += "X"
752- self .assertRaisesRegex (
753- oracledb .ProgrammingError ,
754- "^DPY-2043:" ,
755- setattr ,
756- obj ,
757- attr_name ,
758- value ,
759- )
733+ with self .assertRaisesRegex (
734+ oracledb .ProgrammingError , "^DPY-2043:"
735+ ):
736+ setattr (obj , attr_name , value )
760737
761738 def test_2334 (self ):
762739 "2334 - test validating a string element value"
@@ -767,20 +744,23 @@ def test_2334(self):
767744 oracledb .ProgrammingError , "^DPY-2044:" , obj .append , "A" * 101
768745 )
769746 obj .append ("B" * 100 )
770- self .assertRaisesRegex (
771- oracledb .ProgrammingError ,
772- "^DPY-2044:" ,
773- obj .setelement ,
774- 2 ,
775- "C" * 101 ,
776- )
747+ with self .assertRaisesRegex (oracledb .ProgrammingError , "^DPY-2044:" ):
748+ obj .setelement (2 , "C" * 101 )
777749
778750 def test_2335 (self ):
779751 "2335 - test validating a string attribute with null value"
780752 typ = self .conn .gettype ("UDT_OBJECT" )
781753 obj = typ .newobject ()
782754 obj .STRINGVALUE = None
783755
756+ def test_2336 (self ):
757+ "2336 - test initializing (with a sequence) a non collection obj"
758+ obj_type = self .conn .gettype ("UDT_OBJECT" )
759+ with self .assertRaisesRegex (oracledb .ProgrammingError , "^DPY-2036:" ):
760+ obj_type .newobject ([1 , 2 ])
761+ with self .assertRaisesRegex (oracledb .ProgrammingError , "^DPY-2036:" ):
762+ obj_type ([3 , 4 ])
763+
784764
785765if __name__ == "__main__" :
786766 test_env .run_test_cases ()
0 commit comments