From 1061a106e2d16a1f7655716246ae7b3f87bf9794 Mon Sep 17 00:00:00 2001 From: Patricia Reinoso Date: Tue, 27 Aug 2024 10:53:08 +0000 Subject: [PATCH 1/2] fix sdcore_config tests --- tests/interface/conftest.py | 50 +++++++++++++++++++++++++++++++++++++ tox.ini | 3 ++- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 tests/interface/conftest.py diff --git a/tests/interface/conftest.py b/tests/interface/conftest.py new file mode 100644 index 0000000..4ac5dbf --- /dev/null +++ b/tests/interface/conftest.py @@ -0,0 +1,50 @@ +import tempfile + +import pytest +import scenario +from interface_tester import InterfaceTester +from ops.pebble import Layer, ServiceStatus + +from charm import NRFOperatorCharm + + +@pytest.fixture +def interface_tester(interface_tester: InterfaceTester): + with tempfile.TemporaryDirectory() as tempdir: + certificates_relation = scenario.Relation( + endpoint="certificates", + interface="tls-certificates", + ) + database_relation = scenario.Relation( + endpoint="database", + interface="mongodb_client", + ) + config_mount = scenario.Mount( + location="/etc/nrf/", + src=tempdir, + ) + certs_mount = scenario.Mount( + location="/support/TLS/", + src=tempdir, + ) + container = scenario.Container( + name="nrf", + can_connect=True, + layers={"nrf": Layer({"services": {"nrf": {}}})}, + service_status={ + "nrf": ServiceStatus.ACTIVE, + }, + mounts={ + "config": config_mount, + "certs": certs_mount, + }, + ) + interface_tester.configure( + charm_type=NRFOperatorCharm, + state_template=scenario.State( + leader=True, + relations=[certificates_relation, database_relation], + containers=[container], + ), + ) + yield interface_tester diff --git a/tox.ini b/tox.ini index 2834ebd..c2b5a79 100644 --- a/tox.ini +++ b/tox.ini @@ -8,10 +8,11 @@ envlist = lint, static, unit [vars] src_path = {toxinidir}/src/ +interface_test_path = {toxinidir}/tests/interface/ unit_test_path = {toxinidir}/tests/unit/ integration_test_path = {toxinidir}/tests/integration/ lib_path = {toxinidir}/lib/charms/sdcore_nrf_k8s/v0/ -all_path = {[vars]src_path} {[vars]unit_test_path} {[vars]integration_test_path} {[vars]lib_path} +all_path = {[vars]src_path} {[vars]unit_test_path} {[vars]integration_test_path} {[vars]lib_path} {[vars]interface_test_path} [testenv] setenv = From 754e97d19d67868480ad3fc7af00ce505cd764bf Mon Sep 17 00:00:00 2001 From: Patricia Reinoso Date: Tue, 27 Aug 2024 14:13:30 +0200 Subject: [PATCH 2/2] simplify fixture --- tests/interface/conftest.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tests/interface/conftest.py b/tests/interface/conftest.py index 4ac5dbf..1118a91 100644 --- a/tests/interface/conftest.py +++ b/tests/interface/conftest.py @@ -11,14 +11,6 @@ @pytest.fixture def interface_tester(interface_tester: InterfaceTester): with tempfile.TemporaryDirectory() as tempdir: - certificates_relation = scenario.Relation( - endpoint="certificates", - interface="tls-certificates", - ) - database_relation = scenario.Relation( - endpoint="database", - interface="mongodb_client", - ) config_mount = scenario.Mount( location="/etc/nrf/", src=tempdir, @@ -43,7 +35,6 @@ def interface_tester(interface_tester: InterfaceTester): charm_type=NRFOperatorCharm, state_template=scenario.State( leader=True, - relations=[certificates_relation, database_relation], containers=[container], ), )