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-24 22:41 -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 

9 

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

11 

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') 

23 

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 

31 

32 @property 

33 def logdisplay(self) -> str: 

34 return 'component template' 

35 

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