Coverage for /Users/buh/.pyenv/versions/3.12.2/envs/es-testbed/lib/python3.12/site-packages/es_testbed/classes/entitymgrs/componentmgr.py: 95%
32 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-25 19:21 -0600
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-25 19:21 -0600
1"""Component Template Entity Manager Class"""
2import typing as t
3from dotmap import DotMap
4from elasticsearch8 import Elasticsearch
5from es_testbed.exceptions import ResultNotExpected
6from es_testbed.helpers import es_api
7from es_testbed.helpers.utils import getlogger, mapping_component, setting_component
8from .entitymgr import EntityMgr
10# pylint: disable=missing-docstring,too-many-arguments
12class ComponentMgr(EntityMgr):
13 kind = 'component'
14 listname = 'component_templates'
15 def __init__(
16 self,
17 client: Elasticsearch = None,
18 plan: DotMap = None,
19 autobuild: t.Optional[bool] = True,
20 ):
21 super().__init__(client=client, plan=plan, autobuild=autobuild)
22 self.logger = getlogger('es_testbed.ComponentMgr')
24 @property
25 def components(self):
26 retval = []
27 kw = {'ilm_policy': self.plan.ilm_policies[-1], 'rollover_alias': self.plan.rollover_alias}
28 retval.append(setting_component(**kw))
29 retval.append(mapping_component())
30 return retval
32 @property
33 def logdisplay(self) -> str:
34 return 'component template'
36 def setup(self):
37 for component in self.components:
38 es_api.put_comp_tmpl(self.client, self.name, component)
39 if not es_api.exists(self.client, self.kind, self.name): 39 ↛ 40line 39 didn't jump to line 40, because the condition on line 39 was never true
40 raise ResultNotExpected(
41 f'Unable to verify creation of component template {self.name}')
42 self.appender(self.name)
43 self.logger.info('Created component template: "%s"', self.last)
44 self.logger.info('Successfully created all component templates.')
45 self.success = True