Coverage for tests/integration/test_basic_data_streams.py: 100%

33 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2024-04-24 22:41 -0600

1"""Test functions in es_testbed.TestBed""" 

2# pylint: disable=redefined-outer-name,missing-function-docstring,missing-class-docstring 

3import pytest 

4from es_testbed import PlanBuilder, TestBed 

5from es_testbed.defaults import NAMEMAPPER 

6from es_testbed.helpers.es_api import get_ds_current 

7 

8@pytest.fixture(scope='module') 

9def settings(prefix, uniq): 

10 return { 

11 'type': 'data_stream', 

12 'prefix': prefix, 

13 'rollover_alias': False, 

14 'uniq': uniq, 

15 'ilm': {}, # use defaults 

16 } 

17 

18class TestBasicDataStreams: 

19 @pytest.fixture(scope="class") 

20 def tb(self, client, settings): 

21 theplan = PlanBuilder(settings=settings).plan 

22 teebee = TestBed(client, plan=theplan) 

23 teebee.setup() 

24 yield teebee 

25 teebee.teardown() 

26 

27 def test_entity_count(self, tb): 

28 assert len(tb.tracker.entities.entity_list) == 1 

29 

30 def test_name(self, tb, prefix, uniq): 

31 value = f'{prefix}-{NAMEMAPPER['data_stream']}-{uniq}' 

32 assert tb.tracker.entities.last == value 

33 

34 def test_write_index(self, tb, prefix, uniq): 

35 ds = f'{prefix}-{NAMEMAPPER['data_stream']}-{uniq}' 

36 assert tb.tracker.entities.indexlist[-1] == get_ds_current(tb.client, ds) 

37 

38 def test_index_template(self, tb, prefix, uniq): 

39 components = [] 

40 components.append(f'{prefix}-{NAMEMAPPER['component']}-{uniq}-000001') 

41 components.append(f'{prefix}-{NAMEMAPPER['component']}-{uniq}-000002') 

42 assert tb.tracker.components.entity_list == components 

43 template = f'{prefix}-{NAMEMAPPER['template']}-{uniq}-000001' 

44 assert tb.tracker.templates.last == template 

45 result = tb.client.indices.get_index_template(name=template)['index_templates'] 

46 assert len(result) == 1 

47 assert result[0]['index_template']['composed_of'] == components