Coverage for /Users/buh/.pyenv/versions/3.12.9/envs/es-testbed/lib/python3.12/site-packages/es_testbed/entities/data_stream.py: 100%

28 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-04-17 22:23 -0600

1"""data_stream Entity Class""" 

2 

3# pylint: disable=C0115,C0116,R0902,R0904,R0913,R0917 

4import typing as t 

5import logging 

6from ..debug import debug, begin_end 

7from ..es_api import get_backing_indices 

8from .alias import Alias 

9 

10if t.TYPE_CHECKING: 

11 from elasticsearch8 import Elasticsearch 

12 

13logger = logging.getLogger(__name__) 

14 

15 

16class DataStream(Alias): 

17 """data_stream Entity Class""" 

18 

19 def __init__( 

20 self, 

21 client: 'Elasticsearch', 

22 name: t.Union[str, None] = None, 

23 ): 

24 debug.lv2('Initializing DataStream entity object...') 

25 super().__init__(client=client, name=name) 

26 self.index_tracker = [] 

27 self.alias = None 

28 debug.lv3('DataStream entity object initialized') 

29 

30 @property 

31 @begin_end() 

32 def backing_indices(self): 

33 """Return the list of backing indices for the data_stream""" 

34 retval = get_backing_indices(self.client, self.name) 

35 debug.lv5(f'Return value = {retval}') 

36 return retval 

37 

38 @begin_end() 

39 def verify(self, index_list: t.Sequence[str]) -> bool: 

40 """Verify that the backing indices match ``index_list``""" 

41 retval = False 

42 if self.backing_indices == index_list: 

43 debug.lv3(f'Confirm match of data_stream "{self.name}" backing indices') 

44 retval = True 

45 debug.lv5(f'Return value = {retval}') 

46 return retval