X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Fkeystone%2Ftests%2Ftest_charm.py;h=e281b20166d0abf511ccccb41622611a800ebcca;hb=8f0f66f4bcf6340f706f0ca019d00ac16c21c32b;hp=756a5e4213c3b199d093a9ee1878d696e7e92714;hpb=49379ced23b5e344a773ce77ac9cb59c1864e19b;p=osm%2Fdevops.git diff --git a/installers/charm/keystone/tests/test_charm.py b/installers/charm/keystone/tests/test_charm.py index 756a5e42..e281b201 100644 --- a/installers/charm/keystone/tests/test_charm.py +++ b/installers/charm/keystone/tests/test_charm.py @@ -23,10 +23,11 @@ import sys from typing import NoReturn import unittest -from ops.model import ActiveStatus, BlockedStatus -from ops.testing import Harness + from charm import KeystoneCharm +from ops.model import ActiveStatus, BlockedStatus +from ops.testing import Harness class TestCharm(unittest.TestCase): @@ -41,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", @@ -82,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: @@ -90,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")