55# http://oss.oracle.com/licenses/upl.
66# -----------------------------------------------------------------------------
77
8+ import asyncio
89import logging
910
1011import oracledb
@@ -45,18 +46,21 @@ async def setup_and_teardown(request, async_connect, set_vec_params, test_env):
4546 request .cls .cred_password = p ["cred_password" ]
4647 request .cls .oci_compartment_id = p ["oci_compartment_id" ]
4748 request .cls .embedding_location = p ["embedding_location" ]
48- request .cls .objstore_cred = "OBJSTORE_CRED"
49+ request .cls .resource_suffix = p ["resource_suffix" ]
50+ request .cls .genai_cred = p ["genai_cred" ]
51+ request .cls .objstore_cred = p ["objstore_cred" ]
52+ request .cls .profile_name = p ["profile_name" ]
4953 request .cls .reconnect_params = test_env .connect_params ()
5054
5155 logger .info ("Fetching credential secrets and OCI configuration..." )
5256 await request .cls .create_credential ()
5357 request .cls .profile = await request .cls .create_profile ()
54- logger .info ("Profile 'vector_ai_profile' created successfully." )
58+ logger .info ("Profile %s created successfully." , request . cls . profile_name )
5559
56- request .cls .index_name = "test_vector_index_attr"
60+ request .cls .index_name = p [ "attr_index_name" ]
5761 vi_attrs = OracleVectorIndexAttributes (
5862 location = p ["embedding_location" ],
59- object_storage_credential_name = "OBJSTORE_CRED" ,
63+ object_storage_credential_name = request . cls . objstore_cred ,
6064 )
6165 request .cls .vector_index_attributes = vi_attrs
6266
@@ -152,8 +156,10 @@ def get_cred_param(cls, cred_name=None) -> dict:
152156
153157 @classmethod
154158 async def create_credential (
155- cls , genai_cred = "GENAI_CRED" , objstore_cred = "OBJSTORE_CRED"
159+ cls , genai_cred = None , objstore_cred = None
156160 ):
161+ genai_cred = genai_cred or cls .genai_cred
162+ objstore_cred = objstore_cred or cls .objstore_cred
157163 logger .info ("Creating credentials: %s, %s" , genai_cred , objstore_cred )
158164
159165 genai_credential = cls .get_native_cred_param (genai_cred )
@@ -177,12 +183,13 @@ async def create_credential(
177183 )
178184
179185 @classmethod
180- async def create_profile (cls , profile_name = "vector_ai_profile" ):
186+ async def create_profile (cls , profile_name = None ):
181187 p = cls .set_vec_params
188+ profile_name = profile_name or cls .profile_name
182189 return await select_ai .AsyncProfile (
183190 profile_name = profile_name ,
184191 attributes = select_ai .ProfileAttributes (
185- credential_name = "GENAI_CRED" ,
192+ credential_name = cls . genai_cred ,
186193 provider = select_ai .OCIGenAIProvider (
187194 oci_compartment_id = p ["oci_compartment_id" ],
188195 oci_apiformat = "GENERIC" ,
@@ -200,12 +207,12 @@ async def delete_profile(cls, profile):
200207 @classmethod
201208 async def delete_credential (cls ):
202209 try :
203- await select_ai .async_delete_credential ("GENAI_CRED" , force = True )
210+ await select_ai .async_delete_credential (cls . genai_cred , force = True )
204211 except Exception as exc :
205212 logger .warning ("delete_credential() raised %s unexpectedly." , exc )
206213 try :
207214 await select_ai .async_delete_credential (
208- "OBJSTORE_CRED" , force = True
215+ cls . objstore_cred , force = True
209216 )
210217 except Exception as exc :
211218 logger .warning ("delete_credential() raised %s unexpectedly." , exc )
@@ -533,7 +540,7 @@ async def test_5212(self):
533540 )
534541 await self .async_vector_index .set_attribute (
535542 "object_storage_credential_name" ,
536- "OBJSTORE_CRED" ,
543+ self . objstore_cred ,
537544 )
538545 logger .info ("Restarting pipeline: %s" , pipeline_name )
539546 async with select_ai .async_cursor () as cursor :
@@ -544,7 +551,7 @@ async def test_5212(self):
544551 )
545552 logger .info ("Pipeline '%s' restarted successfully." , pipeline_name )
546553 attrs = await self .async_vector_index .get_attributes ()
547- assert attrs .object_storage_credential_name == "OBJSTORE_CRED"
554+ assert attrs .object_storage_credential_name == self . objstore_cred
548555 logger .info ("Object Store credential restored successfully." )
549556
550557 async def test_5213 (self ):
@@ -611,12 +618,12 @@ async def test_5213(self):
611618 "Restoring original Object Store credential: OBJSTORE_CRED"
612619 )
613620 await select_ai .async_create_credential (
614- credential = self .get_cred_param ("OBJSTORE_CRED" ),
621+ credential = self .get_cred_param (self . objstore_cred ),
615622 replace = True ,
616623 )
617624 await self .async_vector_index .set_attribute (
618625 "object_storage_credential_name" ,
619- "OBJSTORE_CRED" ,
626+ self . objstore_cred ,
620627 )
621628 logger .info ("Restarting pipeline: %s" , pipeline_name )
622629 async with select_ai .async_cursor () as cursor :
@@ -627,7 +634,7 @@ async def test_5213(self):
627634 )
628635 logger .info ("Pipeline '%s' restarted successfully." , pipeline_name )
629636 attrs = await self .async_vector_index .get_attributes ()
630- assert attrs .object_storage_credential_name == "OBJSTORE_CRED"
637+ assert attrs .object_storage_credential_name == self . objstore_cred
631638 logger .info (
632639 "Object Store credential restoration after delete "
633640 "verified successfully."
@@ -677,12 +684,12 @@ async def test_5214(self):
677684 assert "ORA-20004" in str (exc_info .value )
678685 assert temp_credential_name in str (exc_info .value )
679686 await select_ai .async_create_credential (
680- credential = self .get_cred_param ("OBJSTORE_CRED" ),
687+ credential = self .get_cred_param (self . objstore_cred ),
681688 replace = True ,
682689 )
683690 await self .async_vector_index .set_attribute (
684691 "object_storage_credential_name" ,
685- "OBJSTORE_CRED" ,
692+ self . objstore_cred ,
686693 )
687694 async with select_ai .async_cursor () as cursor :
688695 await cursor .execute (
@@ -736,7 +743,7 @@ async def test_5217(self):
736743 )
737744 assert "ORA-20048" in str (exc_info .value )
738745 attrs = await self .async_vector_index .get_attributes ()
739- assert attrs .pipeline_name == "TEST_VECTOR_INDEX_ATTR $VECPIPELINE"
746+ assert attrs .pipeline_name == f" { self . index_name . upper () } $VECPIPELINE"
740747 logger .info (
741748 "Pipeline update correctly raised error and original value retained."
742749 )
0 commit comments