52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
"""OCI GenAI configuration validation tests."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
import unittest
|
|
|
|
from src.oci_genai_sdk import ALLOWED_OCI_SETTINGS, load_oci_settings
|
|
|
|
|
|
class OCISettingsTest(unittest.TestCase):
|
|
def setUp(self) -> None:
|
|
self._previous = {key: os.environ.get(key) for key in ALLOWED_OCI_SETTINGS}
|
|
os.environ.update(
|
|
{
|
|
"OCI_AUTH_TYPE": "config_file",
|
|
"OCI_CONFIG_FILE": "/home/opc/.oci/config",
|
|
"OCI_PROFILE": "DEFAULT",
|
|
}
|
|
)
|
|
|
|
def tearDown(self) -> None:
|
|
for key, value in self._previous.items():
|
|
if value is None:
|
|
os.environ.pop(key, None)
|
|
else:
|
|
os.environ[key] = value
|
|
|
|
def test_accepts_a_child_compartment_ocid(self) -> None:
|
|
os.environ["OCI_GENAI_COMPARTMENT_ID"] = "ocid1.compartment.oc1..example"
|
|
|
|
settings = load_oci_settings()
|
|
|
|
self.assertEqual("ocid1.compartment.oc1..example", settings.compartment_id)
|
|
|
|
def test_accepts_a_tenancy_ocid_for_the_root_compartment(self) -> None:
|
|
os.environ["OCI_GENAI_COMPARTMENT_ID"] = "ocid1.tenancy.oc1..example"
|
|
|
|
settings = load_oci_settings()
|
|
|
|
self.assertEqual("ocid1.tenancy.oc1..example", settings.compartment_id)
|
|
|
|
def test_rejects_an_invalid_compartment_identifier(self) -> None:
|
|
os.environ["OCI_GENAI_COMPARTMENT_ID"] = "not-an-ocid"
|
|
|
|
with self.assertRaisesRegex(ValueError, "compartment is not configured"):
|
|
load_oci_settings()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|