Completed
Pull Request — master (#543)
by
unknown
10:49
created

TestBgpRedistribute   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 38
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
B test_action() 0 33 1
1
"""Generated test for checking pynos based actions
2
"""
3
import xml.etree.ElementTree as ET
4
from st2tests.base import BaseActionTestCase
5
from bgp_redistribute import bgp_redistribute
6
7
__all__ = [
8
    'TestBgpRedistribute'
9
]
10
11
12
class MockCallback(object):  # pylint:disable=too-few-public-methods
13
    """Class to hold mock callback and result
14
    """
15
    returned_data = None
16
17
    def callback(self, call, **kwargs):  # pylint:disable=unused-argument
18
        """Mock callback method
19
        """
20
        xml_result = ET.tostring(call)
21
        self.returned_data = xml_result
22
23
24
class TestBgpRedistribute(BaseActionTestCase):
25
    """Test holder class
26
    """
27
    action_cls = bgp_redistribute
28
29
    def test_action(self):
30
        """Generated test to check action
31
        """
32
        action = self.get_action_instance()
33
        mock_callback = MockCallback()
34
        kwargs = {
35
            'username': '',
36
            'rbridge_id': '224',
37
            'get': False,
38
            'ip': '',
39
            'source': 'connected',
40
            'vrf': 'test',
41
            'password': '',
42
            'port': '22',
43
            'afi': 'ipv4',
44
            'test': True,
45
            'callback': mock_callback.callback
46
        }
47
48
        action.run(**kwargs)
49
50
        expected_xml = (
51
            '<config><rbridge-id xmlns="urn:brocade.com:mgmt:brocade-rbridge">'
52
            '<rbridge-id>224</rbridge-id><router><bgp xmlns="urn:brocade.com:m'
53
            'gmt:brocade-bgp"><vrf-name>test</vrf-name><router-bgp-cmds-holder'
54
            '><address-family><ipv4><ipv4-unicast><af-ipv4-uc-and-vrf-cmds-cal'
55
            'l-point-holder><redistribute><connected><redistribute-connected /'
56
            '></connected></redistribute></af-ipv4-uc-and-vrf-cmds-call-point-'
57
            'holder></ipv4-unicast></ipv4></address-family></router-bgp-cmds-h'
58
            'older></bgp></router></rbridge-id></config>'
59
        )
60
61
        self.assertTrue(expected_xml, mock_callback.returned_data)
62