Completed
Pull Request — master (#448)
by
unknown
02:05
created

MSSQLActionTestCase   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 148
Duplicated Lines 0 %
Metric Value
wmc 11
dl 0
loc 148
rs 10

11 Methods

Rating   Name   Duplication   Size   Complexity  
A test_connect_config() 0 17 1
A test_connect_override() 0 20 1
A test_connect_unlisted_database() 0 9 1
A test_connect_manual() 0 9 1
A test_connect_missing_database() 0 10 1
A test_connect_config_database() 0 18 1
A test_connect_none() 0 4 1
A test_connect_manual_database() 0 16 1
A test_connect_missing_server() 0 10 1
A test_connect_missing_password() 0 10 1
A test_connect_missing_user() 0 10 1
1
from st2tests.base import BaseActionTestCase
2
3
from lib.mssql_action import MSSQLAction
4
5
6
# noinspection PyProtectedMemberInspection
7
class MSSQLActionTestCase(BaseActionTestCase):
8
    action_cls = MSSQLAction
9
10
    def test_connect_none(self):
11
        action = self.get_action_instance()
12
        setattr(action, 'config', {})
13
        self.assertRaises(Exception, action._connect_params)
14
15
    def test_connect_config(self):
16
        action = self.get_action_instance()
17
        setattr(action, 'config', {
18
            'database': 'another-db',
19
            'some-db': {
20
                'server': 'aserver1',
21
                'user': 'auser',
22
                'password': 'apass'
23
            },
24
            'another-db': {
25
                'server': 'bserver1',
26
                'user': 'buser',
27
                'password': 'bpass'
28
            }
29
        })
30
        expected = {'database': 'another-db', 'server': 'bserver1', 'user': 'buser', 'password': 'bpass'}
31
        self.assertEqual(expected, action._connect_params())
32
33
    def test_connect_config_database(self):
34
        action = self.get_action_instance()
35
        setattr(action, 'config', {
36
            'database': 'another-db',
37
            'some-db': {
38
                'server': 'aserver1',
39
                'user': 'auser',
40
                'password': 'apass'
41
            },
42
            'another-db': {
43
                'database': 'another-name',
44
                'server': 'bserver1',
45
                'user': 'buser',
46
                'password': 'bpass'
47
            }
48
        })
49
        expected = {'database': 'another-name', 'server': 'bserver1', 'user': 'buser', 'password': 'bpass'}
50
        self.assertEqual(expected, action._connect_params())
51
52
    def test_connect_manual(self):
53
        action = self.get_action_instance()
54
        setattr(action, 'config', {})
55
        expected = {'database': 'manual-db', 'server': 'mserver1', 'user': 'muser', 'password': 'mpass'}
56
        self.assertEqual(expected, action._connect_params(
57
            database='manual-db',
58
            server='mserver1',
59
            user='muser',
60
            password='mpass'
61
        ))
62
63
    def test_connect_manual_database(self):
64
        action = self.get_action_instance()
65
        setattr(action, 'config', {
66
            'some-db': {
67
                'server': 'aserver1',
68
                'user': 'auser',
69
                'password': 'apass'
70
            },
71
            'another-db': {
72
                'server': 'bserver1',
73
                'user': 'buser',
74
                'password': 'bpass'
75
            }
76
        })
77
        expected = {'database': 'some-db', 'server': 'aserver1', 'user': 'auser', 'password': 'apass'}
78
        self.assertEqual(expected, action._connect_params(database='some-db'))
79
80
    def test_connect_override(self):
81
        action = self.get_action_instance()
82
        setattr(action, 'config', {
83
            'database': 'another-db',
84
            'some-db': {
85
                'server': 'aserver1',
86
                'user': 'auser',
87
                'password': 'apass'
88
            },
89
            'another-db': {
90
                'server': 'bserver1',
91
                'user': 'buser',
92
                'password': 'bpass'
93
            }
94
        })
95
        expected = {'database': 'some-db', 'server': 'mserver1', 'user': 'muser', 'password': 'bpass'}
96
        self.assertEqual(expected, action._connect_params(
97
            database='some-db',
98
            server='mserver1',
99
            user='muser',
100
        ))
101
102
    def test_connect_unlisted_database(self):
103
        action = self.get_action_instance()
104
        setattr(action, 'config', {
105
            'database': 'unknown-db',
106
            'some-db': {
107
                'server': 'aserver1'
108
            }
109
        })
110
        self.assertRaises(Exception, action._connect_params)
111
112
    def test_connect_missing_database(self):
113
        action = self.get_action_instance()
114
        setattr(action, 'config', {
115
            'some-db': {
116
                'server': 'aserver1',
117
                'user': 'auser',
118
                'password': 'apass'
119
            }
120
        })
121
        self.assertRaises(Exception, action._connect_params)
122
123
    def test_connect_missing_server(self):
124
        action = self.get_action_instance()
125
        setattr(action, 'config', {
126
            'database': 'some-db',
127
            'some-db': {
128
                'user': 'auser',
129
                'password': 'apass'
130
            }
131
        })
132
        self.assertRaises(Exception, action._connect_params)
133
134
    def test_connect_missing_user(self):
135
        action = self.get_action_instance()
136
        setattr(action, 'config', {
137
            'database': 'some-db',
138
            'some-db': {
139
                'server': 'aserver1',
140
                'password': 'apass'
141
            }
142
        })
143
        self.assertRaises(Exception, action._connect_params)
144
145
    def test_connect_missing_password(self):
146
        action = self.get_action_instance()
147
        setattr(action, 'config', {
148
            'database': 'some-db',
149
            'some-db': {
150
                'server': 'aserver1',
151
                'user': 'auser'
152
            }
153
        })
154
        self.assertRaises(Exception, action._connect_params)
155