Coverage for src/es_testbed/classes/entitymgrs/componentmgr.py: 92%

29 statements  

« prev     ^ index     » next       coverage.py v7.5.0, created at 2024-04-23 13:14 -0600

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

2import typing as t 

3from elasticsearch8 import Elasticsearch 

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 

8from ..testplan import TestPlan 

9 

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

11 

12class ComponentMgr(EntityMgr): 

13 def __init__( 

14 self, 

15 client: Elasticsearch = None, 

16 plan: TestPlan = None, 

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

18 ilm_policy: t.Dict[str, t.Any] = None, 

19 rollover_alias: str = None, 

20 ): 

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

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

23 self.kind = 'component' 

24 self.components = [] 

25 self.components.append( 

26 setting_component( 

27 ilm_policy=ilm_policy, rollover_alias=rollover_alias) 

28 ) 

29 self.components.append(mapping_component()) 

30 if self.autobuild: 30 ↛ exitline 30 didn't return from function '__init__', because the condition on line 30 was never false

31 self.setup() 

32 

33 @property 

34 def logdisplay(self) -> str: 

35 return 'component template' 

36 

37 def setup(self): 

38 for component in self.components: 

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

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

41 raise ResultNotExpected( 

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

43 self.entity_list.append(self.name) 

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

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

46 self.success = True