Coverage for /Users/buh/.pyenv/versions/3.12.2/envs/es-testbed/lib/python3.12/site-packages/es_testbed/classes/entitymgrs/componentmgr.py: 86%

33 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-04-27 20:59 -0600

1"""Component Template Entity Manager Class""" 

2 

3import typing as t 

4from es_testbed.exceptions import ResultNotExpected 

5from es_testbed.helpers import es_api 

6from es_testbed.helpers.utils import getlogger, mapping_component, setting_component 

7from .entitymgr import EntityMgr 

8 

9if t.TYPE_CHECKING: 9 ↛ 10line 9 didn't jump to line 10, because the condition on line 9 was never true

10 from elasticsearch8 import Elasticsearch 

11 from dotmap import DotMap 

12 

13# pylint: disable=missing-docstring,too-many-arguments 

14 

15 

16class ComponentMgr(EntityMgr): 

17 kind = 'component' 

18 listname = 'component_templates' 

19 

20 def __init__( 

21 self, 

22 client: t.Union['Elasticsearch', None] = None, 

23 plan: t.Union['DotMap', None] = None, 

24 autobuild: t.Optional[bool] = True, 

25 ): 

26 super().__init__(client=client, plan=plan, autobuild=autobuild) 

27 self.logger = getlogger('es_testbed.ComponentMgr') 

28 

29 @property 

30 def components(self) -> t.Sequence[t.Dict]: 

31 """Return a list of component template dictionaries""" 

32 retval = [] 

33 kw = { 

34 'ilm_policy': self.plan.ilm_policies[-1], 

35 'rollover_alias': self.plan.rollover_alias, 

36 } 

37 retval.append(setting_component(**kw)) 

38 retval.append(mapping_component()) 

39 return retval 

40 

41 @property 

42 def logdisplay(self) -> str: 

43 """Return a human readable representation of what is managed""" 

44 return 'component template' 

45 

46 def setup(self) -> None: 

47 """Setup the entity manager""" 

48 for component in self.components: 

49 es_api.put_comp_tmpl(self.client, self.name, component) 

50 if not es_api.exists(self.client, self.kind, self.name): 50 ↛ 51line 50 didn't jump to line 51, because the condition on line 50 was never true

51 raise ResultNotExpected( 

52 f'Unable to verify creation of component template {self.name}' 

53 ) 

54 self.appender(self.name) 

55 self.logger.info('Created component template: "%s"', self.last) 

56 self.logger.info('Successfully created all component templates.') 

57 self.success = True