X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Fnbi%2Ftests%2Ftest_charm.py;h=92c29808552d6d73d9333e5634c6e9a161d3cc13;hb=refs%2Fchanges%2F95%2F11695%2F6;hp=be24aa6d80205ea209afe3de818934e39d4f7bcc;hpb=49379ced23b5e344a773ce77ac9cb59c1864e19b;p=osm%2Fdevops.git diff --git a/installers/charm/nbi/tests/test_charm.py b/installers/charm/nbi/tests/test_charm.py index be24aa6d..92c29808 100644 --- a/installers/charm/nbi/tests/test_charm.py +++ b/installers/charm/nbi/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 NbiCharm +from ops.model import ActiveStatus, BlockedStatus +from ops.testing import Harness class TestCharm(unittest.TestCase): @@ -42,11 +43,13 @@ class TestCharm(unittest.TestCase): "enable_test": False, "auth_backend": "internal", "database_commonkey": "key", + "mongodb_uri": "", "log_level": "INFO", "max_file_size": 0, "ingress_whitelist_source_range": "", "tls_secret_name": "", - "site_url": "https://nbi.192.168.100.100.xip.io", + "site_url": "https://nbi.192.168.100.100.nip.io", + "cluster_issuer": "vault-issuer", } self.harness.update_config(self.config) @@ -76,6 +79,16 @@ class TestCharm(unittest.TestCase): # Assertions self.assertIsInstance(self.harness.charm.unit.status, ActiveStatus) + def test_with_relations_internal_and_mongodb_config( + self, + ) -> NoReturn: + "Test with relations and mongodb config (internal)" + self.initialize_kafka_relation() + self.initialize_mongo_config() + self.initialize_prometheus_relation() + # Verifying status + self.assertNotIsInstance(self.harness.charm.unit.status, BlockedStatus) + def test_with_relations_internal( self, ) -> NoReturn: @@ -86,6 +99,18 @@ class TestCharm(unittest.TestCase): # Verifying status self.assertNotIsInstance(self.harness.charm.unit.status, BlockedStatus) + def test_with_relations_and_mongodb_config_with_keystone_missing( + self, + ) -> NoReturn: + "Test with relations and mongodb config (keystone)" + self.harness.update_config({"auth_backend": "keystone"}) + self.initialize_kafka_relation() + self.initialize_mongo_config() + self.initialize_prometheus_relation() + # Verifying status + self.assertIsInstance(self.harness.charm.unit.status, BlockedStatus) + self.assertTrue("keystone" in self.harness.charm.unit.status.message) + def test_with_relations_keystone_missing( self, ) -> NoReturn: @@ -98,6 +123,18 @@ class TestCharm(unittest.TestCase): self.assertIsInstance(self.harness.charm.unit.status, BlockedStatus) self.assertTrue("keystone" in self.harness.charm.unit.status.message) + def test_with_relations_and_mongodb_config_with_keystone( + self, + ) -> NoReturn: + "Test with relations (keystone)" + self.harness.update_config({"auth_backend": "keystone"}) + self.initialize_kafka_relation() + self.initialize_mongo_config() + self.initialize_prometheus_relation() + self.initialize_keystone_relation() + # Verifying status + self.assertNotIsInstance(self.harness.charm.unit.status, BlockedStatus) + def test_with_relations_keystone( self, ) -> NoReturn: @@ -110,13 +147,24 @@ class TestCharm(unittest.TestCase): # Verifying status self.assertNotIsInstance(self.harness.charm.unit.status, BlockedStatus) + def test_mongodb_exception_relation_and_config( + self, + ) -> NoReturn: + self.initialize_mongo_config() + self.initialize_mongo_relation() + # Verifying status + self.assertIsInstance(self.harness.charm.unit.status, BlockedStatus) + def initialize_kafka_relation(self): kafka_relation_id = self.harness.add_relation("kafka", "kafka") self.harness.add_relation_unit(kafka_relation_id, "kafka/0") self.harness.update_relation_data( - kafka_relation_id, "kafka/0", {"host": "kafka", "port": 9092} + kafka_relation_id, "kafka", {"host": "kafka", "port": 9092} ) + def initialize_mongo_config(self): + self.harness.update_config({"mongodb_uri": "mongodb://mongo:27017"}) + def initialize_mongo_relation(self): mongodb_relation_id = self.harness.add_relation("mongodb", "mongodb") self.harness.add_relation_unit(mongodb_relation_id, "mongodb/0")