Coverage for tests/unit/test_cls_ilm.py: 100%
0 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-25 19:21 -0600
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-25 19:21 -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
7# @pytest.fixture
8# def ilm():
9# yield IlmBuilder()
11# @pytest.fixture
12# def hot():
13# return {'actions': {
14# 'rollover': {'max_age': '1d', 'max_primary_shard_size': '1gb'}}}
16# @pytest.fixture
17# def cold():
18# return {'actions': {
19# 'searchable_snapshot': {'snapshot_repository': 'repo'}}, 'min_age': '3d'}
21# @pytest.fixture
22# def delete():
23# return {'actions': {'delete': {}}, 'min_age': '5d'}
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
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]
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)
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)
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)
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()