Skip to content

Commit fdd0c62

Browse files
committed
re-runnable tests
1 parent cab24c7 commit fdd0c62

File tree

5 files changed

+108
-91
lines changed

5 files changed

+108
-91
lines changed

tests/profiles/conftest.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# -----------------------------------------------------------------------------
2+
# Copyright (c) 2025, Oracle and/or its affiliates.
3+
#
4+
# Licensed under the Universal Permissive License v 1.0 as shown at
5+
# http://oss.oracle.com/licenses/upl.
6+
# -----------------------------------------------------------------------------
7+
8+
import pytest
9+
import select_ai
10+
11+
12+
@pytest.fixture(scope="module")
13+
def provider():
14+
return select_ai.OCIGenAIProvider(
15+
region="us-phoenix-1", oci_apiformat="GENERIC"
16+
)
17+
18+
19+
@pytest.fixture(scope="module")
20+
def profile_attributes(provider, oci_credential):
21+
return select_ai.ProfileAttributes(
22+
credential_name=oci_credential["credential_name"],
23+
object_list=[{"owner": "SH"}],
24+
provider=provider,
25+
)
26+
27+
28+
@pytest.fixture(scope="module")
29+
def min_profile_attributes(provider, oci_credential):
30+
return select_ai.ProfileAttributes(
31+
credential_name=oci_credential["credential_name"],
32+
provider=select_ai.OCIGenAIProvider(),
33+
)

tests/test_1200_profile.py renamed to tests/profiles/test_1200_profile.py

Lines changed: 26 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,23 @@
88
"""
99
1200 - Module for testing the Profile proxy object
1010
"""
11+
import uuid
1112

1213
import oracledb
1314
import pytest
1415
import select_ai
1516
from select_ai import Profile, ProfileAttributes
1617

17-
18-
@pytest.fixture(scope="module")
19-
def provider():
20-
return select_ai.OCIGenAIProvider(
21-
region="us-phoenix-1", oci_apiformat="GENERIC"
22-
)
23-
24-
25-
@pytest.fixture(scope="module")
26-
def profile_attributes(provider, oci_credential):
27-
return ProfileAttributes(
28-
credential_name=oci_credential["credential_name"],
29-
object_list=[{"owner": "SH"}],
30-
provider=provider,
31-
)
32-
33-
34-
@pytest.fixture(scope="module")
35-
def min_profile_attributes(provider, oci_credential):
36-
return ProfileAttributes(
37-
credential_name=oci_credential["credential_name"],
38-
provider=select_ai.OCIGenAIProvider(),
39-
)
18+
PYSAI_1200_PROFILE = f"PYSAI_1200_{uuid.uuid4().hex.upper()}"
19+
PYSAI_1200_PROFILE_2 = f"PYSAI_1200_2_{uuid.uuid4().hex.upper()}"
20+
PYSAI_1200_MIN_ATTR_PROFILE = f"PYSAI_1200_MIN_{uuid.uuid4().hex.upper()}"
21+
PYSAI_1200_DUP_PROFILE = f"PYSAI_1200_DUP_{uuid.uuid4().hex.upper()}"
4022

4123

4224
@pytest.fixture(scope="module")
4325
def python_gen_ai_profile(profile_attributes):
4426
profile = select_ai.Profile(
45-
profile_name="PYTHON_GENAI_PROFILE",
27+
profile_name=PYSAI_1200_PROFILE,
4628
description="OCI GENAI Profile",
4729
attributes=profile_attributes,
4830
)
@@ -53,7 +35,7 @@ def python_gen_ai_profile(profile_attributes):
5335
@pytest.fixture(scope="module")
5436
def python_gen_ai_profile_2(profile_attributes):
5537
profile = select_ai.Profile(
56-
profile_name="PYTHON_GENAI_PROFILE_2",
38+
profile_name=PYSAI_1200_PROFILE_2,
5739
description="OCI GENAI Profile 2",
5840
attributes=profile_attributes,
5941
)
@@ -65,7 +47,7 @@ def python_gen_ai_profile_2(profile_attributes):
6547
@pytest.fixture(scope="module")
6648
def python_gen_ai_min_attr_profile(min_profile_attributes):
6749
profile = select_ai.Profile(
68-
profile_name="PYTHON_MIN_ATTRIB_PROFILE",
50+
profile_name=PYSAI_1200_MIN_ATTR_PROFILE,
6951
attributes=min_profile_attributes,
7052
description=None,
7153
)
@@ -76,7 +58,7 @@ def python_gen_ai_min_attr_profile(min_profile_attributes):
7658
@pytest.fixture
7759
def python_gen_ai_duplicate_profile(min_profile_attributes):
7860
profile = Profile(
79-
profile_name="PYTHON_DUPLICATE_PROFILE",
61+
profile_name=PYSAI_1200_DUP_PROFILE,
8062
attributes=min_profile_attributes,
8163
)
8264
yield profile
@@ -85,26 +67,26 @@ def python_gen_ai_duplicate_profile(min_profile_attributes):
8567

8668
def test_1200(python_gen_ai_profile, profile_attributes):
8769
"""Create basic Profile"""
88-
assert python_gen_ai_profile.profile_name == "PYTHON_GENAI_PROFILE"
70+
assert python_gen_ai_profile.profile_name == PYSAI_1200_PROFILE
8971
assert python_gen_ai_profile.attributes == profile_attributes
9072
assert python_gen_ai_profile.description == "OCI GENAI Profile"
9173

9274

9375
def test_1201(python_gen_ai_profile_2, profile_attributes):
9476
"""Create Profile using create method"""
95-
assert python_gen_ai_profile_2.profile_name == "PYTHON_GENAI_PROFILE_2"
77+
assert python_gen_ai_profile_2.profile_name == PYSAI_1200_PROFILE_2
9678
assert python_gen_ai_profile_2.attributes == profile_attributes
9779
assert python_gen_ai_profile_2.description == "OCI GENAI Profile 2"
9880

9981

10082
def test_1202(profile_attributes):
10183
"""Create duplicate profile with replace=True"""
10284
duplicate = Profile(
103-
profile_name="PYTHON_GENAI_PROFILE",
85+
profile_name=PYSAI_1200_PROFILE,
10486
attributes=profile_attributes,
10587
replace=True,
10688
)
107-
assert duplicate.profile_name == "PYTHON_GENAI_PROFILE"
89+
assert duplicate.profile_name == PYSAI_1200_PROFILE
10890
assert duplicate.attributes == profile_attributes
10991
assert duplicate.description is None
11092

@@ -113,7 +95,7 @@ def test_1203(python_gen_ai_min_attr_profile, min_profile_attributes):
11395
"""Create Profile with minimum required attributes"""
11496
assert (
11597
python_gen_ai_min_attr_profile.profile_name
116-
== "PYTHON_MIN_ATTRIB_PROFILE"
98+
== PYSAI_1200_MIN_ATTR_PROFILE
11799
)
118100
assert python_gen_ai_min_attr_profile.attributes == min_profile_attributes
119101
assert python_gen_ai_min_attr_profile.description is None
@@ -122,25 +104,31 @@ def test_1203(python_gen_ai_min_attr_profile, min_profile_attributes):
122104
def test_1204():
123105
"""List profiles without regex"""
124106
profile_list = list(Profile.list())
125-
assert len(profile_list) == 3
107+
profile_names = set(profile.profile_name for profile in profile_list)
108+
assert PYSAI_1200_PROFILE in profile_names
109+
assert PYSAI_1200_PROFILE_2 in profile_names
110+
assert PYSAI_1200_MIN_ATTR_PROFILE in profile_names
126111

127112

128113
def test_1205():
129114
"""List profiles with regex"""
130-
profile_list = list(Profile.list(profile_name_pattern=".*PROFILE$"))
131-
assert len(profile_list) == 2
115+
profile_list = list(Profile.list(profile_name_pattern="^PYSAI_1200"))
116+
profile_names = set(profile.profile_name for profile in profile_list)
117+
assert PYSAI_1200_PROFILE in profile_names
118+
assert PYSAI_1200_PROFILE_2 in profile_names
119+
assert PYSAI_1200_MIN_ATTR_PROFILE in profile_names
132120

133121

134122
def test_1206(profile_attributes):
135123
"""Get attributes for a Profile"""
136-
profile = Profile("PYTHON_GENAI_PROFILE")
124+
profile = Profile(PYSAI_1200_PROFILE)
137125
fetched_attributes = profile.get_attributes()
138126
assert fetched_attributes == profile_attributes
139127

140128

141129
def test_1207():
142130
"""Set attributes for a Profile"""
143-
profile = Profile("PYTHON_GENAI_PROFILE")
131+
profile = Profile(PYSAI_1200_PROFILE)
144132
assert profile.attributes.provider.model is None
145133
profile.set_attribute(
146134
attribute_name="model", attribute_value="meta.llama-3.1-70b-instruct"
@@ -150,7 +138,7 @@ def test_1207():
150138

151139
def test_1208(oci_credential):
152140
"""Set multiple attributes for a Profile"""
153-
profile = Profile("PYTHON_GENAI_PROFILE")
141+
profile = Profile(PYSAI_1200_PROFILE)
154142
profile_attrs = ProfileAttributes(
155143
credential_name=oci_credential["credential_name"],
156144
provider=select_ai.OCIGenAIProvider(),

tests/test_1300_profile_async.py renamed to tests/profiles/test_1300_profile_async.py

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,27 @@
88
"""
99
1300 - Module for testing the AsyncProfile proxy object
1010
"""
11+
import uuid
1112

1213
import oracledb
1314
import pytest
1415
import select_ai
1516
from select_ai import AsyncProfile, ProfileAttributes
1617

17-
18-
@pytest.fixture(scope="module")
19-
def provider():
20-
return select_ai.OCIGenAIProvider(
21-
region="us-phoenix-1", oci_apiformat="GENERIC"
22-
)
23-
24-
25-
@pytest.fixture(scope="module")
26-
def profile_attributes(provider, oci_credential):
27-
return ProfileAttributes(
28-
credential_name=oci_credential["credential_name"],
29-
object_list=[{"owner": "SH"}],
30-
provider=provider,
31-
)
32-
33-
34-
@pytest.fixture(scope="module")
35-
def min_profile_attributes(provider, oci_credential):
36-
return ProfileAttributes(
37-
credential_name=oci_credential["credential_name"],
38-
provider=select_ai.OCIGenAIProvider(),
39-
)
18+
PYSAI_ASYNC_1300_PROFILE = f"PYSAI_ASYNC_1300_{uuid.uuid4().hex.upper()}"
19+
PYSAI_ASYNC_1300_PROFILE_2 = f"PYSAI_ASYNC_1300_2_{uuid.uuid4().hex.upper()}"
20+
PYSAI_ASYNC_1300_MIN_ATTR_PROFILE = (
21+
f"PYSAI_ASYNC_1300_MIN_{uuid.uuid4().hex.upper()}"
22+
)
23+
PYSAI_ASYNC_1300_DUP_PROFILE = (
24+
f"PYSAI_ASYNC_1300_DUP_{uuid.uuid4().hex.upper()}"
25+
)
4026

4127

4228
@pytest.fixture(scope="module")
4329
async def python_gen_ai_profile(profile_attributes):
4430
profile = await AsyncProfile(
45-
profile_name="PYTHON_GENAI_PROFILE",
31+
profile_name=PYSAI_ASYNC_1300_PROFILE,
4632
description="OCI GENAI Profile",
4733
attributes=profile_attributes,
4834
)
@@ -53,7 +39,7 @@ async def python_gen_ai_profile(profile_attributes):
5339
@pytest.fixture(scope="module")
5440
async def python_gen_ai_profile_2(profile_attributes):
5541
profile = await AsyncProfile(
56-
profile_name="PYTHON_GENAI_PROFILE_2",
42+
profile_name=PYSAI_ASYNC_1300_PROFILE_2,
5743
description="OCI GENAI Profile 2",
5844
attributes=profile_attributes,
5945
)
@@ -65,7 +51,7 @@ async def python_gen_ai_profile_2(profile_attributes):
6551
@pytest.fixture(scope="module")
6652
async def python_gen_ai_min_attr_profile(min_profile_attributes):
6753
profile = await AsyncProfile(
68-
profile_name="PYTHON_MIN_ATTRIB_PROFILE",
54+
profile_name=PYSAI_ASYNC_1300_MIN_ATTR_PROFILE,
6955
attributes=min_profile_attributes,
7056
description=None,
7157
)
@@ -76,7 +62,7 @@ async def python_gen_ai_min_attr_profile(min_profile_attributes):
7662
@pytest.fixture
7763
async def python_gen_ai_duplicate_profile(min_profile_attributes):
7864
profile = await AsyncProfile(
79-
profile_name="PYTHON_DUPLICATE_PROFILE",
65+
profile_name=PYSAI_ASYNC_1300_DUP_PROFILE,
8066
attributes=min_profile_attributes,
8167
)
8268
yield profile
@@ -85,26 +71,26 @@ async def python_gen_ai_duplicate_profile(min_profile_attributes):
8571

8672
def test_1300(python_gen_ai_profile, profile_attributes):
8773
"""Create basic Profile"""
88-
assert python_gen_ai_profile.profile_name == "PYTHON_GENAI_PROFILE"
74+
assert python_gen_ai_profile.profile_name == PYSAI_ASYNC_1300_PROFILE
8975
assert python_gen_ai_profile.attributes == profile_attributes
9076
assert python_gen_ai_profile.description == "OCI GENAI Profile"
9177

9278

9379
def test_1301(python_gen_ai_profile_2, profile_attributes):
9480
"""Create Profile using create method"""
95-
assert python_gen_ai_profile_2.profile_name == "PYTHON_GENAI_PROFILE_2"
81+
assert python_gen_ai_profile_2.profile_name == PYSAI_ASYNC_1300_PROFILE_2
9682
assert python_gen_ai_profile_2.attributes == profile_attributes
9783
assert python_gen_ai_profile_2.description == "OCI GENAI Profile 2"
9884

9985

10086
async def test_1302(profile_attributes):
10187
"""Create duplicate profile with replace=True"""
10288
duplicate = await AsyncProfile(
103-
profile_name="PYTHON_GENAI_PROFILE",
89+
profile_name=PYSAI_ASYNC_1300_PROFILE,
10490
attributes=profile_attributes,
10591
replace=True,
10692
)
107-
assert duplicate.profile_name == "PYTHON_GENAI_PROFILE"
93+
assert duplicate.profile_name == PYSAI_ASYNC_1300_PROFILE
10894
assert duplicate.attributes == profile_attributes
10995
assert duplicate.description is None
11096

@@ -113,7 +99,7 @@ def test_1303(python_gen_ai_min_attr_profile, min_profile_attributes):
11399
"""Create Profile with minimum required attributes"""
114100
assert (
115101
python_gen_ai_min_attr_profile.profile_name
116-
== "PYTHON_MIN_ATTRIB_PROFILE"
102+
== PYSAI_ASYNC_1300_MIN_ATTR_PROFILE
117103
)
118104
assert python_gen_ai_min_attr_profile.attributes == min_profile_attributes
119105
assert python_gen_ai_min_attr_profile.description is None
@@ -122,30 +108,36 @@ def test_1303(python_gen_ai_min_attr_profile, min_profile_attributes):
122108
async def test_1304():
123109
"""List profiles without regex"""
124110
profile_list = [await profile async for profile in AsyncProfile.list()]
125-
assert len(profile_list) == 3
111+
profile_names = set(profile.profile_name for profile in profile_list)
112+
assert PYSAI_ASYNC_1300_PROFILE in profile_names
113+
assert PYSAI_ASYNC_1300_PROFILE_2 in profile_names
114+
assert PYSAI_ASYNC_1300_MIN_ATTR_PROFILE in profile_names
126115

127116

128117
async def test_1305():
129118
"""List profiles with regex"""
130119
profile_list = [
131120
await profile
132121
async for profile in AsyncProfile.list(
133-
profile_name_pattern=".*PROFILE$"
122+
profile_name_pattern="^PYSAI_ASYNC_1300"
134123
)
135124
]
136-
assert len(profile_list) == 2
125+
profile_names = set(profile.profile_name for profile in profile_list)
126+
assert PYSAI_ASYNC_1300_PROFILE in profile_names
127+
assert PYSAI_ASYNC_1300_PROFILE_2 in profile_names
128+
assert PYSAI_ASYNC_1300_MIN_ATTR_PROFILE in profile_names
137129

138130

139131
async def test_1306(profile_attributes):
140132
"""Get attributes for a Profile"""
141-
profile = await AsyncProfile("PYTHON_GENAI_PROFILE")
133+
profile = await AsyncProfile(PYSAI_ASYNC_1300_PROFILE)
142134
fetched_attributes = await profile.get_attributes()
143135
assert fetched_attributes == profile_attributes
144136

145137

146138
async def test_1307():
147139
"""Set attributes for a Profile"""
148-
profile = await AsyncProfile("PYTHON_GENAI_PROFILE")
140+
profile = await AsyncProfile(PYSAI_ASYNC_1300_PROFILE)
149141
assert profile.attributes.provider.model is None
150142
await profile.set_attribute(
151143
attribute_name="model", attribute_value="meta.llama-3.1-70b-instruct"
@@ -155,7 +147,7 @@ async def test_1307():
155147

156148
async def test_1308(oci_credential):
157149
"""Set multiple attributes for a Profile"""
158-
profile = await AsyncProfile("PYTHON_GENAI_PROFILE")
150+
profile = await AsyncProfile(PYSAI_ASYNC_1300_PROFILE)
159151
profile_attrs = ProfileAttributes(
160152
credential_name=oci_credential["credential_name"],
161153
provider=select_ai.OCIGenAIProvider(),

0 commit comments

Comments
 (0)