File: test_action_clusterrouting.py

package info (click to toggle)
elasticsearch-curator 8.0.21-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 2,716 kB
  • sloc: python: 17,838; makefile: 159; sh: 156
file content (76 lines) | stat: -rw-r--r-- 2,388 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
"""test_action_clusterrouting"""
from unittest import TestCase
from unittest.mock import Mock
from curator.actions import ClusterRouting
# Get test variables and constants from a single source
from . import testvars

class TestActionAllocation(TestCase):
    def test_bad_client(self):
        self.assertRaises(TypeError, ClusterRouting, 'invalid', setting='enable')
    def test_bad_setting(self):
        client = Mock()
        self.assertRaises(
            ValueError, ClusterRouting, client, setting='invalid'
        )
    def test_bad_routing_type(self):
        client = Mock()
        self.assertRaises(
            ValueError,
            ClusterRouting,
            client,
            routing_type='invalid',
            setting='enable'
        )
    def test_bad_value_with_allocation(self):
        client = Mock()
        self.assertRaises(
            ValueError,
            ClusterRouting,
            client,
            routing_type='allocation',
            setting='enable',
            value='invalid'
        )
    def test_bad_value_with_rebalance(self):
        client = Mock()
        self.assertRaises(
            ValueError,
            ClusterRouting,
            client,
            routing_type='rebalance',
            setting='enable',
            value='invalid'
        )
    def test_do_dry_run(self):
        client = Mock()
        cro = ClusterRouting(
            client,
            routing_type='allocation',
            setting='enable',
            value='all'
        )
        self.assertIsNone(cro.do_dry_run())
    def test_do_action_raise_on_put_settings(self):
        client = Mock()
        client.cluster.put_settings.return_value = None
        client.cluster.put_settings.side_effect = testvars.fake_fail
        cro = ClusterRouting(
            client,
            routing_type='allocation',
            setting='enable',
            value='all'
        )
        self.assertRaises(Exception, cro.do_action)
    def test_do_action_wait(self):
        client = Mock()
        client.cluster.put_settings.return_value = None
        client.cluster.health.return_value = {'relocating_shards':0}
        cro = ClusterRouting(
            client,
            routing_type='allocation',
            setting='enable',
            value='all',
            wait_for_completion=True
        )
        self.assertIsNone(cro.do_action())