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

32 statements  

« prev     ^ index     » next       coverage.py v7.5.0, created at 2024-04-23 15:01 -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 TestPlan, 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_streams', 

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 teebee = TestBed(client, plan=TestPlan(settings=settings)) 

22 teebee.setup() 

23 yield teebee 

24 teebee.teardown() 

25 

26 def test_entity_count(self, tb): 

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

28 

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

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

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

32 

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

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

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

36 

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

38 components = [] 

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

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

41 assert tb.tracker.components.entity_list == components 

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

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

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

45 assert len(result) == 1 

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