Coverage for src/es_testbed/classes/entities/data_stream.py: 96%

20 statements  

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

1"""Index Entity Class""" 

2import typing as t 

3from elasticsearch8 import Elasticsearch 

4from es_testbed.helpers import es_api 

5from es_testbed.helpers.utils import getlogger 

6from . import Alias 

7 

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

9 

10class DataStream(Alias): 

11 def __init__( 

12 self, 

13 client: Elasticsearch = None, 

14 name: str = None, 

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

16 ): 

17 super().__init__(client=client, name=name, autobuild=autobuild) 

18 self.logger = getlogger('es_testbed.Data_Stream') 

19 self.index_tracker = [] 

20 self.alias = None 

21 

22 @property 

23 def backing_indices(self): 

24 return es_api.get_backing_indices(self.client, self.name) 

25 

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

27 retval = False 

28 if self.backing_indices == index_list: 28 ↛ 31line 28 didn't jump to line 31, because the condition on line 28 was never false

29 self.logger.debug('Confirm match of data_stream "%s" backing indices', self.name) 

30 retval = True 

31 return retval