Adding manual external DB URI config
[osm/devops.git] / installers / charm / keystone / tests / test_charm.py
index d16e75d..e281b20 100644 (file)
@@ -42,6 +42,9 @@ class TestCharm(unittest.TestCase):
         self.config = {
             "region_id": "str",
             "keystone_db_password": "str",
+            "mysql_host": "",
+            "mysql_port": 3306,
+            "mysql_root_password": "manopw",
             "admin_username": "str",
             "admin_password": "str",
             "admin_project": "str",
@@ -83,6 +86,12 @@ class TestCharm(unittest.TestCase):
         # Assertions
         self.assertIsInstance(self.harness.charm.unit.status, ActiveStatus)
 
+    def test_with_config(self) -> NoReturn:
+        "Test with mysql config"
+        self.initialize_mysql_config()
+        # Verifying status
+        self.assertNotIsInstance(self.harness.charm.unit.status, BlockedStatus)
+
     def test_with_relations(
         self,
     ) -> NoReturn:
@@ -91,6 +100,24 @@ class TestCharm(unittest.TestCase):
         # Verifying status
         self.assertNotIsInstance(self.harness.charm.unit.status, BlockedStatus)
 
+    def test_exception_mysql_relation_and_config(
+        self,
+    ) -> NoReturn:
+        "Test with relations and config. Must throw exception"
+        self.initialize_mysql_config()
+        self.initialize_mysql_relation()
+        # Verifying status
+        self.assertIsInstance(self.harness.charm.unit.status, BlockedStatus)
+
+    def initialize_mysql_config(self):
+        self.harness.update_config(
+            {
+                "mysql_host": "mysql",
+                "mysql_port": 3306,
+                "mysql_root_password": "manopw",
+            }
+        )
+
     def initialize_mysql_relation(self):
         relation_id = self.harness.add_relation("db", "mysql")
         self.harness.add_relation_unit(relation_id, "mysql/0")