Remove dependancy on charmhelpers

Change-Id: I24249121e53752f714f577eb954c3da1a4dd4923
This commit is contained in:
Liam Young 2022-11-03 12:55:35 +00:00
parent 004e885760
commit b222d31a61
4 changed files with 10 additions and 11 deletions

View File

@ -31,9 +31,6 @@ if TYPE_CHECKING:
import ops.model import ops.model
import jinja2 import jinja2
from charmhelpers.contrib.openstack.templating import (
get_loader,
)
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -66,7 +63,7 @@ def sidecar_config_render(
original_contents = container.pull(config.path).read() original_contents = container.pull(config.path).read()
except (ops.pebble.PathError, FileNotFoundError): except (ops.pebble.PathError, FileNotFoundError):
original_contents = None original_contents = None
loader = get_loader(template_dir, openstack_release) loader = jinja2.FileSystemLoader(template_dir)
_tmpl_env = jinja2.Environment(loader=loader) _tmpl_env = jinja2.Environment(loader=loader)
try: try:
template = _tmpl_env.get_template( template = _tmpl_env.get_template(

View File

@ -1,4 +1,3 @@
charmhelpers
jinja2 jinja2
jsonschema jsonschema
kubernetes kubernetes

View File

@ -22,7 +22,6 @@ from setuptools import setup, find_packages
version = "0.0.1.dev1" version = "0.0.1.dev1"
install_require = [ install_require = [
'charmhelpers',
'ops', 'ops',
] ]

View File

@ -34,19 +34,20 @@ import ops_sunbeam.test_utils as test_utils
class TestTemplating(test_utils.CharmTestCase): class TestTemplating(test_utils.CharmTestCase):
"""Tests for ops_sunbeam.templating..""" """Tests for ops_sunbeam.templating.."""
PATCHES = ["get_loader"] PATCHES = []
def setUp(self) -> None: def setUp(self) -> None:
"""Charm test class setup.""" """Charm test class setup."""
super().setUp(sunbeam_templating, self.PATCHES) super().setUp(sunbeam_templating, self.PATCHES)
def test_render(self) -> None: @mock.patch("jinja2.FileSystemLoader")
def test_render(self, fs_loader: "jinja2.FileSystemLoader") -> None:
"""Check rendering templates.""" """Check rendering templates."""
container_mock = mock.MagicMock() container_mock = mock.MagicMock()
config = sunbeam_core.ContainerConfigFile( config = sunbeam_core.ContainerConfigFile(
"/tmp/testfile.txt", "myuser", "mygrp" "/tmp/testfile.txt", "myuser", "mygrp"
) )
self.get_loader.return_value = jinja2.DictLoader( fs_loader.return_value = jinja2.DictLoader(
{"testfile.txt": "debug = {{ debug }}"} {"testfile.txt": "debug = {{ debug }}"}
) )
sunbeam_templating.sidecar_config_render( sunbeam_templating.sidecar_config_render(
@ -60,7 +61,10 @@ class TestTemplating(test_utils.CharmTestCase):
permissions=None, permissions=None,
) )
def test_render_no_change(self) -> None: @mock.patch("jinja2.FileSystemLoader")
def test_render_no_change(
self, fs_loader: "jinja2.FileSystemLoader"
) -> None:
"""Check rendering template with no content change.""" """Check rendering template with no content change."""
container_mock = mock.MagicMock() container_mock = mock.MagicMock()
container_mock.pull.return_value = TextIOWrapper( container_mock.pull.return_value = TextIOWrapper(
@ -69,7 +73,7 @@ class TestTemplating(test_utils.CharmTestCase):
config = sunbeam_core.ContainerConfigFile( config = sunbeam_core.ContainerConfigFile(
"/tmp/testfile.txt", "myuser", "mygrp" "/tmp/testfile.txt", "myuser", "mygrp"
) )
self.get_loader.return_value = jinja2.DictLoader( fs_loader.return_value = jinja2.DictLoader(
{"testfile.txt": "debug = {{ debug }}"} {"testfile.txt": "debug = {{ debug }}"}
) )
sunbeam_templating.sidecar_config_render( sunbeam_templating.sidecar_config_render(