Coverage for tests/unit/test_cls_ilm.py: 100%

0 statements  

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

1"""Test functions in es_testbed.defaults""" 

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

3# import pytest 

4# from es_testbed.defaults import TESTPLAN 

5 

6 

7# @pytest.fixture 

8# def ilm(): 

9# yield IlmBuilder() 

10 

11# @pytest.fixture 

12# def hot(): 

13# return {'actions': { 

14# 'rollover': {'max_age': '1d', 'max_primary_shard_size': '1gb'}}} 

15 

16# @pytest.fixture 

17# def cold(): 

18# return {'actions': { 

19# 'searchable_snapshot': {'snapshot_repository': 'repo'}}, 'min_age': '3d'} 

20 

21# @pytest.fixture 

22# def delete(): 

23# return {'actions': {'delete': {}}, 'min_age': '5d'} 

24 

25# @pytest.fixture 

26# def phases(): 

27# def _phases(**kwargs): 

28# retval = {'phases':{}} 

29# for key in ['hot', 'warm', 'cold', 'frozen', 'delete']: 

30# if key in kwargs and kwargs[key] is not None: 

31# retval['phases'][key] = kwargs[key] 

32# if 'fm' in kwargs and kwargs['fm'] is True: 

33# mns = kwargs['mns'] if 'mns' in kwargs else 1 

34# retval['phases']['hot']['actions']['forcemerge'] = {'max_num_segments': mns} 

35# return retval 

36# return _phases 

37 

38# def test_cls_ilm_defaults(ilm): 

39# for key in ['tiers', 'forcemerge', 'max_num_segments', 'repository']: 

40# assert getattr(ilm, key) == TESTPLAN['ilm'][key] 

41 

42# def test_cls_ilm_defaults_policy(ilm, hot, delete, phases): 

43# # assert ilm.policy == {'phases': {'hot': hot, 'delete': delete}} 

44# assert ilm.policy == phases(hot=hot, delete=delete) 

45 

46# def test_cls_ilm_forcemerge(ilm, hot, delete, phases): 

47# ilm.forcemerge = True 

48# # assert ilm.policy == {'phases': {'hot': forcemerge(mns=1), 'delete': delete}} 

49# assert ilm.policy == phases(hot=hot, delete=delete, fm=True) 

50 

51# def test_cls_ilm_mns(ilm, hot, delete, phases): 

52# val = 2 

53# ilm.forcemerge = True 

54# ilm.max_num_segments = val 

55# assert ilm.policy == phases(hot=hot, delete=delete, fm=True, mns=2) 

56 

57# def test_cls_ilm_cold(ilm, hot, cold): 

58# expected = {'phases': {'hot': hot, 'cold': cold}} 

59# ilm.tiers = ['hot', 'cold'] 

60# ilm.repository = 'repo' 

61# assert ilm.policy['phases'].keys() == expected['phases'].keys()